第二节 雅可比方法
雅可比方法是用来计算实对称矩阵A的全部特征值及其相应特征向量的一种变换方法.在介绍雅可比方法之前,先介绍方法中需要用到的线性代数知识与平面上的旋转变换.
一 预备知识
T?1?AA?I即A?A?
则称A为单位正交阵.
(2) 设A是n阶实对称矩阵,则A的特征值都是实数,并且有互相正交的n个特征向量.
(1) 如果n阶方阵A满足
(3) 相似矩阵具有相同的特征值.
(4) 设A是n阶实对称矩阵,P为n阶正交阵,则B(5) n阶正交矩阵的乘积是正交矩阵.
(6) 设A是n阶实对称矩阵,则必有正交矩阵P,使
?PTAP也是对称矩阵.
??1????2???PTAP?????????n? (1)
?其中?的对角线元素的是A的n个特征值,正交阵P的第i列是A的对应于特征值i的特征
向量.
由(6)可知,对于任意的n阶实对称矩阵A,只要能求得一个正交阵(标准正交矩阵)P,使PAP??(?为对角阵),则可得到A的全部特征值及其相应的特征向量,这就是雅可比方
法的理论基础.
T二 旋转变换
设
a12??aA??11?aa?2122?
a?a21.因为实对称矩阵与二次型是一一对应的,设A对应的二次型为
为二阶实对称矩阵,即122f?x1,x2??a11x12?2a12x1x2?a22x2 (2)
f?x1,x2??C表示在x1,x2平面上的一条二次曲线.如果将坐标轴
由解析几何知识知道,方程
Ox1,Ox2旋转一个角度?,使得旋转后的坐标轴Oy1,Oy2与该二次曲线的主轴重合,如图4-1
所示,
则在新的坐标系中,二次曲线的方程就化成
22?y??y22?C (3) 11这个变换就是
?x1??cos??sin???y1??x???sin?cos???y??2????2? (4)
变换(4)把坐标轴进行旋转,所以称为旋转变换.其中
?cos??sin??P???sin?cos??? (5)
T称为平面旋转矩阵。显然有PP?I,所以P是正交矩阵.上面的变换过程即
??1?TPAP???2???.由于
22acos??asin??a12sin2?0.5?a22?a11?sin2??a12cos2???1122TPAP???22??0.5a?asin2??acos2?asin??acos??asin2???221112112212所以只要选择?满足
1?a22?a11?sin2??a12cos2??0 2
即
tan2??
2a12a11?a22 (6)
a?a22时,可选取(当114) PTAP就成对角阵,这时A的特征值为 22??acos??asin??a12sin2? 1122 1?2?a11sin2??a22cos2??a12sin2?
相应的特征向量为
????cos??v1??,??sin??
三 雅可比方法
??sin??v2???cos???
雅可比方法的基本思想是通过一系列的由平面旋转矩阵构成的正交变换将实对称矩阵逐步化为对角阵,从而得到A的全部特征值及其相应的特征向量.首先引进R中的平面旋转变换.变换
n?xi?yicos??yisin???xj?yisin??yicos??x?yk?i,j?kk (7)
记为
x?Pijy,其中
?1????????icos???sin?????????jsin??cos???1???????Pij??1??? (8)
i j
Tx??x1,x2,...,xn?
y??y1,y2,...,yn?T
则称
x?Pijy为Rn中xi,xj平面内的一个平面旋转变换,Pij称为xi,xj平面内的平面旋转矩
Pij具有如下简单性质:
Pij阵.容易证明①②
为正交矩阵.
Pij的主对角线元素中除第i个与第j个元素为cos?外,其它元素均为1;非对角线元素
jj中除第i行第列元素为?sin?,第行第i列元素为sin?外,其它元素均为零.
Tjj③PA只改变A的第i行与第行元素,AP只改变A的第i列与第列元素,所以PTAP只改变A的第i行、第j行、第i列、第j列元素.
设
A??aij?n?n?n?3?为n阶实对称矩阵,aij?aji?0为一对非对角线元素.令
?1??n?nA1?PTAP??aij 则
A1为实对称矩阵,且A1与A有相同的特征值.通过直接计算知
?aii(1)?aiicos2??ajjsin2??aijsin2??(1)22?ajj?aiisin??ajjcos??aijsin2??1(1)(1)?a?a?(ajj?aii)sin2??aijcos2??ijji2??a(1)?a(1)?acos??asin?k?i,jikkiikjk??ajk(1)?ajk(1)??ajksin??ajkcos?k?i,j?(1)?k,l?i,j?akl?akl (9)
当取?满足关系式
tan2?? 时,
?1?1?aij?a?ji?02aijaii?ajj (10)
,且
?1?2?1?22??aik???ajk??aik?a2jkk?i,j???1?2?1?2222????a?a?a?a?2a?iijjiijjij??1?22??a?ak,l?i,j?klkl? (11)
由于在正交相似变换下,矩阵元素的平方和不变,所以若用D平方和,用S?A?表示A的非对角线元素平方和,则由(11)式得
2D(A)?D(A)?2a?1ij??2S(A)?S(A)?2a?1ij??A?表示矩阵A的对角线元素
(12)
这说明用
Pij对A作正交相似变换化为A1后,A1的对角线元素平方和比A的对角线元素平方
?1?aij?0222aij2aAij和增加了,1的非对角线元素平方和比A的非对角线元素平方和减少了,且将事先选
定的非对角线元素消去了(即
).因此,只要我们逐次地用这种变换,就可以使得矩阵A的非对角线元素平方和趋于零,也即使得矩阵A逐步化为对角阵.
这里需要说明一点:并不是对矩阵A的每一对非对角线非零元素进行一次这样的变换就能得到对角阵.因为在用变换消去如果
aij的时候,只有第i行、第
j行、第i列、第j列元素在变化,
aik或Pkj为零,经变换后又往往不是零了.
雅可比方法就是逐步对矩阵A进行正交相似变换,消去非对角线上的非零元素,直到将A的非对角线元素化为接近于零为止,从而求得A的全部特征值,把逐次的正交相似变换矩阵乘起
来,便是所要求的特征向量.
雅可比方法的计算步骤归纳如下:
第一步 在矩阵A的非对角线元素中选取一个非零元素 对角线元素;
aij.一般说来,取绝对值最大的非
tan2??第二步 由公式
2aijaii?ajj求出?,从而得平面旋转矩阵
P?PIJ; 1TA?P1的元素由公式(9)计算. 1AP1,A第三步 1第四步 以1代替A,重复第一、二、三步求出2及
的非对角线元素全化为充分小(即小于允许误差)时为止.
第五步
AAP2,继续重复这一过程,直到AmAm的对角线元素为A的全部特征值的近似值,P?P1P2...Pm的第j列为对应于
特征值?j(?j为Am的对角线上第j个元素)的特征向量.
例1 用雅可比方法求矩阵
?2?10??A???12?1??12??0???
的特征值与特征向量.
解 首先取
i?1,j?2???,由于a11?a22?2,故取
4,所以 ?12?120?P?P?12120?112??????001??? ??10?12??03?12?AT???1?P1AP1=???12?122?? 再取
i?1,j?3由 2????1?tan2???2??得 1?2?2 sin??0.45969,cos??0.88808
所以
?0.888080?0.45969?P??010?2??0.4596900.88808????
?0.63398?0.325050??0AT?.325053?0.627972?P2AP2=??0?0.627972.36603继续做下去,直到非对角线元素趋于零,进行九次变换后,得
?????
A9的对角线元素就是A的特征值,即
相应的特征向量为
?0.587580.000000.00000?A9??0.000002.000000.00000?????0.000000.000003.41421??
?1?0.58758,?2?2.00000,?3?3.41421
?0.50000??0.70710??0.50000?v1??0.70710?,v2??0.00000?,v3???0.70710?.??????????0.50000????0.70710???0.50000??
相应的特征值的精确值 相应的特征向量为
?1?2?2,?2?2,?3?2?2 ?12??1???v1??12?,v2??0?12??1????122????,v3???1?122?????2???
由此可见,雅可比方法变换九次的结果已经相当精确了.
,特别是求得的特征向量正交性很好,所以雅可比方
法是求实对称矩阵的全部特征值及其对应特征向量的一个较好的方法.但由于上面介绍的雅可比方法,每次迭代都选取绝对值最大的非对角线元素作为消去对象,花费很多机器时间.另外当矩阵是稀疏矩阵时,进行正交相似变换后并不能保证其稀疏的性质,所以对阶数较高的矩阵不宜采用这种方法.
目前常采用一种过关雅可比方法.这种方法是选取一个单调减小而趋于零的数列
?a?(即
nan?0a1?a2?...,且limn??)作为限值,这些限值称为”关” ,对矩阵的非对角线元素规定一个
顺序(例如先行后列、自左至右的顺序).首先对限值素,碰到绝对值小于
a1按规定的顺序逐个检查矩阵的非对角线元
a1的元素就跳过去,
否则就作变换将其化为零.重复上述过程,直到所有的非
a1为止.再取a2,a3,...类似处理,直到所有的非对角线元素的绝对值
A?A0的非对角线元素平方和
对角元素的绝对值都小于都小于
am时,迭代停止.这时的am应小于给定的误差限?.
S?A0?,任取N?n,取
实际运算中常用如下的办法取限值:对于矩阵A,计算
S?Ak?1?ak?N
?k?1,2,??
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库雅可比方法在线全文阅读。
相关推荐: