第八章 矩阵特征值和特征向量的计算
DESCRIPTION
第八章 矩阵特征值和特征向量的计算. 主要知识点. 1 、 幂法 2 、 反幂法 3 、 平行迭代法 4 、 QR 算法 5 、 Jacobi 方法. 特征值与特征向量. 设 A 是 n 阶矩阵, x 是非零列向量 . 如果有数 λ 存在,满足 , (1) 那么,称 x 是矩阵 A 关于特征值 λ 的 特征向量. 如果把 (1) 式右端写为 ,那么 (1) 式又可写为 :. (2). 记. 它是关于参数 λ 的 n 次多项式,称为矩阵 A 的特征多项式, 其中 a 0 =(-1) n | A |. - PowerPoint PPT PresentationTRANSCRIPT
4
如果把如果把 (1)(1) 式右端写为 ,那么式右端写为 ,那么 (1)(1) 式又可写式又可写为为 ::
x( ) 0I A x
| | 0I A 即
11 1 0( ) | | ...n n
nf I A a a a
记
它是关于参数 λ的 n 次多项式,称为矩阵 A的特征多项式, 其中 a0=(-1)n| A| .
(2)
5
显然,当显然,当 λλ 是是 AA 的一个特征值时,它必的一个特征值时,它必
然是 的根然是 的根 . . 反之,如果反之,如果 λλ 是 是
的根,那么齐次方程组的根,那么齐次方程组 (2)(2) 有非零解向量有非零解向量 xx ,,
使使 (1)(1) 式成立式成立 . . 从而,从而, λλ 是是 AA 的一个特征的一个特征
值值 ..
A A 的特征值也称为的特征值也称为 AA 的特征根的特征根 ..
( ) 0f
6
JacobiJacobi 方法方法
理论上,实对称矩阵 A 正交相似于以 A 的特征值为对角元 的 对角阵 . 问题是如何构造这样的正交矩阵呢 ? Jacobi 方法就是通过构造特殊的正交矩阵 序列,通过相似变换使 A的非对角线元素逐次零化来实现对角化的 .
平面旋转矩阵与相似约化
先看一个简单的例子 .
7
设 是二阶实对称矩阵,即 a21=a12 ,
其特征值为 λ1, λ2. 令
使得 记
容易验证 BT=B, 且
11 12
21 22
a aA
a a
cos sin
sin cosR
1
1
TR AR
11 12
21 22
T b bB R AR
b b
2 211 11 12 22
2 212 21 22 11 12
2 222 11 12 22
cos 2 sin cos sin
( )sin cos (cos sin )
sin 2 sin cos cos
b a a a
b b a a a
b a a a
9
经典的经典的 JacobiJacobi 方法 方法 设 A 是实对称矩阵,记 A1=A.Jacobi
方法的基本思想是用迭代格式 Ak+1=QT
kAkQk , k=1,2,…
构造一个相似矩阵序列,使{ Ak }收敛于一个对角阵 . 其中 Qk 为平面旋转矩阵,其旋转角 θk 由使 Ak 的绝对值 最大元a(k)
pq=a(k)qp=0 或按列依次使 A 的非对角
元 零化来确定 .
10
定理定理 设设 AA 是是 nn 阶实对称矩阵,那么由阶实对称矩阵,那么由JacobiJacobi 方法产生的相似矩阵序列{方法产生的相似矩阵序列{ AAkk }的非}的非对角元收敛于对角元收敛于 0. 0. 也就是说,{也就是说,{ AAkk }收敛于}收敛于以以 AA 的特征值为对角元的对角阵的特征值为对角元的对角阵 ..
记 其中 Ek是 Ak 除主对角元外的矩阵 . 由平面旋转矩阵的性质
中 , 对于 , 有
因此 ,
( )( )kk ii kA diag a E
1T
k pq k pqA R A R ,i p q( 1) 2 ( 1) 2 ( ) 2 ( ) 2( ) ( ) ( ) ( )k k k kip iq ip iqa a a a
2 2 ( ) 21 2( )kk k pqF F
E E a
11
又由假设 ,
因此 ,这样 , 便有
从而 , 当
2 2( ) ( ) ( ) ( )
1 ,, 1
max ( 1)n
k k k kpq ij pq pq
i j n i ji j i j
a a a n n a
且 且
且
22 ( )( 1) kk pqFE n n a
2 2 2
1 12 2
2 2(1 ) (1 )kk kF F F
E E En n n n
1, 0k Fk E
12
实用的实用的 JacobiJacobi 方法方法 • 循环 Jacobi 方法必须一次又一次扫描,才能使{ Ak }收敛于对角阵 ,计算量很大 . 在实际计算中,往往用一些特殊方法来控制扫描次数,减少计算量 . 下面介 绍一种应用最为广泛的特殊循环 Jacobi 方法——阈 Jacobi 方法 . 阈 Jacobi 方法首先确定一个阈值 δ ,在对非对角元零化的一次扫描中,只对其中绝对值 超过阈值的非对角元进行零化 . 当所有非对角元素的绝对值都不超过阈值后,将阈值减少, 再重复下一轮扫描,直至阈值充分小为止 . 减少阈值的方法通常是先固定一个正整数 M≥n ,扫描一次后,让 . 而阈值的下界是根据实际问题的精度要求选定的 .
M
13
用用 JacobiJacobi 方法计算特征向量方法计算特征向量• 假定经过 k 次迭代得到 Ak+1=RT
k…RT1AR1…Rk,
(15) 这时 Ak+1 是满足精度要求的一个近似的对角阵 . 如果记 Qk=R1R2…Rk=Qk-1Rk, (16)
那么, Qk 是一个正交矩阵,且 (15) 式又可表示为 Ak+1=QT
kAQk.当 Ak+1 的非对角元素充分小, Qk 的第 j列 qj 可以看成是近似特征值 a(k+1)
jj 相应的特征向量了 .
14
在实际计算中,可以按 (16) 式在迭代过程中形成 Qk ,把 Qk 看成是 Qk-1 右乘一个平面旋转矩阵得到 . 不妨记 Q0=I, Qk
的元素按下式计算:( ) ( 1) ( 1)
( ) ( 1) ( 1)
( ) ( 1)
cos sin ,
sin cos ,
, , ,
1, 2,
k k kip ip k ip k
k k kiq ip k iq k
k kij ij
q q q
q q q
q q j p q
i n
15
反幂法 反幂法 • 反幂法可以求一个非奇异矩阵 A 的逆矩阵 A-
1 的按模最小的特征值及相应的特征向量,又可以求 A 的一个近似特征值相应的特征向量 .
• 求按模最小特征值及相应特征向量的反幂法 , 又称为反迭代法 .
1
( 1) 1 , 0,1,
kk
k
k k
Tk k k
Tk k
xz
x
LUx z
z xk
z z
16
求近似特征值的特征向量的反幂法求近似特征值的特征向量的反幂法
• 先对矩阵 进行 LU 分解,记 那么,
(7)
下面介绍一种选取特殊的初始向量 x0 的反幂法——半迭代法 .
l I A l I A LU
1 , 0,1,
kk
k
k k
k k
xz
x
Ly z
Ux y k
17
• 假设 , 选取初始向量 x0 满足‖ x0‖∞=1 ,这时 z0=x0. 对照 (7) 式中的第二个式子 . 可把 z0 看成满足 Le=z0.(8)
这里, e=(1,1,…, 1)T,而 z0 的各个分量的取值多少是无关重要的 . 这样,在第一个迭代步的计算中,只需求解 (7) 式中的上三角方程组 Ux1=e. “ 半迭代法”的命名也由此而得 .
l I A
18
QRQR 方法 方法
定理设 A是 n 阶矩阵,其 n 个 特征值为 . 那么存在一个酉矩阵 U ,使U H AU 是以为 对角元的上三角矩阵 .
1 2, , , n
1 2, , , n
两个基本定理
定理设 A是 n 阶实矩 阵,那么,存在一个正交矩阵 Q ,使 Q T AQ 为一个准上三角矩阵,它的对角元是 A 的一个特征值,对角元上的二阶块矩阵的两个特征值是 A 的一对共轭复特征值 .
19
相似约化为上相似约化为上 HessenbergHessenberg 矩阵矩阵
对一般 n 阶矩阵, QR 算法的每一个迭代步需要 O(n 3 ) 次乘法运算 . 如果矩 阵阶数稍大,这个算法几乎没有实际的应用价值 .
通常采用的方法是先将矩阵相似约化为上Hessenberg 形式的矩阵,在此基础上应用QR 迭代 . 这时,一个 QR 迭代步的乘法运算次数只需 O(n 2)次 .
20
所谓上 Hessenberg 矩阵是指一个 n 阶矩阵 A ,如果当 i>j+1 时, aij=0 ,称A 为上 Hessenberg 矩阵 . 例如:一个5 阶的上 Hessenberg 矩阵具有如下的形式: * * * * *
* * * * *
0 * * * *
0 0 * * *
0 0 0 * *
A
下面介绍 QR 方法时,都假设矩阵 A 是一个上 Hessenberg 矩阵 .
22
一、一、 QRQR 算法的基本思想 算法的基本思想 •记 A = A 1且有 A 1= Q 1R1. 将等号右边两
个矩阵因子的次序交换,得 A 2= R 1Q 1,且
, (3) 即 A 2~ A 1 .
不难证明 :即 Ak+1~ Ak~…~ A 1,矩阵序列{ Ak }有
相同的特征值 . 记
12 1 1 1A Q AQ
1 1 11 1 1k k k k k k kA Q A Q Q Q A Q Q
1 2k kQ QQ Q 1 2k kR R R R
23
容易得到 是 Ak 的一个 QR 分解k k kA Q R
如果 A 是一个满秩的上 Hessenberg矩阵,可以证明,经过一个 QR 迭代步得到的 A2= Q -1
1 A1Q 1仍然是上Hessenberg 矩阵 . 因为上 Hessenberg 矩阵次对角线以下的元素全为 0 ,因此,只要证明,当 k→∞ 时,由迭 代格式 (4) 产生的矩阵 Ak 的次对角元趋向于零就可以了 .
24
二、 二、 QRQR 算法的收敛性 算法的收敛性 • 定理设 n 阶矩阵 A 的 n 个特征值满足 |λ1 |>|λ 2 |>…>|λn|>0 ,其相应的 n 个线性无关特征向量为 x1, x2,…, xn.
记 X = (x1,x2,…,xn), Y= X -1 . 如果 Y 存在 LU 分解,那么,由 (4) 式产生的矩阵Ak 基本收敛于上三角矩阵 R. 这里,基本收敛的含义指{ Ak }的元素中除对角线以下的元素趋于零外,可以不收敛于 R 的元素 .
25
三、 三、 QRQR 算法的迭代过程 算法的迭代过程 • 1. 一个 QR 迭代步的计算 ①对 l=1, 2 ,…, n-1 ,构造 n-1 个平
面旋转矩阵 Pl,l+1,使 A1 的次对角元全部零化,实现 A1的 QR 分解的计算,
这里 ,
, 1 , 1
, 1 , 1 1, 1,
, 1, 2,l l l l ll lj
l l l l l l l l
c s a aj l l n
s c a a
1,, 1 , 12 2 2 2
1, 1,
, l llll l l l
ll l l ll l l
aac s
a a a a
2 2
1,ll l lr a a
26
②用 Pl,l+1 右乘 (24) ,所得结果也放回矩阵A 相应的元素中 .
, 1 , 1, , 1 , 1
, 1 , 1
( , ) ( , ),
1, 2, , 1
l l l li l i l il i l
l l l l
c sa a a a
s c
i l
27
QRQR 算法的迭代控制算法的迭代控制 当迭代步数 k 充分大时,由迭代格式 (4) 产
生的 Ak 的次对角元趋于 0. 在 实 际计算中,控制迭代次数常用的一种办法是,预先给定一个小的正数 ε ,在一个迭代步的计 算结束后,对 l=n-1, n-2,…, 1 ,依次判别次对角元的绝对值是否满足 或更严格的准则是 或不太严格的准则是
如果上面三个不等式中有一个成立, 把 看做实际上为零 .
1,l la A 1, 1, 1min{ , }l l ll l la a a 1, 1, 1{ }l l ll l la a a
1,l la