第 7 章 矩阵特征值和特征向量的数值解法
设矩阵 nnRA ??,如果存在数
C??
及非零向量 n
Cx ?
满足方程
xAx ??
,则称
?
为矩阵 A 的一个特征值,x 称为矩阵 A 的相应于特
征值
?
的特征向量。为简单起见,下称
?
,x 为矩阵 A 的一特征对。
特征值的计算,直接从特征方程
0)d e t ()( ??? AI???
出发会遇到很
大困难,当 n 稍大一些,行列式展开本身就很不容易,随后是高次代数
方程求解。因此,矩阵特征值的求解,主要是数值解法。
7.1 幂法
7.1.1 幂法原理及实用幂法
幂法主要用于求矩阵按模最大的特征值和相应的特征向量。设矩阵 A 的
n 个特征值
),.,,,2,1(i ni ??
满足,
||...|||||| n321 ???? ????
( 7.1.1 )
相应的 n 个特征向量
),.,,,2,1(i nix ?
线性无关。上述假设表明,
1?
为非零单
实根,
1x
为实特征向量。
7.1 幂法
幂法 基本原理是:任取非零实向量
)0(
u
,做迭代
)2.1.7(,..,)2,1(
)0()1()(
???
?
kuAAuu
kkk
则
)3.1.7(lim
)(
)1(
1 k
j
k
j
k
u
u
?
??
??
这里
)( k
j
u
表示向量
)( k
u
的第 j 个分量。
事实上,由于
),.,,,2,1(
i
nix ?
线性无关,故可构成 n
R
中一组基,于是
有
?
?
?
n
i
ii
xu
1
)0(
?
,由式( 7,1.2 )可得
7.1 幂法
)4.1.7(])([
2 1
111
1 1 1
)(
?? ? ?
?? ? ?
?????
n
i
i
kiik
n
i
n
i
n
i
i
k
iii
k
iii
kk
xxxxAxAu
?
?
???????
主要用于求矩阵按模最大的特征值和相应的特征向量。设矩阵 A 的
n 个特征值
),.,,,2,1(i ni ??
满足,
||...|||||| n321 ???? ????
( 7.1.1 )
由于
),n,.,,,3,2i(1
1
i
??
?
?
当
0)(,0 11 ?? jx?
时有
1
2 1
111
1
2 1
11
1
1
)(
)1(
])([
])([
l i ml i m ?
?
?
???
?
?
???
?
?
?
?
?
?
?
?
?
?
??
?
??
ji
k
n
i
i
i
k
ji
k
n
i
i
i
k
k
k
j
k
j
k
xx
xx
u
u
7.1 幂法
由式( 7.1.4 )还可知,当 k 充分大时有
111
)( xu kk ???
这表明
)( ku
是特征向量
1x
的一常数倍,即
)( ku
近似于特征向量
1x
。
基于式( 7.1,2 )和式( 7.1.3 )幂法的主要缺点是:当
1|| 1 ??
或
1|| 1 ??
时,由式( 7,1.4 )可知,
)( ku
会发生上溢或下溢,因此不实用。克服这一缺点
的常用方法是迭代每一步对向量
)( ku
规范化。引入函数 m a x (
)( ku
),它表示取
向量
)( ku
中按模最大的分量,例如,
)( ku
= ( 2,- 5,4 )
T
,则 m a x(
)( ku
)= - 5,这样
)(m a x
)(
)(
k
k
u
u
的最大分量为 1,即完成了规范化。
7.1 幂法
由式( 7.1.4 )还可知,当 k 充分大时有
111
)( xu kk ???
这表明
)( ku
是特征向量
1x
的一常数倍,即
)( ku
近似于特征向量
1x
。
基于式( 7.1,2 )和式( 7.1.3 )幂法的主要缺点是:当
1|| 1 ??
或
1|| 1 ??
时,由式( 7,1.4 )可知,
)( ku
会发生上溢或下溢,因此不实用。克服这一缺点
的常用方法是迭代每一步对向量
)( ku
规范化。引入函数 m a x (
)( ku
),它表示取
向量
)( ku
中按模最大的分量,例如,
)( ku
= ( 2,- 5,4 )
T
,则 m a x(
)( ku
)= - 5,这样
)(m a x
)(
)(
k
k
u
u
的最大分量为 1,即完成了规范化。
7.1 幂法
由于
)( kv
中最大分量为 1,即 m a x (
)( kv
) =1,故
)6.1.7(
)(m ax
)0(
)0(
)(
uA
uA
v
k
k
k
?
由式( 7.1.4 )有
)m a x (
))(m a x (
])([
l i ml i m
1
1
2 1
i
111
2 1
i
111
)(
x
x
xx
xx
v
n
i
i
kk
n
i
i
kk
k
k
k
?
?
?
?
?
?
?
?
????
?
?
??
?
?
??
7.1 幂法
由式( 7.1.5 )和式( 7,1.6 )有
)m a x (
)m a x (
)m a x ()m a x (
)0(!
)0(
)1()(
uA
uA
Auum
k
k
kk
k ?
?
???
于是
1
2
1
1
11
1
1
2 1
111
))(m a x (
])([
l i ml i m ?
?
?
??
?
?
??
?
?
?
?
?
?
?
??
?
????
n
i
i
k
i
k
n
i
i
k
i
k
k
k
k
xx
xx
m
7.1 幂法
实用幂法迭代格式如下,
任取初始向量
0)0( ?u
,作迭代
)5.1.7(,.,, )2,1,0(
)m a x (
)()1(
)(
)(
)(
?
?
?
?
?
?
?
?
?
?
?
?
k
Avu
m
u
v
um
kk
k
k
k
k
k
则
1
lim ??
??
k
k
m
)m a x (
l i m
1
1)(
x
x
v
k
k
?
??
事实上,由式( 7.1.5 )知
?
?
?
k
i
i
k
k
m
uA
v
0
)0(
)(
算法 7.1.1 实用幂法
(1) 输入,;),,2,1(),,2,1,( ??? ?? iunjia
iij
(2)
);(m a x;1
1
0 i
ni
umk
??
??
(3)
);,,2,1(
0
nimuv
ii
???
(4) );,,2,1(
1
nivau
n
j
jiji
??? ?
?
5)
);(m ax
1 inik
um
??
?
( 6) if
??? 0mm k
或
???? )1(0 kk mmm
t hen 输
出
),,,2,1(,nivm ik ??
停止计算;
( 7);1;0 ??? kkmm k
返回第 3 步。
例 7,1.1 试用幂法求矩阵
?
?
?
?
?
?
?
?
?
?
?
3 1- 2-
1- 4 3
2- 3 7
A
按模最大的特征值和相应的特征向量
)10( 5???
。
解 由算法 7.1,1 得计算结果如表 7.1,1 所示。
表 7,1.1 例 7.1.1 计算结果
k u
( k )
v
( k )
m
k
0 1.000 0 00,1,000 000,1.000 000 1.000 0 00, 1.00 0 000, 1,00 0 000 1.000 0 00
1 8.000 0 00,6,000 000,0.000 000 1.000 0 00, 0.75 0 000, 0,00 0 000 8.000 0 00
2 9.250 0 00,6,000 000,- 2.750 000 1.000 0 00, 0,648 649, - 0.29 7 297 9.250 0 00
3 9.540 5 41,5,891 892,- 3.540 541 1.000 0 00, 0,617 564, - 0.37 1 105 9.540 5 41
4 9.594 9 01,5,841 360,- 3.730 878 1.000 0 00, 0,608 798, - 0.38 8 840 9.594 9 01
5 9.604 0 74,5,824 033,- 3.775 317 1.000 0 00, 0,606 413, - 0.39 3 095 9.604 0 74
6 9.605 4 29,5,818 746,- 3.785 6 99 1.000 0 00, 0,605 777, - 0.39 4 121 9.605 4 29
7 9.605 5 72,5,817 228,- 3.778 139 1.000 0 00, 0,605 777, - 0.39 4 369 9.605 5 72
8 9.605 5 67,5,816 808,- 3.788 717 1.000 0 00, 0,605 566, - 0.39 4 429 9.605 5 67
由表 7,1.1 知,
588 10 ??? mm
,故取
6 0 5 5 6 7.981 ?? m?
,
相应特征向量为 Tvx )374429.0,605566.0,000000.1()8(
1 ???
。
本题精确值 ?60555127.9
1 ??
。
对于矩阵 A 按模最大的特征值还可能有多种情况,这是对幂法做适当
修正,仍可求出结果。
设矩阵 A 的按模最大特征值是互为相反的实根,即
121,0 ??? ???
,且
||...|||||| n321 ???? ????
,由式( 7.1,4 )知
)7.1.7(])()1([
3 1
22111
)(
?
?
????
n
i
i
kiikkk
xxxu
?
?
????
于是
2
1
3 1
22
k
111
2
3 1
22
2k
11
2
1
)(
)2(
])()1([
])()1([
l i ml i m ?
?
?
????
?
?
????
?
???
???
?
?
?
?
?
?
??
??
?
??
ji
k
n
i
i
i
k
ji
k
n
i
i
i
k
k
k
j
k
j
k
xxx
xxx
u
u
即
)(
)2(
1
l i m
k
j
k
j
k u
u
?
??
??
由 式 ( 7,1,7 ) 可以看出
)( ku
随着 k 增大, 呈现有 规律 摆动, 于是 当 k 充分大
时, 有
?
?
?
???
???
???
))1((
))1((
22111
)(
22
1
11
1
1
)1(
xxu
xxu
kkk
kkk
???
???
即
?
?
?
???
??
???
??
)2)1(
2
22
1
1
1)(
1
)1(
11
1
1
)(
1
)1(
xuu
xuu
kkkk
kkk
???
???
除去一个常因子,我们得到特征向量
?
?
?
??
??
?
?
)(
1
)1(
2
)(
1
)1(
1
kk
kk
uux
uux
?
?
例 7.1,2 试用幂法求矩阵
?
?
?
?
?
?
?
?
?
?
?
1- 3- 16
2- 2- 16
1 1- 4
A
按模最大的特征值和相应的特征向量。
解 由算法 7,1.1 得计算结果如表 7.1,2 所示。
表 7,1.2 例 7.1,2 计算结果
k u
( k )
v
( k )
0 0.4 0.5 0.6 0.666 6 67 0.833 3 3 1.000 0 0
1 2.833 3 35 7.000 0 6 7.166 6 73 0.395 3 49 0.976 7 44 1.000 0 0
2 1.604 6 52 2.372 0 96 2.395 3 52 0.669 9 02 0.990 2 91 1.000 0 00
3 2.689 3 19 6.737 8 50 6.747 5 59 0.398 5 62 0.998 5 61 1.000 0 00
4 1.595 6 86 2.379 8 70 2.381 3 09 0.670 0 88 0.999 3 96 1.000 0 00
5 2.680 9 56 6.772 6 16 6.723 2 20 0.398 7 61 0.999 9 10 1.000 0 00
6 1.595 1 33 2.380 3 56 2.380 4 46 0.670 0 98 0.999 9 62 1.000 0 00
7 2.680 9 56 6.721 6 44 6.721 6 82 0.398 7 74 0.999 9 94 1.000 0 00
8 1.595 1 02 2.380 3 96 2.380 4 02 0.670 0 98 0.999 9 97 1.000 0 00
9 2.680 3 95 6.721 5 74 6.721 5 77 0.398 7 75 0.999 9 99 1.000 0 00
10 1.595 0 99 2.380 4 01 2.380 4 01
11 6.380 3 96 15.999 98 15.999 98
从表 7.1,2 可以看出,u
( k )
,v
( k )
呈有规律的间隔摆动
出现,符合我们分析的最大模是互为相反实根情况,于
是从 v
( k )
后,继续作不规范化迭代两次,于是
? ?
? ?
999990.15
398775.0
380396.6
11
1
11
12
1
???
v
u
?
9 9 9 9 9 9.3,9 9 9 9 9 9.3 121 ????? ???
本题精确解
1,4,4 321 ???? ???
。特征向量由式 ( 7.1,8) 得,
Tuux )5 2 1 5 8 4.25,5 2 1 5 8 4.25,7 6 0 7 9 2.12()10(1)11(1 ??? ?
Tuux )4 7 8 3 7 6.6,4 7 8 3 7 6.6,0()10(1)11(2 ??? ?
7.1.2 幂法的加速收敛方法
由幂法原理可知,幂法收敛速度主要受
1
2
?
?
?r
的大小决
定。当 r 接近 1 时,敛速就缓慢。加速收敛方法,容易先想
到 A i t ke n 加速方法。有前幂法论证可知
)9.1.7()(
1
2
1
k
k
cm
?
?
? ??
其中,c 是与 k 无关的常数。由式( 7.1.9 )可得
11
12
1
11
?
?
?
?
?
?
?
?
?
?
??
k
k
k
k
m
m
m
m
由此可解得
)10.1.7()
2
(
2
12
2
2
~
1
kkk
kk
k
k
mmm
mm
mm
??
?
???
??
?
??
),.,,,2,1()
2
(
2
)()1()2(
)()1(
)()2(
ni
vvv
vv
vvv
k
i
k
i
k
i
k
i
k
ik
i
k
ii
?
??
?
???
??
?
?
7.1.2 幂法的加速收敛方法
定义 7.1.1 设 nnRA ??,且
nT RxAA ??,
,且 0?x,称
( 7, 1, 1 3 )
),(
),(
)(
xx
xAx
xR ?
为 R ay l ei gh 商。特别当
1),( 2
2
?? xxx
时,式 ( 7.1,13) 有更简单
形式
),()( xAxxR ?
。
对称矩阵 A 的 实用幂法迭代格式如下,
任取初始向量
0)0( ?u
,作迭代
)14.1.7(,.,, )2,1,0(
),(
e
e
)()1(
)()1(
)(
)(
2
)(
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
k
vum
Avu
u
v
u
kk
k
kk
k
k
k
k
k
则
1
lim ??
??
k
k
m
)11(l i m
2
1
)(
???
??
或??
x
x
v
k
k
事实上,由式( 7.1 14 )知
2
)0(
)0(k
2
)1-k(
)1-k(
2
)k(
)k(
)(
...
uA
uA
Av
Av
u
u
v
k
k
????
于是由式( 7,1.4 )有
1
21
1
21
1)()( )(l i ml i m ??? ???
???? x
x
A
x
x
Avvm
T
kTk
k
k
k
算法 7.1.2 对称矩阵实用幂法。
( 1) 输入:
? ? ? ? ;,,2,1,,2,1,?niunjia iij ?? ??
( 2);0;0 ?? mk
( 3);
2
1
1
2
?
?
?
?
?
?
? ?
?
n
i
i
ue
( 4)
? ?;,,2,1 nieuv ii ???
( 5)
? ? ;,,2,1
1
nivau
n
j
jiji
??? ?
?
( 6)
? ? ;,,2,1
1
nivum
n
i
ii
??? ?
?
( 7) if
??? 0mm
或
??
?
?
m
mm
1
0
t hen 输出
? ?nvm i,,2,1,?
,
停止计算;
( 8);1;0 ??? kkmm
返回 3 。
例 7,1.3 用算法 7.1.2 计算例 7,1.1 所示。
解 由算法 7,1.2,取初始向量 Tu )1,1,1()0( ?,计
算结果如表 7.1,3 所示。
表 7,1.3 例 7.1,3 计算结果
k v
( k )
m
k
0 0.577 3 50 2 69 19 0.577 3 50 3 69 19 0.577 3 50 2 69 19 4.666 6 66 6 66
1 0.800 0 00 0 00 00 0.600 0 00 0 00 00 0.000 0 00 0 00 00 8.000 0 00 0 00
2 0.81 1 346 339 5 6 0.501 0 58 0 79 39 - 0.242 006 77 6 28 9.551 7 79 0 90 0
3 0.81 1 346 339 5 6 0.501 0 58 0 79 39 - 0.301 094 53 3 94 9.602 2 80 5 1 1 0
4 0.810 6 18 8 21 68 0.493 5 03 3 98 38 - 0.315 200 76 4 14 9.605 3 51 9 44 9
5 0.810 5 04 6 77 30 0.491 5 00 3 61 66 - 0.318 605 65 3 68 9.605 5 39 0 63 5
6 0.810 4 95 0 02 94 0.490 9 79 0 95 12 - 0.319 432 90 1 18 9.605 5 5 0 5 24 2
7 0.810 4 96 7 91 40 0.490 8 44 7 61 06 - 0.319 684 16 0 43 9.605 5 51 1 99 1
8 0.810 4 98 1 29 44 0.490 8 44 7 61 45 - 0.319 684 16 0 43 9.605 5 51 2 72 6
9 0.810 4 98 6 49 84 0.490 8 01 6 10 05 - 0.319 662 90 5 20 9.605 5 51 2 75 3
由表 7,1.3 知,
8
89 10
??? mm
,故取
6 0 5 5 5 1 2 7 5 3.991 ?? m?
,
相应特征向量取
Tvx )03 1 9 6 6 2 9 0 5 2.0,54 9 0 8 0 1 6 1 0 0.0,48 1 0 4 9 8 6 4 9 8.0()9(
1 ???
如果将特征向量规范化,则有
Tx )3 9 4 4 0 2 7 6 1.0,6 0 5 5 5 5 1 2 4.0,0 0 0 0 0 0 0 0 0.1(
1 ??
与例 7,1.1 相比,本次计算结果精度更理想些。
7.1.3 逆幂法
设矩阵 nnRA ?? 非奇异,
?
,
x
是 A 的一特征对,即
xAx ??
。如果
0??
,
则有
xxA 11 ?? ? ?
,这表明 1?
?
,
x
是 1?A 的特征对。如果我们对 1?A 实行 幂法,
则可求出 1?
?
,
x
,这就是逆幂法。逆幂法主要用于计算 A 按模最小的特征值
和相应的特征向量。
对 1?A 实行 幂法,则可求出 1?A 按模最大的特征值
n
n
1
?
? ?
和相应的特征
向量
nx
,从而求得矩阵 A 按模最小的特征对
n?
,
nx
。
逆幂法 的 迭代格式 如下,
任取 初始向量
0)0( ?u
,作 迭代
?
?
?
?
?
?
?
??
?
?
??
)15.1.7(
,.,, )2,1,0(
)m a x (
)(1)1(
)(
)(
)(
kvAu
m
u
v
um
kk
k
k
k
k
k
则
)m a x (
l i m
l i m
1
)(
n
nk
k
k
k
n
n
x
x
v
m
?
??
??
??
?
?
逆幂法 的 迭代格式 如下,
任取 初始向量
0)0( ?u
,作 迭代
?
?
?
?
?
?
?
??
?
?
??
)15.1.7(
,.,, )2,1,0(
)m a x (
)(1)1(
)(
)(
)(
kvAu
m
u
v
um
kk
k
k
k
k
k
则
)m a x (
l i m
l i m
1
)(
n
nk
k
k
k
n
n
x
x
v
m
?
??
??
??
?
?
例 7.1,4 试求例 7.1.1 中矩阵 A 最接近于
9.1
~
?s?
的特征值和相
应的特征向量。
解 由于
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
? ?
?
?
?
?
?
?
?
?
?
?
??
?
?
?
??
15 2 6 3 1 5 7 2 8.03 9 2 1 5 6 8 6 2.0
015 8 8 2 3 5 2 9 4.0
001
2 2 2 8 0 7 0 2.000
1 7 6 4 7 0 5 8 8.03 3 5 2 9 4 1 1 8.00
231.5
1.112
11.23
231.5
9.1 IAB
取
Ty )1,1,1(
0 ?
作半迭代,计算结果如表 7.1,4 。
表 7,1.4 例 7.1,4 计算结果
k v
( k )
m k
1 0.354 5 52 5 27 0.138 1 96 3 75 1 4.488 1 88 9 27
2 0.934 3 90 1 21 - 0.566 073 23 1 1 5.278 4 41 6 55
3 0.964 9 88 8 73 - 0.905 814 41 8 1 8.768 3 30 7 12
4 0.987 3 66 5 28 - 0.979 541 02 8 1 9.91 1 881 091
5 0.997 4 64 9 96 - 0.995 819 01 2 1 9,91 1 881 091
6 0.999 4 86 9 49 - 0.999 152 82 3 1 9.982 1 39 2 19
由式 ( 7.1,18) 知
0 0 1 7 8 9 2 7.2
1
9.1
6
???
m
s
?
特征向量近似值为,
Tvx )1,9 9 9 1 5 2 8 2 3.0,9 9 9 4 8 6 9 4 9.0()6(
1 ???
,
由于 A 是对称矩阵,我们做一次 R ay l ei gh 商加速
0 0 0 0 0 0 0 4 7.2
),(
),(
)6()6(
)6()6(
??
vv
vAv
s
?
与精确值
2?s?
相比,这次加速有较好效果。
7,2 J ac ob i 法
J ac obi 法 是计算实对称矩阵全部 特征值和特征向量的一种古
典方法,它在理论和使用上至今还是有一定的意义。我们知道,
在相似变换下,矩阵的特征值不变。 Ja cobi 法的基本思想是选取
一系列正交矩阵 J ( p
k
,q
k
,θ
k
),对邹振 A 作正交相似变换,即
,.,, )2,1(),,(),,(1 ??? kqpJAqpJA kkkTkkkkk ??
其中,A
1
= A,使得
),..,,,(d i aglim 21 nk
k
DA ?????
??
则
n???,..,,,21
几为所求矩阵 A 的特征值,而
),,( kkk qpJ ?
称为
J ac obi 旋转阵,亦称 Gi v en s 旋转变换矩阵。
7.2.1 古典 Jacobi法
一般设
nn
ij RaA
??? )(
,且 AA T ?,我们取平面旋转矩阵
)(
)(
...
1
1
...
1
1
...
1
),,(
)()(
q
p
cs
sc
qpJ
qp
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
??
其中,
,si n,c o s ?? ?? sc
容易验证
),,( ?qpJ
为正交矩阵,即
IqpJqpJ T ?),,(),,( ??
由矩阵乘法可知,如果
AqpJB ),,( ??
,则 B 的元素中除 p,q 两
行元素有变化,其它元素不变。
如果
),,( ?qpAJC T?
,则
C
的元素中除 p,q 两列元素有变化,
其余元素不变。
如果做变换
),,(),,(1 ?? qpAJqpJA T?
,矩阵 A 做正交相似
变换,元素除 p,q 两行,p,q 两列有变化外,其余元素保持不变,
且
1A
仍保持对称性。
定理 7,2.1 设矩阵 nnRA ??,且 nnT RPAA ???,为正交矩阵,如果
TP A PA ?1,则
( 7, 2, 8 ) 1 FF AA ?
证明 设 ),,2,1(,ni
ii ????
分别是矩阵 A 和 A 1 的特征
量,由假设 TP A PA ?
1
,即 AA ~
1
,故 A 1 与 A 有相同的 特征
值集 合 。
从而有
??
??
?
n
i
i
n
i
i
1
2
1
2
??
由线性代数知:
?
?
?
n
i
i
A
1
)(tr ?
及
)()( 22 AA ?? ?
,因此有
?
?
?
n
i
i
A
1
22
)(tr ?
,由 F 范数定义有
?? ?
?? ?
????
n
i
i
T
n
i
n
j
ijF
AAAaA
1
22
1 1
22
)(tr)(tr ?
同理有
?
?
?
n
i
iFA
1
22
1 ?
综上所述即得证明。
定理 7.2.2 在正交相似变换 ( 7.2.6) 下,有
( 7, 2, 9 ) 2)(2)()( 2222)1(2)1(2)1( pqqqpppqqqpp aaaaaa ?????
证明 由式 ( 7.2,7) 有
22)1()1( )()(
qqppqqpp aaaa ???
22)1()1( ]2si n2) c o s2[()( ??
pqqqppqqpp aaaaa ????
? ? 22)1( 2c o s22s i n)()2( ?? pqppqqpp aaaa ???
以上三个式子相加整理即得证明。
若记矩阵 A 的非对角线元素平方和为
? ?
?
?
?
?
n
i
n
ij
j
ij
aA
1 1
2
)(o ff
则有
)(o f f
2
1
2
AAa
F
n
i
ii
???
?
定理 7.2,3 在正交相似变换 ( 7.2.6) 下,如果
0?pqa
,选择 ? 满足
( 7, 2, 1 0 )
2
2c o t
pq
qqpp
a
aa ?
??
则
)(o f f)(o f f 1 AA ?
证明 由于 ? 选 择 满 足 式 ( 7.2,10),即有
0)1( ?pqa
。由式 ( 7.2.7),式 ( 7,2.8) 和式 ( 7.2.9) 有
)(o f f
2)(o f f
2)(
))()(()(
)()(o f f
2
222
,
1
2
2
2)1(2)1(
,
1
2)1(
2
1
2)1(
2
11
A
aA
aaaaA
aaaA
aAA
pq
pqqqpp
n
qpi
i
ii
F
qqpp
n
qpi
i
ii
F
n
i
ii
F
?
??
?????
????
??
?
?
?
?
?
?
?
?
定理 7.2.4 (Ja co bi 法收敛性定理 ) 设
nn
RA
?
? 且 AA
T
?,则经
典 Jac ob i 法必收敛,即式 (7,2,2) 成立。
证明 只需证明 0)(o f flim ?
??
k
k
A 。事实上,由定理 7,2,3 证明知,
2)1(
1
)(2)(o ff)(o ff
?
?
??
k
pqkk
aAA
。
由于
)1()1(
m a x
?
?
?
?
k
ij
ji
k
pq
aa,故有
2)1(
1
))(1()(o ff
?
?
??
k
pqk
annA
,
即
)(o ff
)1(
1
)(
1
2)1(
?
?
?
k
k
pq
A
n-n
a
故
)(o f f]
)2(
2
1[)(o f f
1?
?
??
kk
A
nn
A
反复逆推上式得
)( 0)(o f f]
)2(
2
1[)(o f f ???
?
?? kA
nn
A
k
k
7.2.2 Jacobi法的改进
经典 J a c o bi 法的一个主要缺点是每次迭代都要选
主元,当矩阵 A 的阶数 n 较大时,十分耗时。常见改
进方案有循环 J a c o bi 法和过关 J a c o bi 法。
循环 J a c o bi 法的做法是,p 依次取 1,2,…,n - 1,而 q
依次取 p +1,p +2,…,n,进行旋转变换,而不选主元,如
果 a
pq
=0,则不旋转,取下一个元素,如此旋转几次可
达目的。
过关 J a c o bi 法是对循环 J a c o bi 法再做一些改进。
在循环 J a c o bi 法中给予一个“过关值” a,当 | a
pq
| <= a
时,此元素不旋转,让其过关,否则才做旋转变换。
算法 7.2.1 过关 J aco bi 法。
( 1) 输入:
? ? ;,,,2,1,?njia ij ??
? ?;,,,2,1,0 jinjir ij ??? ?
? ?;,,2,11 nir ii ???
( 2) 计算:;;)(o f f
1
1 ??? ?? A
n
( 3) 对
npqnp,,1,1,,2,1 ?? ????
做
if
1??pqa
t hen 做
1) 计算 c,s
;2)( 1 pqqqpp aaam ???
;
1
)(s i g n
2
2
mm
m
t
??
?
?
;;
1
1
3
2
tcs
t
c ?
?
?
?
2) 计算
1A
中元素
;0;; 1 ?????? qppqpqqqqqpqpppp aataaataaa?
?2 对
ni,,2,1 ??
做
if
qpi,?
t hen;;;;
)1()1(
)1()1(
iqqiiqippiip
iqipiqiqipip
aaaaaa
casaasacaa
????
?????
3) 计算特征向量
对
ni,,2,1 ??
做
;;;;
)1()1(
)1()1(
iqiqipip
iqipiqiqipip
rrrr
crsrrsrcrr
??
?????
( 4) if
??? ?1
t hen 输出
? ? ? ?njirnia ijii,,2,1,,,,2,1 ?? ??
,
停机 el se
n
1
1
?
? ?
返回第 3 步 。
Jacobi方法评述
? 优点:算法简单,有较强的稳定性,无
论矩阵 A的特征值分布如何,Jacobi法总
是收敛的,算法实现容易。适合矩阵阶
数不大时求特征和特征向量。
? 缺点:不能利用原有矩阵的特性,收敛
速度慢。
QR 算法是目前求一般矩阵全部特
征值和特征向量行之有效的 一种方法,
它适合于对称矩阵,也适合于非对称矩
阵 。 QR 算 法 最 早 在 1961 年由
J,G,F r anci s 提出的,后来竟一系列数学
家进行深入讨论斌作出了做有成效的
改进与发展。
7,3 Q R 算法
7.3.1 Householder变换
定义 7.3.1 设 nRw ?,且
12 ?w
,则初等矩阵
)1.3.7( 2)( TwwIwH ??
称为 H ous eho l der 变换矩阵,也称初等镜面反射矩阵。
Householder矩阵基本性质
性质 1 H 是对称正交矩阵,即 1??? HHH T 。
事实上,H 的对称性是显然的,正交性证明如下,
IwwwwwwIwwIHHH ??????? TTT2T2T )(44)2(
性质 2 设
HxyRx n ??,
,则
22 xy ?
。
事实上,
2
2
2
2
)( xxxHxHxHxHxyyy TTTTT ?????
性质 2 的意义是任意向量 nRx ?,在 H ouse h ol der 变换
作用下,Eucl i d 长度不变。此外,由
xwwxHxy T2???
知
wxwyx )2( T??
由于 xw T2 是实数,上式表示向量
yx ?
与向量 w 平行。
性质 3 设
nRyx ?,
,
yx ?
,且
22
yx ?
,则由向量
2
yx
yx
w
?
?
?
确定的 H ouse hol d 矩阵
)( wH
,使得
yxH ?
。
证明 由假设知
1
2
?w
且
yyxx TT ?
,于是有
xyxxyxx
yyxyyxxx
yxyxyx
TTT
TTTT
T
2
2
)(222
)()(
????
????
????
因此
y
yx
xyxyx
xxwwxHx
T
T
?
?
??
????
2
2
))((2
2
例 7,3.1 设
Tx )12,4,3(?
,试求 H 矩 阵, 使
TyHx )0,0,13( ???
。
解
Tyxu )13,4,16(???
,于是
? ?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
???
4 3- 12-
3- 12 4-
12- 4- 3-
13
1
12,4,16
12
4
16
4 1 6
2
1 0 0
0 1 0
0 0 1
2
2
2
u
uu
IH
T
直接验证
THx )0,0,13( ??
。
计算
THxy )0,...,0,( ????
的步骤 如下,
1 )
2
1
1
2
1
))((s i g n ?
?
?
n
i
i
xx?
2 )
T
n
T
n uuuxxxu ),.,,,,(),.,,,,( 2121 ??? ?
3 )
11 )( ux ???? ???
4 )
uxy ??
设矩阵 nnRA ??,如果存在数
C??
及非零向量 n
Cx ?
满足方程
xAx ??
,则称
?
为矩阵 A 的一个特征值,x 称为矩阵 A 的相应于特
征值
?
的特征向量。为简单起见,下称
?
,x 为矩阵 A 的一特征对。
特征值的计算,直接从特征方程
0)d e t ()( ??? AI???
出发会遇到很
大困难,当 n 稍大一些,行列式展开本身就很不容易,随后是高次代数
方程求解。因此,矩阵特征值的求解,主要是数值解法。
7.1 幂法
7.1.1 幂法原理及实用幂法
幂法主要用于求矩阵按模最大的特征值和相应的特征向量。设矩阵 A 的
n 个特征值
),.,,,2,1(i ni ??
满足,
||...|||||| n321 ???? ????
( 7.1.1 )
相应的 n 个特征向量
),.,,,2,1(i nix ?
线性无关。上述假设表明,
1?
为非零单
实根,
1x
为实特征向量。
7.1 幂法
幂法 基本原理是:任取非零实向量
)0(
u
,做迭代
)2.1.7(,..,)2,1(
)0()1()(
???
?
kuAAuu
kkk
则
)3.1.7(lim
)(
)1(
1 k
j
k
j
k
u
u
?
??
??
这里
)( k
j
u
表示向量
)( k
u
的第 j 个分量。
事实上,由于
),.,,,2,1(
i
nix ?
线性无关,故可构成 n
R
中一组基,于是
有
?
?
?
n
i
ii
xu
1
)0(
?
,由式( 7,1.2 )可得
7.1 幂法
)4.1.7(])([
2 1
111
1 1 1
)(
?? ? ?
?? ? ?
?????
n
i
i
kiik
n
i
n
i
n
i
i
k
iii
k
iii
kk
xxxxAxAu
?
?
???????
主要用于求矩阵按模最大的特征值和相应的特征向量。设矩阵 A 的
n 个特征值
),.,,,2,1(i ni ??
满足,
||...|||||| n321 ???? ????
( 7.1.1 )
由于
),n,.,,,3,2i(1
1
i
??
?
?
当
0)(,0 11 ?? jx?
时有
1
2 1
111
1
2 1
11
1
1
)(
)1(
])([
])([
l i ml i m ?
?
?
???
?
?
???
?
?
?
?
?
?
?
?
?
?
??
?
??
ji
k
n
i
i
i
k
ji
k
n
i
i
i
k
k
k
j
k
j
k
xx
xx
u
u
7.1 幂法
由式( 7.1.4 )还可知,当 k 充分大时有
111
)( xu kk ???
这表明
)( ku
是特征向量
1x
的一常数倍,即
)( ku
近似于特征向量
1x
。
基于式( 7.1,2 )和式( 7.1.3 )幂法的主要缺点是:当
1|| 1 ??
或
1|| 1 ??
时,由式( 7,1.4 )可知,
)( ku
会发生上溢或下溢,因此不实用。克服这一缺点
的常用方法是迭代每一步对向量
)( ku
规范化。引入函数 m a x (
)( ku
),它表示取
向量
)( ku
中按模最大的分量,例如,
)( ku
= ( 2,- 5,4 )
T
,则 m a x(
)( ku
)= - 5,这样
)(m a x
)(
)(
k
k
u
u
的最大分量为 1,即完成了规范化。
7.1 幂法
由式( 7.1.4 )还可知,当 k 充分大时有
111
)( xu kk ???
这表明
)( ku
是特征向量
1x
的一常数倍,即
)( ku
近似于特征向量
1x
。
基于式( 7.1,2 )和式( 7.1.3 )幂法的主要缺点是:当
1|| 1 ??
或
1|| 1 ??
时,由式( 7,1.4 )可知,
)( ku
会发生上溢或下溢,因此不实用。克服这一缺点
的常用方法是迭代每一步对向量
)( ku
规范化。引入函数 m a x (
)( ku
),它表示取
向量
)( ku
中按模最大的分量,例如,
)( ku
= ( 2,- 5,4 )
T
,则 m a x(
)( ku
)= - 5,这样
)(m a x
)(
)(
k
k
u
u
的最大分量为 1,即完成了规范化。
7.1 幂法
由于
)( kv
中最大分量为 1,即 m a x (
)( kv
) =1,故
)6.1.7(
)(m ax
)0(
)0(
)(
uA
uA
v
k
k
k
?
由式( 7.1.4 )有
)m a x (
))(m a x (
])([
l i ml i m
1
1
2 1
i
111
2 1
i
111
)(
x
x
xx
xx
v
n
i
i
kk
n
i
i
kk
k
k
k
?
?
?
?
?
?
?
?
????
?
?
??
?
?
??
7.1 幂法
由式( 7.1.5 )和式( 7,1.6 )有
)m a x (
)m a x (
)m a x ()m a x (
)0(!
)0(
)1()(
uA
uA
Auum
k
k
kk
k ?
?
???
于是
1
2
1
1
11
1
1
2 1
111
))(m a x (
])([
l i ml i m ?
?
?
??
?
?
??
?
?
?
?
?
?
?
??
?
????
n
i
i
k
i
k
n
i
i
k
i
k
k
k
k
xx
xx
m
7.1 幂法
实用幂法迭代格式如下,
任取初始向量
0)0( ?u
,作迭代
)5.1.7(,.,, )2,1,0(
)m a x (
)()1(
)(
)(
)(
?
?
?
?
?
?
?
?
?
?
?
?
k
Avu
m
u
v
um
kk
k
k
k
k
k
则
1
lim ??
??
k
k
m
)m a x (
l i m
1
1)(
x
x
v
k
k
?
??
事实上,由式( 7.1.5 )知
?
?
?
k
i
i
k
k
m
uA
v
0
)0(
)(
算法 7.1.1 实用幂法
(1) 输入,;),,2,1(),,2,1,( ??? ?? iunjia
iij
(2)
);(m a x;1
1
0 i
ni
umk
??
??
(3)
);,,2,1(
0
nimuv
ii
???
(4) );,,2,1(
1
nivau
n
j
jiji
??? ?
?
5)
);(m ax
1 inik
um
??
?
( 6) if
??? 0mm k
或
???? )1(0 kk mmm
t hen 输
出
),,,2,1(,nivm ik ??
停止计算;
( 7);1;0 ??? kkmm k
返回第 3 步。
例 7,1.1 试用幂法求矩阵
?
?
?
?
?
?
?
?
?
?
?
3 1- 2-
1- 4 3
2- 3 7
A
按模最大的特征值和相应的特征向量
)10( 5???
。
解 由算法 7.1,1 得计算结果如表 7.1,1 所示。
表 7,1.1 例 7.1.1 计算结果
k u
( k )
v
( k )
m
k
0 1.000 0 00,1,000 000,1.000 000 1.000 0 00, 1.00 0 000, 1,00 0 000 1.000 0 00
1 8.000 0 00,6,000 000,0.000 000 1.000 0 00, 0.75 0 000, 0,00 0 000 8.000 0 00
2 9.250 0 00,6,000 000,- 2.750 000 1.000 0 00, 0,648 649, - 0.29 7 297 9.250 0 00
3 9.540 5 41,5,891 892,- 3.540 541 1.000 0 00, 0,617 564, - 0.37 1 105 9.540 5 41
4 9.594 9 01,5,841 360,- 3.730 878 1.000 0 00, 0,608 798, - 0.38 8 840 9.594 9 01
5 9.604 0 74,5,824 033,- 3.775 317 1.000 0 00, 0,606 413, - 0.39 3 095 9.604 0 74
6 9.605 4 29,5,818 746,- 3.785 6 99 1.000 0 00, 0,605 777, - 0.39 4 121 9.605 4 29
7 9.605 5 72,5,817 228,- 3.778 139 1.000 0 00, 0,605 777, - 0.39 4 369 9.605 5 72
8 9.605 5 67,5,816 808,- 3.788 717 1.000 0 00, 0,605 566, - 0.39 4 429 9.605 5 67
由表 7,1.1 知,
588 10 ??? mm
,故取
6 0 5 5 6 7.981 ?? m?
,
相应特征向量为 Tvx )374429.0,605566.0,000000.1()8(
1 ???
。
本题精确值 ?60555127.9
1 ??
。
对于矩阵 A 按模最大的特征值还可能有多种情况,这是对幂法做适当
修正,仍可求出结果。
设矩阵 A 的按模最大特征值是互为相反的实根,即
121,0 ??? ???
,且
||...|||||| n321 ???? ????
,由式( 7.1,4 )知
)7.1.7(])()1([
3 1
22111
)(
?
?
????
n
i
i
kiikkk
xxxu
?
?
????
于是
2
1
3 1
22
k
111
2
3 1
22
2k
11
2
1
)(
)2(
])()1([
])()1([
l i ml i m ?
?
?
????
?
?
????
?
???
???
?
?
?
?
?
?
??
??
?
??
ji
k
n
i
i
i
k
ji
k
n
i
i
i
k
k
k
j
k
j
k
xxx
xxx
u
u
即
)(
)2(
1
l i m
k
j
k
j
k u
u
?
??
??
由 式 ( 7,1,7 ) 可以看出
)( ku
随着 k 增大, 呈现有 规律 摆动, 于是 当 k 充分大
时, 有
?
?
?
???
???
???
))1((
))1((
22111
)(
22
1
11
1
1
)1(
xxu
xxu
kkk
kkk
???
???
即
?
?
?
???
??
???
??
)2)1(
2
22
1
1
1)(
1
)1(
11
1
1
)(
1
)1(
xuu
xuu
kkkk
kkk
???
???
除去一个常因子,我们得到特征向量
?
?
?
??
??
?
?
)(
1
)1(
2
)(
1
)1(
1
kk
kk
uux
uux
?
?
例 7.1,2 试用幂法求矩阵
?
?
?
?
?
?
?
?
?
?
?
1- 3- 16
2- 2- 16
1 1- 4
A
按模最大的特征值和相应的特征向量。
解 由算法 7,1.1 得计算结果如表 7.1,2 所示。
表 7,1.2 例 7.1,2 计算结果
k u
( k )
v
( k )
0 0.4 0.5 0.6 0.666 6 67 0.833 3 3 1.000 0 0
1 2.833 3 35 7.000 0 6 7.166 6 73 0.395 3 49 0.976 7 44 1.000 0 0
2 1.604 6 52 2.372 0 96 2.395 3 52 0.669 9 02 0.990 2 91 1.000 0 00
3 2.689 3 19 6.737 8 50 6.747 5 59 0.398 5 62 0.998 5 61 1.000 0 00
4 1.595 6 86 2.379 8 70 2.381 3 09 0.670 0 88 0.999 3 96 1.000 0 00
5 2.680 9 56 6.772 6 16 6.723 2 20 0.398 7 61 0.999 9 10 1.000 0 00
6 1.595 1 33 2.380 3 56 2.380 4 46 0.670 0 98 0.999 9 62 1.000 0 00
7 2.680 9 56 6.721 6 44 6.721 6 82 0.398 7 74 0.999 9 94 1.000 0 00
8 1.595 1 02 2.380 3 96 2.380 4 02 0.670 0 98 0.999 9 97 1.000 0 00
9 2.680 3 95 6.721 5 74 6.721 5 77 0.398 7 75 0.999 9 99 1.000 0 00
10 1.595 0 99 2.380 4 01 2.380 4 01
11 6.380 3 96 15.999 98 15.999 98
从表 7.1,2 可以看出,u
( k )
,v
( k )
呈有规律的间隔摆动
出现,符合我们分析的最大模是互为相反实根情况,于
是从 v
( k )
后,继续作不规范化迭代两次,于是
? ?
? ?
999990.15
398775.0
380396.6
11
1
11
12
1
???
v
u
?
9 9 9 9 9 9.3,9 9 9 9 9 9.3 121 ????? ???
本题精确解
1,4,4 321 ???? ???
。特征向量由式 ( 7.1,8) 得,
Tuux )5 2 1 5 8 4.25,5 2 1 5 8 4.25,7 6 0 7 9 2.12()10(1)11(1 ??? ?
Tuux )4 7 8 3 7 6.6,4 7 8 3 7 6.6,0()10(1)11(2 ??? ?
7.1.2 幂法的加速收敛方法
由幂法原理可知,幂法收敛速度主要受
1
2
?
?
?r
的大小决
定。当 r 接近 1 时,敛速就缓慢。加速收敛方法,容易先想
到 A i t ke n 加速方法。有前幂法论证可知
)9.1.7()(
1
2
1
k
k
cm
?
?
? ??
其中,c 是与 k 无关的常数。由式( 7.1.9 )可得
11
12
1
11
?
?
?
?
?
?
?
?
?
?
??
k
k
k
k
m
m
m
m
由此可解得
)10.1.7()
2
(
2
12
2
2
~
1
kkk
kk
k
k
mmm
mm
mm
??
?
???
??
?
??
),.,,,2,1()
2
(
2
)()1()2(
)()1(
)()2(
ni
vvv
vv
vvv
k
i
k
i
k
i
k
i
k
ik
i
k
ii
?
??
?
???
??
?
?
7.1.2 幂法的加速收敛方法
定义 7.1.1 设 nnRA ??,且
nT RxAA ??,
,且 0?x,称
( 7, 1, 1 3 )
),(
),(
)(
xx
xAx
xR ?
为 R ay l ei gh 商。特别当
1),( 2
2
?? xxx
时,式 ( 7.1,13) 有更简单
形式
),()( xAxxR ?
。
对称矩阵 A 的 实用幂法迭代格式如下,
任取初始向量
0)0( ?u
,作迭代
)14.1.7(,.,, )2,1,0(
),(
e
e
)()1(
)()1(
)(
)(
2
)(
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
k
vum
Avu
u
v
u
kk
k
kk
k
k
k
k
k
则
1
lim ??
??
k
k
m
)11(l i m
2
1
)(
???
??
或??
x
x
v
k
k
事实上,由式( 7.1 14 )知
2
)0(
)0(k
2
)1-k(
)1-k(
2
)k(
)k(
)(
...
uA
uA
Av
Av
u
u
v
k
k
????
于是由式( 7,1.4 )有
1
21
1
21
1)()( )(l i ml i m ??? ???
???? x
x
A
x
x
Avvm
T
kTk
k
k
k
算法 7.1.2 对称矩阵实用幂法。
( 1) 输入:
? ? ? ? ;,,2,1,,2,1,?niunjia iij ?? ??
( 2);0;0 ?? mk
( 3);
2
1
1
2
?
?
?
?
?
?
? ?
?
n
i
i
ue
( 4)
? ?;,,2,1 nieuv ii ???
( 5)
? ? ;,,2,1
1
nivau
n
j
jiji
??? ?
?
( 6)
? ? ;,,2,1
1
nivum
n
i
ii
??? ?
?
( 7) if
??? 0mm
或
??
?
?
m
mm
1
0
t hen 输出
? ?nvm i,,2,1,?
,
停止计算;
( 8);1;0 ??? kkmm
返回 3 。
例 7,1.3 用算法 7.1.2 计算例 7,1.1 所示。
解 由算法 7,1.2,取初始向量 Tu )1,1,1()0( ?,计
算结果如表 7.1,3 所示。
表 7,1.3 例 7.1,3 计算结果
k v
( k )
m
k
0 0.577 3 50 2 69 19 0.577 3 50 3 69 19 0.577 3 50 2 69 19 4.666 6 66 6 66
1 0.800 0 00 0 00 00 0.600 0 00 0 00 00 0.000 0 00 0 00 00 8.000 0 00 0 00
2 0.81 1 346 339 5 6 0.501 0 58 0 79 39 - 0.242 006 77 6 28 9.551 7 79 0 90 0
3 0.81 1 346 339 5 6 0.501 0 58 0 79 39 - 0.301 094 53 3 94 9.602 2 80 5 1 1 0
4 0.810 6 18 8 21 68 0.493 5 03 3 98 38 - 0.315 200 76 4 14 9.605 3 51 9 44 9
5 0.810 5 04 6 77 30 0.491 5 00 3 61 66 - 0.318 605 65 3 68 9.605 5 39 0 63 5
6 0.810 4 95 0 02 94 0.490 9 79 0 95 12 - 0.319 432 90 1 18 9.605 5 5 0 5 24 2
7 0.810 4 96 7 91 40 0.490 8 44 7 61 06 - 0.319 684 16 0 43 9.605 5 51 1 99 1
8 0.810 4 98 1 29 44 0.490 8 44 7 61 45 - 0.319 684 16 0 43 9.605 5 51 2 72 6
9 0.810 4 98 6 49 84 0.490 8 01 6 10 05 - 0.319 662 90 5 20 9.605 5 51 2 75 3
由表 7,1.3 知,
8
89 10
??? mm
,故取
6 0 5 5 5 1 2 7 5 3.991 ?? m?
,
相应特征向量取
Tvx )03 1 9 6 6 2 9 0 5 2.0,54 9 0 8 0 1 6 1 0 0.0,48 1 0 4 9 8 6 4 9 8.0()9(
1 ???
如果将特征向量规范化,则有
Tx )3 9 4 4 0 2 7 6 1.0,6 0 5 5 5 5 1 2 4.0,0 0 0 0 0 0 0 0 0.1(
1 ??
与例 7,1.1 相比,本次计算结果精度更理想些。
7.1.3 逆幂法
设矩阵 nnRA ?? 非奇异,
?
,
x
是 A 的一特征对,即
xAx ??
。如果
0??
,
则有
xxA 11 ?? ? ?
,这表明 1?
?
,
x
是 1?A 的特征对。如果我们对 1?A 实行 幂法,
则可求出 1?
?
,
x
,这就是逆幂法。逆幂法主要用于计算 A 按模最小的特征值
和相应的特征向量。
对 1?A 实行 幂法,则可求出 1?A 按模最大的特征值
n
n
1
?
? ?
和相应的特征
向量
nx
,从而求得矩阵 A 按模最小的特征对
n?
,
nx
。
逆幂法 的 迭代格式 如下,
任取 初始向量
0)0( ?u
,作 迭代
?
?
?
?
?
?
?
??
?
?
??
)15.1.7(
,.,, )2,1,0(
)m a x (
)(1)1(
)(
)(
)(
kvAu
m
u
v
um
kk
k
k
k
k
k
则
)m a x (
l i m
l i m
1
)(
n
nk
k
k
k
n
n
x
x
v
m
?
??
??
??
?
?
逆幂法 的 迭代格式 如下,
任取 初始向量
0)0( ?u
,作 迭代
?
?
?
?
?
?
?
??
?
?
??
)15.1.7(
,.,, )2,1,0(
)m a x (
)(1)1(
)(
)(
)(
kvAu
m
u
v
um
kk
k
k
k
k
k
则
)m a x (
l i m
l i m
1
)(
n
nk
k
k
k
n
n
x
x
v
m
?
??
??
??
?
?
例 7.1,4 试求例 7.1.1 中矩阵 A 最接近于
9.1
~
?s?
的特征值和相
应的特征向量。
解 由于
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
? ?
?
?
?
?
?
?
?
?
?
?
??
?
?
?
??
15 2 6 3 1 5 7 2 8.03 9 2 1 5 6 8 6 2.0
015 8 8 2 3 5 2 9 4.0
001
2 2 2 8 0 7 0 2.000
1 7 6 4 7 0 5 8 8.03 3 5 2 9 4 1 1 8.00
231.5
1.112
11.23
231.5
9.1 IAB
取
Ty )1,1,1(
0 ?
作半迭代,计算结果如表 7.1,4 。
表 7,1.4 例 7.1,4 计算结果
k v
( k )
m k
1 0.354 5 52 5 27 0.138 1 96 3 75 1 4.488 1 88 9 27
2 0.934 3 90 1 21 - 0.566 073 23 1 1 5.278 4 41 6 55
3 0.964 9 88 8 73 - 0.905 814 41 8 1 8.768 3 30 7 12
4 0.987 3 66 5 28 - 0.979 541 02 8 1 9.91 1 881 091
5 0.997 4 64 9 96 - 0.995 819 01 2 1 9,91 1 881 091
6 0.999 4 86 9 49 - 0.999 152 82 3 1 9.982 1 39 2 19
由式 ( 7.1,18) 知
0 0 1 7 8 9 2 7.2
1
9.1
6
???
m
s
?
特征向量近似值为,
Tvx )1,9 9 9 1 5 2 8 2 3.0,9 9 9 4 8 6 9 4 9.0()6(
1 ???
,
由于 A 是对称矩阵,我们做一次 R ay l ei gh 商加速
0 0 0 0 0 0 0 4 7.2
),(
),(
)6()6(
)6()6(
??
vv
vAv
s
?
与精确值
2?s?
相比,这次加速有较好效果。
7,2 J ac ob i 法
J ac obi 法 是计算实对称矩阵全部 特征值和特征向量的一种古
典方法,它在理论和使用上至今还是有一定的意义。我们知道,
在相似变换下,矩阵的特征值不变。 Ja cobi 法的基本思想是选取
一系列正交矩阵 J ( p
k
,q
k
,θ
k
),对邹振 A 作正交相似变换,即
,.,, )2,1(),,(),,(1 ??? kqpJAqpJA kkkTkkkkk ??
其中,A
1
= A,使得
),..,,,(d i aglim 21 nk
k
DA ?????
??
则
n???,..,,,21
几为所求矩阵 A 的特征值,而
),,( kkk qpJ ?
称为
J ac obi 旋转阵,亦称 Gi v en s 旋转变换矩阵。
7.2.1 古典 Jacobi法
一般设
nn
ij RaA
??? )(
,且 AA T ?,我们取平面旋转矩阵
)(
)(
...
1
1
...
1
1
...
1
),,(
)()(
q
p
cs
sc
qpJ
qp
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
??
其中,
,si n,c o s ?? ?? sc
容易验证
),,( ?qpJ
为正交矩阵,即
IqpJqpJ T ?),,(),,( ??
由矩阵乘法可知,如果
AqpJB ),,( ??
,则 B 的元素中除 p,q 两
行元素有变化,其它元素不变。
如果
),,( ?qpAJC T?
,则
C
的元素中除 p,q 两列元素有变化,
其余元素不变。
如果做变换
),,(),,(1 ?? qpAJqpJA T?
,矩阵 A 做正交相似
变换,元素除 p,q 两行,p,q 两列有变化外,其余元素保持不变,
且
1A
仍保持对称性。
定理 7,2.1 设矩阵 nnRA ??,且 nnT RPAA ???,为正交矩阵,如果
TP A PA ?1,则
( 7, 2, 8 ) 1 FF AA ?
证明 设 ),,2,1(,ni
ii ????
分别是矩阵 A 和 A 1 的特征
量,由假设 TP A PA ?
1
,即 AA ~
1
,故 A 1 与 A 有相同的 特征
值集 合 。
从而有
??
??
?
n
i
i
n
i
i
1
2
1
2
??
由线性代数知:
?
?
?
n
i
i
A
1
)(tr ?
及
)()( 22 AA ?? ?
,因此有
?
?
?
n
i
i
A
1
22
)(tr ?
,由 F 范数定义有
?? ?
?? ?
????
n
i
i
T
n
i
n
j
ijF
AAAaA
1
22
1 1
22
)(tr)(tr ?
同理有
?
?
?
n
i
iFA
1
22
1 ?
综上所述即得证明。
定理 7.2.2 在正交相似变换 ( 7.2.6) 下,有
( 7, 2, 9 ) 2)(2)()( 2222)1(2)1(2)1( pqqqpppqqqpp aaaaaa ?????
证明 由式 ( 7.2,7) 有
22)1()1( )()(
qqppqqpp aaaa ???
22)1()1( ]2si n2) c o s2[()( ??
pqqqppqqpp aaaaa ????
? ? 22)1( 2c o s22s i n)()2( ?? pqppqqpp aaaa ???
以上三个式子相加整理即得证明。
若记矩阵 A 的非对角线元素平方和为
? ?
?
?
?
?
n
i
n
ij
j
ij
aA
1 1
2
)(o ff
则有
)(o f f
2
1
2
AAa
F
n
i
ii
???
?
定理 7.2,3 在正交相似变换 ( 7.2.6) 下,如果
0?pqa
,选择 ? 满足
( 7, 2, 1 0 )
2
2c o t
pq
qqpp
a
aa ?
??
则
)(o f f)(o f f 1 AA ?
证明 由于 ? 选 择 满 足 式 ( 7.2,10),即有
0)1( ?pqa
。由式 ( 7.2.7),式 ( 7,2.8) 和式 ( 7.2.9) 有
)(o f f
2)(o f f
2)(
))()(()(
)()(o f f
2
222
,
1
2
2
2)1(2)1(
,
1
2)1(
2
1
2)1(
2
11
A
aA
aaaaA
aaaA
aAA
pq
pqqqpp
n
qpi
i
ii
F
qqpp
n
qpi
i
ii
F
n
i
ii
F
?
??
?????
????
??
?
?
?
?
?
?
?
?
定理 7.2.4 (Ja co bi 法收敛性定理 ) 设
nn
RA
?
? 且 AA
T
?,则经
典 Jac ob i 法必收敛,即式 (7,2,2) 成立。
证明 只需证明 0)(o f flim ?
??
k
k
A 。事实上,由定理 7,2,3 证明知,
2)1(
1
)(2)(o ff)(o ff
?
?
??
k
pqkk
aAA
。
由于
)1()1(
m a x
?
?
?
?
k
ij
ji
k
pq
aa,故有
2)1(
1
))(1()(o ff
?
?
??
k
pqk
annA
,
即
)(o ff
)1(
1
)(
1
2)1(
?
?
?
k
k
pq
A
n-n
a
故
)(o f f]
)2(
2
1[)(o f f
1?
?
??
kk
A
nn
A
反复逆推上式得
)( 0)(o f f]
)2(
2
1[)(o f f ???
?
?? kA
nn
A
k
k
7.2.2 Jacobi法的改进
经典 J a c o bi 法的一个主要缺点是每次迭代都要选
主元,当矩阵 A 的阶数 n 较大时,十分耗时。常见改
进方案有循环 J a c o bi 法和过关 J a c o bi 法。
循环 J a c o bi 法的做法是,p 依次取 1,2,…,n - 1,而 q
依次取 p +1,p +2,…,n,进行旋转变换,而不选主元,如
果 a
pq
=0,则不旋转,取下一个元素,如此旋转几次可
达目的。
过关 J a c o bi 法是对循环 J a c o bi 法再做一些改进。
在循环 J a c o bi 法中给予一个“过关值” a,当 | a
pq
| <= a
时,此元素不旋转,让其过关,否则才做旋转变换。
算法 7.2.1 过关 J aco bi 法。
( 1) 输入:
? ? ;,,,2,1,?njia ij ??
? ?;,,,2,1,0 jinjir ij ??? ?
? ?;,,2,11 nir ii ???
( 2) 计算:;;)(o f f
1
1 ??? ?? A
n
( 3) 对
npqnp,,1,1,,2,1 ?? ????
做
if
1??pqa
t hen 做
1) 计算 c,s
;2)( 1 pqqqpp aaam ???
;
1
)(s i g n
2
2
mm
m
t
??
?
?
;;
1
1
3
2
tcs
t
c ?
?
?
?
2) 计算
1A
中元素
;0;; 1 ?????? qppqpqqqqqpqpppp aataaataaa?
?2 对
ni,,2,1 ??
做
if
qpi,?
t hen;;;;
)1()1(
)1()1(
iqqiiqippiip
iqipiqiqipip
aaaaaa
casaasacaa
????
?????
3) 计算特征向量
对
ni,,2,1 ??
做
;;;;
)1()1(
)1()1(
iqiqipip
iqipiqiqipip
rrrr
crsrrsrcrr
??
?????
( 4) if
??? ?1
t hen 输出
? ? ? ?njirnia ijii,,2,1,,,,2,1 ?? ??
,
停机 el se
n
1
1
?
? ?
返回第 3 步 。
Jacobi方法评述
? 优点:算法简单,有较强的稳定性,无
论矩阵 A的特征值分布如何,Jacobi法总
是收敛的,算法实现容易。适合矩阵阶
数不大时求特征和特征向量。
? 缺点:不能利用原有矩阵的特性,收敛
速度慢。
QR 算法是目前求一般矩阵全部特
征值和特征向量行之有效的 一种方法,
它适合于对称矩阵,也适合于非对称矩
阵 。 QR 算 法 最 早 在 1961 年由
J,G,F r anci s 提出的,后来竟一系列数学
家进行深入讨论斌作出了做有成效的
改进与发展。
7,3 Q R 算法
7.3.1 Householder变换
定义 7.3.1 设 nRw ?,且
12 ?w
,则初等矩阵
)1.3.7( 2)( TwwIwH ??
称为 H ous eho l der 变换矩阵,也称初等镜面反射矩阵。
Householder矩阵基本性质
性质 1 H 是对称正交矩阵,即 1??? HHH T 。
事实上,H 的对称性是显然的,正交性证明如下,
IwwwwwwIwwIHHH ??????? TTT2T2T )(44)2(
性质 2 设
HxyRx n ??,
,则
22 xy ?
。
事实上,
2
2
2
2
)( xxxHxHxHxHxyyy TTTTT ?????
性质 2 的意义是任意向量 nRx ?,在 H ouse h ol der 变换
作用下,Eucl i d 长度不变。此外,由
xwwxHxy T2???
知
wxwyx )2( T??
由于 xw T2 是实数,上式表示向量
yx ?
与向量 w 平行。
性质 3 设
nRyx ?,
,
yx ?
,且
22
yx ?
,则由向量
2
yx
yx
w
?
?
?
确定的 H ouse hol d 矩阵
)( wH
,使得
yxH ?
。
证明 由假设知
1
2
?w
且
yyxx TT ?
,于是有
xyxxyxx
yyxyyxxx
yxyxyx
TTT
TTTT
T
2
2
)(222
)()(
????
????
????
因此
y
yx
xyxyx
xxwwxHx
T
T
?
?
??
????
2
2
))((2
2
例 7,3.1 设
Tx )12,4,3(?
,试求 H 矩 阵, 使
TyHx )0,0,13( ???
。
解
Tyxu )13,4,16(???
,于是
? ?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
???
4 3- 12-
3- 12 4-
12- 4- 3-
13
1
12,4,16
12
4
16
4 1 6
2
1 0 0
0 1 0
0 0 1
2
2
2
u
uu
IH
T
直接验证
THx )0,0,13( ??
。
计算
THxy )0,...,0,( ????
的步骤 如下,
1 )
2
1
1
2
1
))((s i g n ?
?
?
n
i
i
xx?
2 )
T
n
T
n uuuxxxu ),.,,,,(),.,,,,( 2121 ??? ?
3 )
11 )( ux ???? ???
4 )
uxy ??