Jacobi方法求解特征值、特征向量
1. Givens变换
Jacobi 方法是用来计算实对称矩阵的全部特征值和特征向量的一种方法, 它的基本思想是: 因为任何一个实对称矩阵都与一个对角矩阵相似, 所以通过正交相似变换把实对称矩阵化为对角矩阵, 对角矩阵的对角线上的元素即为所求特征值. 由线性代数的知识 得, 若 A ∈ R n × n \mathbf{A} {\in} {\mathbf{R}}^{n {\times} n} A∈Rn×n 为对称矩阵, 则存在一个正交矩阵 P \mathbf{P} P , 使得
P A P − 1 = diag ( λ 1 , λ 2 , ⋯ , λ n ) = D \mathbf{PA}{\mathbf{P}}^{
{-}1} = \operatorname{diag}\left( {\lambda}_{1},{\lambda}_{2},{\cdots},{\lambda}_{n} \right) = \mathbf{D} PAP−1=diag(λ1,λ2,⋯,λn)=D
λ 1 , λ 2 , ⋯ , λ n {\lambda}_{1},{\lambda}_{2},{\cdots},{\lambda}_{n} λ1,λ2,⋯,λn 即为矩阵 A \mathbf{A} A 的特征值, P T {\mathbf{P}}^{\mathrm{T}} PT 的 n n n 个列向量 v 1 , v 2 , ⋯ , v n v_{1},v_{2},{\cdots},v_{n} v1,v2,⋯,vn 即为所对应的特征向量
P = [ 1 ⋱ cos θ sin θ 1 ⋱ 1 − sin θ cos θ 1 ⋱ 1 ] ≡ P ( i , j ) \mathbf{P} = \begin{bmatrix} 1 & & & & & & & \\ & {\ddots} & & & & & & \\ & & \cos\theta & & & & \sin\theta & \\ & & & 1 & & & & \\ & & & & {\ddots} & & & \\ & & & & & 1 & & \\ & & {-} \sin\theta & & & & \cos\theta & \\ & & & & & & & 1 \\ & & & & & & & & {\ddots} \\ & & & & & & & & & 1 \end{bmatrix} {\equiv} \mathbf{P}(i, j) P=
1⋱cosθ−sinθ1⋱1sinθcosθ1⋱1
≡P(i,j)
称 P \mathbf{P} P 为平面旋转矩阵, P A PA PA 只改变 A A A 的第 i i i 行与第 j j j 行的元素; A P T AP^{\mathrm{T}} APT 只改变 A A A 的第 i i i 列与第 j j j 列的元素; P A P T PAP^{T} PAPT 只改变 A A A 的第 i i i 行和第 j j j 行, 第 i i