第5章 矩阵特征值与特征向量的计算设A为n阶矩阵,数 和非零向量x满足: Ax= x (5.1)
则称 为A的特征值,x为A的属于 的特征向量。方程(5.1)可改写为: Ax- x=0, 或 (A- I)x=0 因此,n阶方阵A的特征值是特征方程 det(A- I)=0 (5.2) 的n个根: 1, 2,… n .A的属于 i的特征向量是如下 齐次线性方程组的解 (A- iI)x=0 (5.3)
显然对较大的n,通过解方程(5.2)和(5.3)求A的特征值是
不实际的,因此需要采用数值方法。注意:若x是A的特征向量,则y=cx,c 0,仍为特征向量。
这是因为:圆盘定理n
Ay=A(cx)=cAx=c x= (cx)= y设矩阵A=(aij)n n ,记复平面上以aii为圆心,
| a ij | 为半径的n个圆盘为 以 ri= j 1 j i Ri= aii ri ,i=1,2,…,n
则
(1)A的任一特征值至少位于其中一个圆盘内;
(2)在m个圆盘相互连通(而与其余n-m个圆盘互不连通)
的区域内,恰有A的m个特征值(重特征值按重数记).
例1 设矩阵 4 1 0 A 1 0 1 1 1 4
试讨论A的特征值的分布. 解 由A确定的3个圆盘分别为
R1= -4 1 , R2= 2 , R3= +4 2 y 所以,当特征值为实数时,3 1 5 -2< 2 2 -6 3<-2-6 -4 -2 0 2 3 4 5
x
实际上, 1=4.20308 , 2=-0.442931 , 3=-3.76010
适当选取非奇异对角矩阵D=diag(d1,d2,…,dn),则矩
阵D-1AD与矩阵A有相同的特征值,且对角元素相同. 而矩阵D-1AD对应的n个圆盘为 n a d ij j Ri | a ii j 1 di j i , i 1,2, , n
如上例,取D=diag(2,1,1),则有1 | 4 R1 2
R2 | 3 R3 | 4 3
可见,R1 是孤立的,所以可得3.5 1 4.5 .
§1 乘幂法和反幂法§1.1 乘幂法
乘幂法是用来求矩阵A按模最大的特征值和相应的特征向量的数值方法. 设A是单构矩阵, 即A有n个线性无关的特征向量.
设A的n个特征值为| 1 > 2 n 相应的特征向量为 x1, x2, … xn, 线性无关, Axi= ixi . 我们要求 1 和 x1 .
乘幂法的基本思想是取初始向量v(0) 0,作迭代v(k+1) =Av(k), 产生迭代序列 v(k) . 显然有: v(k+1) =Av(k)= A2v(k-1)=…=Ak+1v(0) 由于 x1, x2,…, xn 线性无关, 从而 k=0,1,2,…
v(0) =a1x1+a2x2+…+anxn利用 Axi= ixi 可知 Akxi= ikxi。 故有 v(k) = Akv(0)= Ak (a1x1+a2x2+…+anxn ) =a1Akx1+a2Akx2+…+anAkxn =a1 1kx1+a2 2kx2+…+an nkxn (5.4)
(5.4)式可写成 n k k 2 k v( k ) 1 [a1x1 a2 ( ) x a ( 2 n 1 ) x n ] 1
由于| i/ 1|<1,i=2,…,n,则对充分大的k有
v从而有
(k )
a1 x 1 , vk 1( k 1) i
( k 1)
a1 x 1 1 vk 1 1
(k )
1 v
或取
/v
(k ) i
i 1,2, , n( k 1) 2 (k ) 2
1 v 1 ( n v
( k 1) 1 (k ) 1
v v
v v
( k 1) n (k ) n
)
而特征向量 x1 v(k),因为 v( k 1) Av( k ) 1v( k ) 乘幂法的收敛速度取决于| 2/ 1|的大小.
例2
求矩阵A的按模最大的特征值
A 1 5解 k0 1 2 3 4
1 4
1 6 1 5
取v(0)=(1,0)T ,计算v(k)=Av(k-1), 结果如下 v1(k)1 0.25 0.10250 0.042292 0.017451
v2(k)0 0.2 0.083333 0.034389 0.014190
v1(k)/v1(k-1)
v2(k)/v2(k-1)
0.41 0.41260 0.41263
0.41665 0.41267 0.41263
可取 0.41263 ,x1 (0.017451,0.014190)T .
上述乘幂法不是实用的数值方法,现引进规范化乘幂法。 对非零向量v,用max(v)表示v的按绝对值最大的分量, 称向量u=v/max(v)为向量v的规范化向量. 例如, 设向量
v=(2,1,-5,-1)T,则 max(v)=-5,u=-1/5*v=(-2/5,-1/5,1,1/5)T. 可见规范化向量u总满足‖u‖ =1. 规范化乘幂法的计算公式为:任取初始向量u(0) 0,计算
v Au max( v ( k ) ) k u ( k ) v ( k ) / , k 1,2,3, k (k ) ( k 1)
由于
u(1)
Au( 0)
1
,u( 2 )
Au(1)
2
A 2 u( 0 )
1 2
, ,
u
(k )
Au
( k 1)
k
Au , k 1,2, 1 2 ... k) 利用上式得( 0) k ( 0) k
k
( 0)
由于 k max(Au
( k 1)
Au max(A u ) k max( ) 1 2 ... k 1 1 2 ... k 1再代入上式得到
u
(k )
Au , k 1,2, k ( 0) max(A u )k 1 1 k 2 2 k n n
k
( 0)
将 u(0) =a1x1+a2x2+…+anxn 代入得
u
(k )
a x1 a x 2 a x n k k max(a1 1 x1 a2 k x a 2 2 n nxn )
u( k )
i k a1x1 ai ( ) xi 1i 2
n
i k max(a1x1 ai ( ) xi ) 1i 2
n
lim uk
(k )
a1x1 x1 max(a1x1 ) max(x1 )
即对充分大的k, u(k)是特征向量x1的近似。由于
k max(Au所以
( k 1)
x1 1 x1 ) max(A ) max( ) 1 max(x1 ) max(x1 )
lim k 1k
因此,对充分大的 k,可取: u(k) x1 , k 1.速度由比值| 2/ 1|来确定,其值越小收敛越快.
收敛
用乘幂法解例2,仍取u(0)=(1,0)T,则有 k k u1(k) u2(k) 0 1 0.25 2 0.41 3 4 0.412602 0.412627
10
10.8
10.813008
1
1
0.813136 0.813138
故可取 1 0.412627, x1 (1,0.813138)T.例3 设 4 14 0 A 5 13 0 1 0 2
用乘幂法求A的按模最大的特征值和相应特征向量. 解 取初值u(0)=(1,1,1)T,计算得
k 0 1 2 3 … 10 11 12
k 10 7.2 6.5 … 6.003352 6.001675 6.000837
u(k) (1,1,1)T (1,0.8,0.1)T (1,0.75,-0.111)T (1,0.730769,-0.188034)T ………………….. (1,0.714405,-0.249579)T (1,0.714346,-0.249790)T (1,0.714316,-0.249895)T
可取 1 6.000837, x1 (1,0.714316,-0.249895)T.
实际上,A的3个特征值分别为 1=6, 2=3, 3=2.
设 1= 2= = r,
且 | 1 > r+1 n ,这时,(5.4)式 可写成k k v ( k ) 1 [a1 x1 a 2 x 2 a r x r a r 1 ( ) k x r 1 a n ( ) xn ] r 1 1 n 1
若a1,a2,…,ar不全为零, 则对充分大的k有k v ( k ) 1 [a1 x 1 a 2 x 2 a r x r ]
由于a1x1+a2x2+…+arxr 是对应 1的特征向量, 若仍记为x1 , 则有: v(k) 1kx1 ,故前面的结论仍然成立. 设 1=- 2,且 | 1 =| 2|> 3 n ,这时,(5.4)式 可写成v(k )
[a1 x1 ( 1) a 2 x 2 a ( ) x 3 a ( ) x n ]k 1 k
3 k r 1 1
n k n 1
则对充分大的k有
k v ( k ) 1 [a1 x 1 ( 1) k a 2 x 2 ]
v(k+1) 1k+1(a1x1-(-1)ka2x2) , v(k+2) 1k+2(a1x1+(-1)ka2x2) 于是有
1 vi( k 2 ) / vi( k )
, i 1,2, , n
x1 v(k+1)+ 1v(k) , x2 v(k+1)- 1v(k) 对于规范化的幂法,由于 v(k+1)=Au(k), u(k+1)=v(k+1)/ k+1, 则 u(k+2)=v(k+2)/ k+2=Au(k+1)/ k+2 =Av(k+1)/ k+1 k+2=A2u(k)/ k+1 k+2 于是有
1 k 1 k 2
, 2 1
x1 k+1u(k+1)+ 1 ku(k) , x2 k+1u(k+1)- 1 ku(k) 例4 用乘幂法求矩阵 4 1 1 A 16 2 2 16 3 1
的按模最大特征值和相应的特征向量。 解 取初始向量u(0)=(1,1,2)T ,计算可得