复矩阵的 QR 算法参考

计算科学 特征值 矩阵分解 复数
2021-12-25 23:10:56

我试图找出已知的 QR 算法是否可以找到实矩阵的特征值,可以在《矩阵计算基础》一书中找到,也可以用于复杂矩阵并且仍然在中运行?O(n3)

另外,如果是的话,有人知道它的任何参考吗?

1个回答

如果你有幸拥有一个复,则\mathbf A 的特征分解可以使用与实对称情况基本相同的算法机制来计算:初始/前端传递以减少到三对角形式通过 Householder 反射,然后在上进行移位 QR 迭代。值得注意的是,复厄米特可以正交化简为实对称三对角这使得可以广泛重用最里面的移位 QR 例程。AATTAT

不幸的是,对于实数非对称或复数非厄米特来说,情况就不那么乐观了。实际上,您可能甚至不需要这里的特征分解,而是 Schur 分解。它也显示特征值,但可以更稳定/准确,因为它只使用正交变换。并且 Schur 向量通常与特征向量一样有用,具体取决于应用程序。AA

在实数非对称情况下,使用 Householder 前端可以做的最好的事情是简化为 Hessenberg 形式,然后在其上执行移位的 QR 迭代。转移策略很混乱。在对称情况下,秩 2 移位是稳健的,因为特征值只能是纯实数或共轭对......但这在非对称情况下并不成立。您必须使用更高等级的移位(“multishifted QR”)。幸运的是,这些算法困难不会危及整体复杂性,它仍然是O(n3)

我认为复数非厄米特的情况更糟,因为我不相信 Householder 前端可以使用酉变换将一般复数矩阵简化为实海森堡形式(尽管我承认我不确定这一点)。我希望内部移位的 QR 迭代非常混乱(主要是由于移位策略的复杂性——对于这种输入,特征值可能在任何地方)。我相信这仍然是O(n3)

的特征分解的一个很好的切入点是 LAPACK 的 ZGEEV 例程 - 请注意它是一个相当深的洞。A