本文最后更新于:2022年7月27日 凌晨
矩阵特征值与特征向量的计算
3.1 幂法与反幂法
3.1.1 幂法
主要用于计算矩阵的按模为最大的特征值和对应的特征向量
假设对于n×n实矩阵A有n个线性无瓜的特征向量x1,x2,⋯,xn其对应的特征值为λ1,λ2,⋯λn,并且有以下关系∣λ1∣>∣λ2∣≥⋯∣λn∣,xi为λi对应的特征向量
于是对于任意非零向量u0=α1x1+⋯+αnxn出发,(α不全为零,特征向量线性无关构成基)
有如下递推公式
uk=Auk−1=Aku0=α1Akx1+⋯+αnAkxn=α1λ1kx1+⋯+αnλnkxn≈α1λ1kx1(n→+∞)
此迭代法即为幂法
-
计算特征向量
当然实际中,为了避免迭代过程中uk的模数过大,每次迭代需要对向量uk归一化,即令其∥⋅∥2或∥⋅∥∞ 为1,于是实际中的迭代公式如下:
yk−1=∥uk−1∥uk−1uk=Ayk−1
当(n→+∞),λ>0时,yk→∥α1x1∥α1x1,若λ1<0,yk各个分量的模有极限,即运行足够多次数时,yk−1即可近似作为λ1的特征向量
-
计算最大的特征值
下面以上述使用2范数∥⋅∥2为例
令k→+∞limβk=yk−1Tuk=∥α1x1∥2α1x1A∥α1x1∥2α1x1T=∥α1x1∥22α12x1Tx1λ1=λ1
当迭代过程中βk的相对误差足够小时,即可近似看做特征值
3.1.2 反幂法
若对于n×n实非奇异矩阵A,A有n个线性无瓜的特征向量x1,x2,⋯,xn其对应的特征值为λ1,λ2,⋯λn,并且有以下关系∣λ1∣≥∣λ2∣≥⋯≥∣λn−1∣>∣λn∣,
求得其最小的特征值与对应特征向量即为反幂法
因为矩阵非奇异,Axi=λixi⇒A−1xi=λi1xi
此时最小的特征值即成为了最大的特征值,使用对矩阵的逆矩阵使用幂法即可求得 模的倒数最大的特征值和对应的特征向量。也即求得该非奇异矩阵的最小的特征值
3.2 Jacobi方法
用于求实对称矩阵的全部特征值和特征向量
根据线性代数的知识可知对于任一一个实对称矩阵均可相似对角化,
于是对于实对称矩阵A,存在正交矩阵U,对角矩阵D使得,UTAU=D, 而对角阵D的元素λj是矩阵A的特征值,且U的第j列即是对应λj的特征向量.
Jacobi方法就是用平面旋转矩阵对矩阵A做正交相似变换,化为对角矩阵,求得特征向量
现有如下正交矩阵Upq,令A1=UpqTAUpq, 可仅仅改变矩阵A的p行p列,q行q列而不改变特征值,并在一定的旋转角度下使得两对角元素apq=aqp=0,cot2ϕ=2apqapp−aqq
Upq=⎣⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎡1⋯⋯⋱⋯⋯1⋯⋯⋮⋮⋮cosφ⋮⋮⋮sinφ⋮⋮⋮⋯1⋯⋯⋱⋯⋯1⋯−sinφ⋮⋮⋮cosφ⋮⋮⋮⋯⋯1⋯⋯⋱⋯⋯1⎦⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎤,upp=cosφ=uqq
于是有迭代步骤如下:
- 找到矩阵非主对角元素中按模最大的元素apq
- 计算旋转角度ϕ,使用对应旋转角度旋转矩阵A
- 计算旋转后的矩阵A1
- 重复如上步骤,在若i<jmax∣aij(l)∣<ϵ, 停止计算,所求特征值近似为Al
评价
有定理可知此方法一定是收敛的,即k→+∞limηk=i,j=1,i=j∑n(aij(k))2=0 (但不证明)
收敛速度较快,数值稳定性较好,但是不能有效利用矩阵形状:稀疏矩阵,带状矩阵
可以发现并基本不会使得全部非对角元素全为零,但是每次迭代可以不断降低其他元素的影响,达到一定的精度
3.3 QR方法
重要一点,另出一篇来写
参考
[1] 颜庆津.数值分析[M].北京:北京航空航天大学出版社,2012.
[2] Timothy Sauer 数值分析[M]. 北京:机械工业出版社,2014.