我正在尝试 arpack 驱动程序dsdrv1,它用于从特征值问题中迭代地获取前 m 个特征向量。
由于它是一个迭代过程,一个好的初始猜测将减少收敛所需的迭代次数。最好的初始猜测之一可能是正确的特征向量(例如,从之前的运行中获得)。
使用 arpack 的 dsdrv1 驱动程序,您可以通过传递给 dsaupd 的 NxN残差数组提供初始猜测,如果您只计算一个特征向量,这很好。但是,我正在计算我的特征向量。
即假设我有 m 个从 dsdrv1 的先前运行中获得的正确特征向量。我将如何利用这些向量来最小化对 dsdrv1 的新调用中的迭代次数。
我尝试通过将最低收敛特征向量分配给残差数组并将 info 设置为 1 来将最低收敛特征向量反馈回过程。如果我只计算第一个特征向量,则只需要几次迭代。但是当我计算更多时,初始猜测比随机初始向量差。我还尝试将所有特征向量的平均值作为初始猜测,但也没有运气。
简而言之,如果我有来自成功 dsdrv1 计算的所有数据,我可以使用它来最小化第二次 dsdrv1 运行中应用于相同特征值问题的迭代次数吗?