一 算法原理
-
对称矩阵特征值算法
雅可比方法用于求解实对称矩阵的特征值和特征向量,对于实对称矩阵AAA,必有正交矩阵UUU,使得UTAU=DU^{T}AU=DUTAU=D.DDD是一个对角阵,主对角线的元素是矩阵AAA的特征值,正交矩阵UUU的每一列对应于属于矩阵DDD的主对角线对应元素的特征向量.
雅可比方法用平面旋转对矩阵AAA做相似变换,化AAA为对角阵,从而求解出特征值和特征向量.旋转矩阵UpqU_p{_q}Upq,是一个单位阵在第ppp行,第ppp列,第qqq行,第qqq列,元素为cosφcos\varphicosφ,第ppp行第qqq列为−sinφ-sin\varphi−sinφ,第qqq行第ppp列为sinφsin\varphisinφ.对于这样的平面旋转矩阵,不难验证其是一种正交矩阵.因此对于向量xxx,UpqxU_p{_q}xUpqx等同于把第ppp个坐标轴和第qqq个坐标轴共同所确定的平面旋转了φ\varphiφ度.记矩阵A1=UpqTAUpqA_1=U_p{_q}^{T}AU_p{_q}A1=UpqTAUpq.因为旋转矩阵是正交阵,因此实际上矩阵A1A_1A1与矩阵AAA是相似的,因此其特征值是相同的.
设矩阵A1A_1A1第iii行,第jjj列的元素为bijb_i{_j}bij,矩阵AAA的第iii行,第jjj列的元素为aija_i{_j}aij(i=0,1,2,...,n−1,j=0,1,2,...,n−1i=0,1,2,...,n-1,j=0,1,2,...,n-1i=0,1,2,...,n−1,j=0,1,2,...,n−1).式(1-1-1)给出了两矩阵元素之间的运算关系.
{ bpp=appcos2φ+aqqsin2φ+2apqcosφsinφbqq=appsin2φ+aqqcos2φ−2apqcosφsinφbpq=bqp=12(aqq−app)sin2φ+apqcos2φbpi=apicosφ+aqisinφ,(i≠p,q)bqi=−apisinφ+aqicosφ,(i≠p,q)bjp=ajpcosφ+ajqsinφ,(j≠p,q)bjq=−ajqsinφ+ajqcosφ,(j≠p,q)bij=bji=aij,i≠p,q;j≠p,q(1-1-1) \begin{cases} b_p{_p}=a_p{_p}cos^2\varphi+a_q{_q}sin^2\varphi+2a_p{_q}cos\varphi{sin\varphi}\\ b_q{_q}=a_p{_p}sin^2\varphi+a_q{_q}cos^2\varphi-2a_p{_q}cos\varphi{sin\varphi}\\ b_p{_q}=b_q{_p}=\frac{1}2(a_q{_q}-a_p{_p})sin2\varphi+a_p{_q}cos2\varphi\\ b_p{_i}=a_p{_i}cos\varphi+a_q{_i}sin\varphi,(i\ne{p},q)\\ b_q{_i}=-a_p{_i}sin\varphi+a_q{_i}cos\varphi,(i\ne{p},q)\\ b_j{_p}=a_j{_p}cos\varphi+a_j{_q}sin\varphi,(j\ne{p},q)\\ b_j{_q}=-a_j{_q}sin\varphi+a_j{_q}cos\varphi,(j\ne{p},q)\\ b_i{_j}=b_j{_i}=a_i{_j},i{\ne}p,q;j{\ne}p,q \end{cases} \tag{1-1-1} ⎩⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎧bpp=appcos2φ+aqqsin2φ+2apqcosφsinφbqq=appsin2φ+aqqcos2φ−2apqcosφsinφbp

本文介绍了雅可比方法如何通过旋转对实对称矩阵进行特征值和特征向量计算,以及针对对称正定矩阵的逆矩阵求解方法,包括变量循环重新标号法的应用。实例展示了C语言的代码实现及其运行结果。
最低0.47元/天 解锁文章
2万+





