更改

建立内容为“在数值线性代数中,雅可比旋转是n维内积空间中二维线性子空间的一种旋转变换,记作Qkℓ。当它作为相似变换应用时,可…”的新页面
在数值线性代数中,雅可比旋转是n维内积空间中二维线性子空间的一种旋转变换,记作Qkℓ。当它作为相似变换应用时,可以将n×n实对称矩阵A的一对对称的非对角元素化为零:

<math>A\mapsto Q_{k\ell }^{T}AQ_{k\ell }=A'.</math>

<math>{\begin{bmatrix}{*}&&&\cdots &&&*\\&\ddots &&&&&\\&&a_{kk}&\cdots &a_{k\ell }&&\\\vdots &&\vdots &\ddots &\vdots &&\vdots \\&&a_{\ell k}&\cdots &a_{\ell \ell }&&\\&&&&&\ddots &\\{*}&&&\cdots &&&*\end{bmatrix}}\to {\begin{bmatrix}{*}&&&\cdots &&&*\\&\ddots &&&&&\\&&a'_{kk}&\cdots &0&&\\\vdots &&\vdots &\ddots &\vdots &&\vdots \\&&0&\cdots &a'_{\ell \ell }&&\\&&&&&\ddots &\\{*}&&&\cdots &&&*\end{bmatrix}}.</math>

这是雅可比特征值算法的核心操作,该算法具有数值稳定性,并且特别适合在并行处理器上实现[需要引用]。

这种变换只会影响矩阵A的第k行、第ℓ行以及第k列、第ℓ列,且变换后的矩阵A′仍保持对称性。在实际应用中,很少直接计算Qkℓ的矩阵形式;相反,我们会计算辅助值并以高效且数值稳定的方式更新A。不过作为参考,我们可以将旋转矩阵写作:

<math>Q_{k\ell }={\begin{bmatrix}1&&&&&&\\&\ddots &&&&0&\\&&c&\cdots &s&&\\&&\vdots &\ddots &\vdots &&\\&&-s&\cdots &c&&\\&0&&&&\ddots &\\&&&&&&1\end{bmatrix}}.</math>

这里,Qkℓ是一个单位矩阵,只有四个元素不同:对角线上两个元素(qkk和qℓℓ,都等于c)和对角线外对称位置的两个元素(qkℓ和qℓk,分别等于s和−s),其中c = cos θ,s = sin θ,θ是某个角度。这个矩阵形式与Givens旋转相同,但雅可比旋转选择的角度不同(大致是Givens旋转角度的一半),因为旋转要同时应用于矩阵的两侧。实际应用中不需要计算具体的角度值。使用克罗内克delta记号,矩阵元素可以写作:

<math>q_{ij}=\delta _{ij}+(\delta _{ik}\delta _{jk}+\delta _{i\ell }\delta _{j\ell })(c-1)+(\delta _{ik}\delta _{j\ell }-\delta _{i\ell }\delta _{jk})s.</math>

假设h是一个不同于k或ℓ的指标(k和ℓ本身必须不同),那么相似变换在代数上产生以下结果:

<math>a'_{hk}=a'_{kh}=ca_{hk}-sa_{h\ell}</math>
<math>a'_{h\ell }=a'_{\ell h}=ca_{h\ell }+sa_{hk}</math>
<math>a'_{k\ell }=a'_{\ell k}=(c^{2}-s^{2})a_{k\ell }+sc(a_{kk}-a_{\ell \ell })=0</math>
<math>a'_{kk}=c^{2}a_{kk}+s^{2}a_{\ell \ell }-2sca_{k\ell}</math>
<math>a'_{\ell \ell }=s^{2}a_{kk}+c^{2}a_{\ell \ell }+2sca_{k\ell}.</math>
2,994

个编辑