你的直觉是对的,求解给定的类似于特征值问题,除了你已经知道特征值及其对应的特征向量。您还知道其余特征值的模数小于 1,因为是左随机矩阵,因此如果您对查找其余特征值/特征向量感兴趣,幂法似乎会起作用。您建议“去除”最大特征值以使幂方法收敛到第二主要特征向量的想法称为通货紧缩Λx=xxΛλ1=1x1=1nΛλ1=1x2,如果您想使用幂方法找到其余的特征向量,这将是必要的。有一些很简单的方法可以加速幂法,你应该搜索上移逆迭代,以及它的改进瑞利商迭代。
和具有相同的模数),则幂(移位逆,瑞利商)方法可能不起作用。为了克服这个问题,您可以使用subspace iteration,这基本上是幂方法,除了您将随机初始向量替换为矩阵(其列是线性独立的),以便您一次收敛到多个特征向量。最流行的子空间迭代版本利用 QR 分解进行归一化,通常称为QR 算法。QR 算法的优点是可以设置得到λ2λ3xΛ. 幂法中的许多想法(例如,使用移位、使用通缩)可以扩展到 QR 算法以加速收敛。您还可以做其他事情来使 QR 算法更快(例如,使用 Householder 变换将矩阵减少为上 Hessenberg 矩阵,或者如果您的矩阵稀疏或您对并行性感兴趣,则使用 Given 的旋转)。Λ
TLDR;如果你想要所有的特征值,你可能应该使用 QR 算法。如果您只想要几个最大(或最小或中间)的特征值,您可以使用瑞利商迭代 + 通缩。如果您的矩阵庞大且稀疏,这可能是有利的,在这种情况下,您不需要计算昂贵的 QR 分解。
请注意,所有这些方法都属于“子空间迭代”的范畴(它们的收敛证明与幂方法基本相同)。您可以方便地查找我在这里提到的大部分内容。此外,这些方法非常易于理解和实施,这就是我推荐这些方法的原因。现在普遍使用更复杂的特征值算法,但它们中的许多都依赖于相同的原理。