雅可比旋转
在数值线性代数中,雅可比旋转是 n 维内积空间的二维线性子空间的旋转 Qkℓ,在用做相似变换的时候,被选择来置零 n×n 实数对称矩阵 A 的非对角元素的对称对:
它是雅可比特征值算法的核心运算,它是数值上稳定的并适合用并行计算实现。
注意到只有 A 的行 k 和 ℓ 与列 k 和 ℓ 受到影响,并且 A′ 将保持对称。还有给 Qkℓ 的明显的矩阵很少被计算,转而计算辅助值,A 也有效率和数值上稳定的方式更新。但是,为了引用,我们写矩阵为
就是说,除了四个元素之外,Qkℓ 是一个单位矩阵,两个在对角线上(qkk 和 qℓℓ 都等于 c) 而两个位于远离对角的位置上(qkℓ 和 Qℓk 分别等于 s 和 −s)。这里的 c = cos ϑ 而 s = sin ϑ 对于某个角度 ϑ;但是对于应用这种旋转,这个角度自身是不需要的。使用克罗内克δ符号,矩阵元素可以写为
假设 h 是不为 k 或 ℓ 的索引(它们自身必须是不同的)。类似的更改过程在代数上写为
数值稳定计算
要确定需要更改的数量,我们必须解远离对角的元素为零的方程(Golub & Van Loan 1996,§8.4) 。这蕴涵了
设 β 是这个数量的一半,
如果 akℓ 是零,我们可以停止而不需要进行更改,因此我们永不除以零。设 t 是 tan ϑ。则通过一些三角恒等式我们简约这个方程为
为了稳定性我们选择解
以此我们可以获得 c 和 s 为
尽管我们可以使用前面给出的代数更改等式,重写它们会更好。设
所以 ρ = tan(ϑ/2)。则修订后的修改方程为
如前面提及的,我们永不需要明确的计算旋转角度 ϑ。事实上,我们可以通过只保留三个值 k, ℓ 和 t 来重新生成由 Qkℓ 确定的对称更改,带有 t 对零旋转设置为零。
参见
引用
- Golub, Gene H. & Charles F. Van Loan (1996), Matrix Computations (3rd ed.), Baltimore: Johns Hopkins University Press, ISBN 978-0-8018-5414-9 (页面存档备份,存于互联网档案馆)