在动态矩阵上具有厚重启的 Lanczos 算法

计算科学 线性代数 算法 数值分析 特征值
2021-12-06 12:38:32

根据建议,这是对那个的重新发布

目前,我正在研究一种方法来计算一个实数、对称、巨大和稀疏矩阵的 2 个最大特征值,该矩阵不时更改一些条目。该问题应该使用一种算法来解决,该算法不会在每次发生更改时都从头开始计算解决方案。

我的文献: 论文 1 论文 2

但首先 - 静态情况:

使用 Lanczos 算法,可以很好地逼近所需的特征值。

动态案例:

我阅读了带有重启方案的 Lanczos 算法,并选择了厚重启方案,因为它似乎最适用。而且我知道“重启”一词并不意味着我使用这种方法的方式。但我希望,在重新启动期间,允许矩阵更改,并且仍然可以使用重新启动之前的近似特征值(和任何其他计算)。

但正如我的实验表明的那样,到目前为止,矩阵的修改对结果的影响与没有影响一样好。被计算的特征值仍然收敛到原始矩阵的特征值——与静态情况相比只有边际差异。

我想问题是如果我只是更改矩阵,krylov 子空间(为原始矩阵计算)并没有真正改变。但我认为它会自行调整,因为只需要近似的特征值才能重新启动,并且近似的特征值会适当地收敛。

我的问题是:您认为可以修改该方法以满足我的需要吗?还是您认为整个“不从头开始计算”的故事毫无意义,我应该重新开始 Lanczos 算法?

非常感谢!

1个回答

在这种情况下,“重新启动”并不意味着您将在矩阵上计算的 Krylov 空间用于附近的矩阵这意味着您在同一矩阵上再次启动该方法,并为 Krylov 子空间使用不同的起始向量ABb

我不是这方面的专家,但我建议您搜索“回收 Krylov 子空间”和“不精确的 Arnoldi 方法”。