第 7章 矩阵的特征值和特征向量
很多工程计算中,会遇到特征值和特征向量的计算,如:机械、结构或电磁振
动中的固有值问题;物理学中的各种临界值等。这些特征值的计算往往意义重大。
特征值,0)d e t ()( ??? AIP
A ??
的根 为矩阵 A的特征值
特征向量:满足 Avv
i ??
的向量 v为矩阵 A的对于特征值 的特征向量
?
i?
)(?AP 称为矩阵 A的特征多项式
是高次的多项式,它的求根是很困难的。没有数值方法是通过求它的根)(?
AP
来求矩阵的特征值。通常对某个特征值,可以用些针对性的方法来求其近似值。若要
求所有的特征值,则可以对 A做一系列的相似变换,“收敛”到对角阵或上(下)三角阵,
从而求得所有特征值的近似。
7.1 幂法
矩阵的按模最大特征值往往表现为阈值。如:矩阵的谱半径。幂法就是一种
求矩阵按模最大特征值的方法,它是最经典的方法。
幂法要求 A有完备的特征向量系。即 A有 n个线性无关的特征向量。 在实
践中,常遇到的实对称矩阵和特征值互不相同的矩阵就具有这种性质。设 A的特征
值和特征向量如下:
n
n
vvv 21
21
?
? ??? ???
特征值:
特征向量:
幂法可以求
11 v?
,基本思想很简单。
设 ? ?n
1i?iv
线性无关,取初值 )0(x,作迭代 )0(1)()1( xAAxx kkk ?? ??
设:
nn vavavax ???? ?2211)0(
n
k
nn
kk
n
k
n
kk
nn
kk
vavava
vAavAavAa
vavavaAx
??? ????
????
????
?
?
?
222111
2211
2211
)(
)(
则有:
( 1)若:
n??? ??? ?21
?
?
?
?
?
?
?
?
???
?
???
?
????
?
?
???
?
?? n
k
n
n
k
kk vavavax
1
2
1
2
2111
)(
?
?
?
?? ?
01 ?a 则 k足够大时,有
? ?111)( vax kk ??
? ?1111)1( vax kk ?? ? ?
可见 )1()(,?kk xx 几乎仅差一个常数
1?
)(
1
)()1(
1 /
k
kk
xv
xx
?
? ??
所以,任意分量相除
特征向量乘以任意数,仍是特征向量
( 2)若:
21321,?????? ?????? n?
? ? ??
?
?
?
?
?
?
???
?
???
?
????? n
k
n
n
kkk vavavax
1
22111
)( 1
?
?? ?
? ?? ?22111)( 1 vavax kkk ??? ?
则 k足够大时,有
2
1
)12()12(
2
1
)2()22(
/
/
?
?
?
?
??
?
kk
kk
xx
xx
所以:
)(
1
)1(
2
)(
1
)1(
1
kk
kk
xxv
xxv
?
?
??
??
?
?
所以:
这样,我们有算法:
1、给出初值,计算序列 )()1( kk Axx ??
2、若序列表现为,相邻两个向量各个分量比趋向于常数,则
)(
1
)()1(
1 /
k
kk
xv
xx
?
? ??
3、若序列表现为,奇偶序列各个分量比趋向于常数,则
)()2(1 / kk xx ???
)(
1
)1(
2
)(
1
)1(
1
kk
kk
xxv
xxv
?
?
??
??
?
?
4、若序列表现为其他,退出不管
求矩阵 A的按模最大的特征值
解 取 x(0)=(1,0)T,计算 x(k)=Ax(k-1),结果如下

???
?
???
??
6
1
5
1
5
1
4
1
A
k x1(k) x2(k) x1(k)/x1(k-1) x2(k)/x2(k-1)
0 1 0
1 0.25 0.2
2 0.10250 0.083333 0.41 0.41665
3 0.042292 0.034389 0.41260 0.41267
4 0.017451 0.014190 0.41263 0.41263
可取 ??0.41263,x1?(0.017451,0.014190)T,
?
?
?
?
?
?
?
?
???
?
???
?
????
?
?
???
?
?? n
k
n
n
k
kk vavavax
1
2
1
2
2111
)(
?
?
?
?? ?
在幂法中,我们构造的序列
可以看出
?
?
?
??
?
????
1,
1,0
,
1
1)(
?
?k
xk
因此,若序列收敛慢的话,可能造成计算的溢出或归 0
改进-幂法的规范运算
??
?
?
?
?
?
?
???
?
)1()1()1(
)()1(
/ kkk
kk
xxy
Ayx
则,易知:
? ?
??
?
?
?
?
???
?
?
???
1
//
)1(
)0()()0()()()(
k
kkkkk
y
xxyAxAyy ??
??
)0()0()( / yAyAy kkk
所以,有:
最大分量为 1
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
??
?
?
?
?
?
?
?
?
??
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
??
?
?
?
?
?
?
?
?
?
?
n
k
n
n
k
k
n
k
n
n
k
k
k
vavava
vavava
y
1
2
1
2
2111
1
2
1
2
2111
)(
?
?
?
?
?
?
?
?
?
?
?
?即
( 1)若:
n??? ??? ?21
?
?
?
?
?
?
?
?
??
?
?
?
0,
0,
1
1
1
1
1
1
)(
?
?
v
v
v
v
y
k
?
?? ?? )0()0(1)()1( / yAyAAyx kkkk
?
??
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
??
?
?
?
?
?
?
?
?
??
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
??
?
?
?
?
?
?
?
?
?
?
n
k
n
n
k
k
n
k
n
n
k
k
k
vavava
vavava
x
1
2
1
2
2111
1
1
2
1
1
2
211
1
1
)1(
?
?
?
?
?
?
?
?
?
?
?
?
?
?
??
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
??
?
?
?
?
?
?
?
?
??
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
??
?
?
?
?
?
?
?
?
??
?
n
k
n
n
k
k
n
k
n
n
k
k
k
vavava
vavava
x
1
2
1
2
2111
1
1
2
1
1
2
211
1
1
)1(
?
?
?
?
?
?
?
?
?
?
?
?
? ?
? ? 1111
11
1
1)1(
?
?
?
?
?
?
?
?
?
?
?
?
va
va
x
k
k
k
01 ?? 时,有
)(
1
)1(
1
k
k
yv
x
?
?
?
??
01 ?? 时,有
)(
1
)1(
1
k
k
yv
x
?
??
?
??
)(ky
收敛
? ? ? ?)12()2(,?kk yy
分别收敛反号的两个数
( 2)若:
21321,?????? ?????? n? ? ?
? ?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?????
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
????
?
n
k
n
n
kk
n
k
n
n
kk
k
vavava
vavava
y
1
22111
1
22111
)(
1
1
?
?
?
?
?
?
?
?
? ? ? ?)12()2(,?kk yy 分别收敛到两个数,且绝对值不同。
( 1 ) ( )
( 2 ) ( 1 )
mm
mm
x A y
x A x
?
??
? ?
? ?
?
求:
则:
( 2 ) ( )1 /mmxy? ??
( 1 ) ( )
11
( 1 ) ( )
21
mm
mm
v x y
v x y
?
?
?
?
??
??
这样,我们有算法:
1、给出初值,计算序列 ? ?)(ky
2、若序列收敛,则
( 1 ) ( )
11,
kkx v y? ?
???
3、若序列的奇偶序列分别收敛,且两个数绝对值相同,则
( 1 ) ( )
11,
kkx v y? ?
?? ? ?
4、若序列的奇偶序列分别收敛,且两个数绝对值不同,则
( 2 ) ( )1 /mmxy? ??
( 1 ) ( )
11
( 1 ) ( )
21
mm
mm
v x y
v x y
?
?
?
?
??
??
?
?
?
?
?
??
?
)1()2(
)()1(
mm
mm
Axx
Ayx
( ) ( 1 )
1
1 1
kn
k k k i
ii
i
x A x v??? ??
?
???? ??
???
决定收敛的速度,特别
是 | ?2 / ?1 |
希望 | ?2 / ?1 | 越小越好。
不妨设 ?1 > ?2? … ??n,且 | ?2 | > | ?n |。
?1?2?n
O p = ( ?2 + ?n ) / 2


令 B = A ? pI,则有 | ?I?A | = | ?I?(B+pI) | = | (??p)I?B |
??A? p = ?B 。 而,所以求 B的特征根收
敛快。 ||
|||| ||
1
2
1
2 ???? ??? pp
反幂法
vvAvAv ?? 11 ??? ?
所以,A和 A- 1的特征值互为倒数
n
n
A
A
???
???
???
???
? ?
?
21
1
21
,
,
1?ii??
这样,求 A- 1的按模最大特征值,就可以求出 A的按模最小特征值
??
???
?
?
?
???
??
)1()1()1(
)(1)1(
/ kkk
kk
xxy
yAx
为避免求逆的运算,可以解线性方程组 )()1( kk yAx ??
若知道某一特征根 ?i 的大致位置 p,即对任意 j ? i
有 |?i ? p | << | ?j ? p |,并且如果 (A ? pI)?1存在,则
可以用反幂法求 (A? pI)?1的主特征根 1/(?i?p ),收
敛将非常快。


7.1 Jacobi方法-对称阵
P为 n阶可逆阵,则 A与 P- 1AP相似,相似阵有相同的特征值。
若 A对称,则存在正交阵 Q(QTQ=I),使得
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
n
T
AQQ
?
?
?
?
2
1
直接找 Q不大可能。我们可以构造一系列特殊形式的正交阵 Q1,...,Qn对 A作正交变换
使得对角元素比重逐次增加,非对角元变小。当非对角元已经小得无足轻重时,可以近似
认为对角元就是 A的所有特征值。 Jacobi方法就是这样一类方法。
1,Givens旋转变换
对称阵 ),,( ?qpQ 为正交阵
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
1
c o ss i n
s i nc o s
1
),,(
?
?
?
??
??
?qpQ
p列 q列
记:
)(),,(),,(,)( ijTij bqpAQqpQBaA ??? ??
则:
?
?
?
?
?
?
?
?
?
?
???
???
???
????
????
??
???
???
??
??
2s i n
2
2c o s
2s i nc o ss i n
2s i ns i nc o s
,,c o ss i n
,,s i nc o s
22
22
qqpp
pqqppq
pqqqpppp
pqqqpppp
qipiqiiq
qipipiip
aa
abb
aaab
aaab
qpiaabb
qpiaabb
变换的目的是为了减少非对角元的分量,则
02s i n22c o s ????? ?? qqpppqqppq aaabb
?t a n,
2
??? t
a
aas
pq
ppqq


?
?
?
?
?????
1,0
012,0 2
s
tstst
的按模较小根
所以:
?
?
?
?
?
?
?
?
?
?
?
?
?
d
t
t
c
t
2
2
1
s i n
1
1
c o s
?
?
?
?
?
?
?
?
?
?
?
??
??
??
????
????
0
,,
,,
qppq
pqqqpp
pqpppp
qipiqiiq
qipipiip
bb
taab
taab
qpicadabb
qpidacabb
2,Jacobi迭代
取 p,q使
ijjipq aa ?? m a x
,则
),,(),,( )()1( ?? qpQAqpQA kTk ??
定理,若 A对称,则
},,{ 1)1( nk d i a gA ?? ???
解 记 A(0)=A,取 p=1,q=2,apq(0)=a12(0)=2,于是有
例 用 Jacobi 方法计算对称矩阵 的全部特征值,
?
?
?
?
?
?
?
?
?
?
?
612
152
224
A
25.02 )0(
12
)0(
22
)0(
11 ????
a
aa? 780776.0)1|/ ( |)s g n (,2 ????? ???t
788206.0)1(c o s 212 ??? ?t? 6 1 5 4 1 2.0c o ss i n,??? ?? t
从而有
所以
再取 p=2,q=3,apq(1)=a23(1)=2.020190,类似地可得
?
?
?
?
?
?
?
?
?
?
??
?
?
?
?
?
?
?
?
?
? ?
??
100
0788206.0615412.0
0615412.0788206.0
100
0co ss i n
0s i nco s
)(1 ??
??
?pqRR
( 1 ) ( 0 )
11
2.4 38 44 8 0 0.9 61
0 6.5 61 55 2 2.0 20 19 0
0.9 61 2.0 20 19 0 6
T
??
????
??
A R A R
?
?
?
?
?
?
?
?
?
?
?
241166.40724794.0
0320386.8631026.0
724794.0631026.0438448.2
)2(A
?
?
?
?
?
?
?
?
?
?
?
496424.4209614.00
209614.0320386.8595192.0
0595192.0183185.2
)3(A
?
?
?
?
?
?
?
?
?
?
?
?
?
4 9 6 4 2 4.42 0 8 6 5 3.00 2 0 0 4 8.0
2 0 8 6 5 3.03 7 7 5 7 6.80
0 2 0 0 4 8.001 2 5 9 9 5.2
)4(A
?
?
?
?
?
?
?
?
?
?
?
?
??
?
4 8 5 2 3 9.400 2 0 0 1 9.0
03 8 8 7 6 1.80 0 1 0 7 3.0
0 2 0 0 1 9.00 0 1 0 7 3.01 2 5 9 9 5.2
)5(A
?
?
?
?
?
?
?
?
?
?
?
?
?
4 8 5 4 0 1.40 0 0 0 0 9.00 0 1 0 7 2.0
0 0 0 0 0 9.03 8 8 7 6 1.80
00 0 1 0 7 2.01 2 5 8 2 5.2
)6(A
?
?
?
?
?
?
?
?
?
?
?
485401.4000009.00
000009.0388761.80
00125825.2
)7(A
从而 A的特征值可取为
?1?2.125825,?2?8.388761,?3?4.485401
为了减少搜索非对角线绝对值最大元素时间,对经典的 Jacobi方法可作进一步改进,
1.循环 Jacobi方法,
按 (1,2),(1,3),…,(1,n),(2,3),(2,4),…,(2,n),…,(n -1,n)的顺序,对每个 (p,q)的非零
元素 apq作 Jacobi变换,使其零化,逐次重复扫描下去,直至 ?(A)<?为止,
2.过关 Jacobi方法,
取单调下降收敛于零的正数序列 ??k?,先以 ?1为关卡值,依照 1中顺序,将绝
对值超过 ?1的非对角元素零化,待所有非对角元素绝对值均不超过 ?1时,再换下
一个关卡值 ?2,直到关卡值小于给定的精度 ?,