关于复杂 QR 分解的实现

计算科学 本征系统
2021-12-22 12:28:09

我有一个关于 QR 分解的数学定理,它依赖于可逆平方复矩阵的 QR 分解,它总是构造一个具有实对角线条目的三角矩阵。

虽然至少在 Octave 中这似乎是正确的,但我想知道这在实践中是否可以依赖。我正在寻找一种不会产生这种三角因子的实现。

PS:实际上有问题的定理是双移位 QR 迭代的正确性,如 http://people.inf.ethz.ch/arbenz/ewp/Lnotes/chapter3.pdf的第 3.5 节所述。该演示文稿似乎依赖于 QR 算法的特定实现。

1个回答

如LAPACK 的 zlarfg中所见,Householder 反射器的轻微概括可用于定义一系列酉变换。特别是,j'th 变换将矩阵下面的部分归零j'th 对角线条目,并且还确保j'第对角线条目变为真实的。未阻塞算法zgeqr2和阻塞算法zgeqrf使用了这种方法。

另一方面,假设您有一个算法提供A=QR, 在哪里R是三角形的,但具有复杂的对角线条目。然后定义对角矩阵Ω从单位圆绘制对角线条目,使得ΩR有真正的对角线条目,这意味着分解A=(QΩ¯)(ΩR)是具有所需属性的 QR 分解。