n阶方阵A的n个特征值就是其特征方程
det(AI)0
的n个根,方程A属于特征值的特征向量x是线性方程组
Axx
的非零解。本章讨论求方阵A的特征值和特征向量的两个常用的数值方法。以及求实对称矩阵特征值的对分法。
5.1 幂 法
在实际问题中,矩阵的按模最大特征根起着重要的作用。例如矩阵的谱半径即矩阵的按模最大特征根的值,它决定了迭代矩阵是否收敛。本节先讨论求实方阵的按模最大特征根的常用迭代法:幂法。
5.1.1幂法的基本思想
幂法是求实方阵A按模最大特征值及其特征向量的一种迭代方法。它的基本思想是:先任取非零
初始向量x0,然后作迭代序列
xk1Axk,k0,1, (5。1)
再根据k增大时,xk各分量的变化规律:按模最大的特征向量会愈来愈突出,从而可求出方阵A的按模最大特征值及其特征向量。
先看一个计算实例。 例1 设矩阵
1A2用特征方程容易求得A的两个特征值为
2 111,23
下面用幂法来计算,取初始向量x01,0,计算向量序列 xk1Axk,k0,1, 具体结果如表5.1所示.
表5.1 幂法计算结果
Tk
0
x1(k)
1
(k) x20
1 2 3 4 5 6 7
考察两个相邻向量对应分量之比:
1 5 13 41 121 365 1093
2 4 14 40 122 3 1094
x1(2)x1(3)x1(4)x1(5)x1(6)x1(7)5,(2)2.6,(3)3.1,(4)2.951,(5)3.016,(6)2.994 (1)x1x1x1x1x1x1(2)(3)(4)(5)(6)(7)x2x2x2x2x2x22,(2)3.5,(3)2.857,(4)3.05,(5)2.983, (6)3.005 (1)x2x2x2x2x2x2由上面计算看出,两相邻向量对应分量之比值,随k的增大而趋向于一个固定值3,而且这个值恰
好就是矩阵A的按模最大的特征值。这一现象是否有普通性?下面进行具体分析。
5.1.2 幂法的计算公式
为简便起见,设矩阵A的几个特征值按模的大小排列如下:
12n
其相应特征向量为u1,u2,un,并且是线性无关的,因此可作为n维向量空间的一组基。
任取初始向量x0x1,x2,(0)(0)(0)xn0,首先将x0表示为
Tx0a1u1a2u2作迭代序列
anun
xk1Axk, k0,1,
则
x1Ax0a11u1a22u2annun
…… ……
kkxkAxk1a11ku1a22u2annun
于是
kkkn2xk1a1u1a2u2anun 11为了得出计算1和u1的公式,下面分三种情况讨论。 1.1为实根,且
12
2
当a10,k充分大时,则有
xka11ku1 xk1a11k1u11xk
所以
xi(k1) 1(k) , u1xk (5.2)
xi2. 1为实根,且12,
23
当a1,a2不为0,k充分大时,则有
xkka1k1u1(1)ka21u2 xk111k1a11u1(1)ka2k1u2
xk2k2k2a11u1(1)k2a21u221xk于是得
x2k2A2xk1xk
(A221I)xk0
所以
1(k2)1xi2x(k),u1xk11xki 1x(k2)i22x(k),u2xk12xki3.1uiv,2uiv,23
当k充分大时,则有
xkka11uk1a22u2
xk1k1k1a11u1a22u2 xk2k2a21k1u1a22u2
于是得
3
5.3)
(xk2(12)xk112xk[若令
k21(12)k11k112]a1u1[k22(12)k12k112]a2u20
12p,12q
得
xk2pxk1qxk0 (5.4)
式(5.4)是以p,q为变量,以xk2,xk1,xk的几个分量为系数的矛盾方程组。
用最小二乘法解矛盾方程组(5.4),求出p,q,然后再解一元二次方程
x2pxq0
得到的两个根便是1、再由
2的近似值。
[A2(12)A12]xk0
可得
(A1I)(A2I)xk(A1I)(xk12xk)0
和
A2ΙA1ΙxkA2Ιxk11xk0
综上所述,可得
1p1P24q 22(5.5)
u1xk12xk
2p122p24q
u2xk11xk
在实际应用幂法时,可根据迭代向量各分量的变化情况来判定属于哪种情况。
若迭代向各分量单调变化,且有关系式xk1cxk,则属于第1种情况;若迭代向量分量变化不单调,但有关系式xk2cxk,则属于第2种情况;若迭代向量各分量变化不规则,但有关系式
xk2pxk1qxk0,则属于第3种情况。
5.1.3 幂法的实际计算公式
4
当k时,若
11,则x的分量会趋于无穷大;若11,则x的分量会趋于零。因此会使
计算机出现上溢或下溢现象。为了防止溢出,可采用如下迭代公式
mkmax(xk)xk yk
xkxkmkxk k0,1,
(5.6)
xk1Αyk
y0(1,1,n,1)T
式(5.6)的更详细的带计算过程的计算公式为:
xi(k)aijy(jk1) i1,2,j1,n
(5.7)
yi(k)xi(k)mk mk||xin(k)||maxxi(k)x(pk) k1,2,i
s(myki1(k)ixi(k))
y0(1,1,,1)T
(p)(p)注:当xk0时,按模最大特征值为正,故计算s时取xi(k),当xk0时,取xi(k)。
由式(5.6)知
xk1Ayk2xk2A2yk3A2xk3Axk2xk3xk2xk3… …
在式(5.8)两端同乘以A,得
xk2Ak1x0xk3x0 (5.8)
Axk1因为
xk2Akx0xk3x0 (5.9)
xkAyk1Axk1xk1Axk1xk1
将式(5.8)、(5.9)两端分别取范数后,代入上式得
5
xkkkkn21a1u1a2u2anun11所以
k112na1u1a2u2anun11kk
当k时,mkxk因此当k充分大时,mk就是按模最大的特征值
利用式(5.9)可得
1 (5.10)
1的近似值。
ykxkAyk1Axk1xkxkxkxk1
另一方面,有
Akx0xkxk1x0 (5.11)
Akx0Aky0x0k1Aky0x0x0
AAy0x0Ak1x1
Ak1y1x1x0 (5.12)
… …
xk将式(5.12)代入式(5.11),有
xk1x0k
ykAkx0Ax0k2k1a1u1a21k1a1u1an21u2u2kknanun1knanun1
从而
当k时,yku1 (5.13) u1这说明归一化向量序列yk收敛于按模最大的特征值所对应的特征向量。因此,当k充分大时,yk就是特征向量u1的近似值。
6
5.1.4 幂法的计算步骤
为节省篇幅,这里仅介绍1231.输入
矩阵的阶n,系数aij(i1,n。
,n;j1,,n),初始向量y0=(1,1,,1)T,允许误差ep
2.输出
特征值和特征向量yi(i1,2,,n)
3.计算步骤
1)给出迭代先导条件 计算公式 s2ep
对应语句 s=2*ep;
2)用幂法求按模最大特征值及特征向量 计算公式 式(5.7) 对应语句
while(s>ep)
{ for(j=1;j<=n;j++)
x[i]=x[i]+a[i][j]*y[j]; m=fabs(x[1]); p=1;
for(i=2;i<=n;i++) if(fabs(x[i])>m) { m=fabs(x[i]); P=i; } S=0;
for(i=1;i<=n;i++) s=s+(x[i]-m*y[i]); for(i=1;i<=n;i++) y[i]=x[i]/m;
}
5.1.5 幂法的计算实例
例2 用幂法求矩阵
21A1201的按模最大特征值和相应的特征向量(ep104)。
解 取xT0(1,1,1),用幂法迭代公式
7
012
mkmax(xk)xk yk
xkxkmkxk k0,1,
xk1Αyk 计算结果如表5.2所示。
表5.2 幂法迭代公式计算结果表 k 0 1 2 3 4 5 2.416 7 -3.416 7 2.416 7 3.416 7 0.707 3 -1.000 0 0.707 3 6 2.414 6 -3.414 6 2.414 6 3.414 6 0.707 1 -1.000 0 0.707 1 1.000 0 2.000 0 3.000 0 2.500 0 2.428 6 xi(k) 1.000 0 -2.000 0 -4.000 0 -3.500 0 -3.128 6 1.000 0 2.000 0 3.000 0 2.500 0 -2.428 6 mk 1.000 0 2.000 0 4.000 0 3.500 0 3.428 570 1.000 0 1.000 0 0.750 0 0.714 3 0.708 3 -1.000 0 yik 0.000 0 -1.000 0 -1.000 0 -1.000 0 1.000 0 1.000 0 0.750 0 0.714 3 0.708 3 T所以1m63.414634,u1y6(0.707143,。事实上,矩阵A的最大特征值1,0.707143)为122,其对应的特征向量u1(22T,1,)。 22 5.2 逆幂法
逆幂法的功能是求A按模最小特征值和和特征向量。
设A为非奇异方阵,12n为A的特征值,u1,,un为其相应的特征向量,则A的特征值为
111121n其相应的特征向量仍为u1,,un。A按模最大特征值的倒数则为阵A按
1模最小特征值。
5.2.1 逆幂法的计算公式
取x0,计算向量序列
xk1A1xk,k0,1, (5.14)
它等价于
Axk1xk,k0,1, (5.15)
8
这样一来,我们可以通过反迭代过程,即通过解方程组(5.14)求得xk1。
当
n1n,an0,k充分大时,则有
xi(k)n(k1),unxk1 (5.15)
xi在实际计算中,为了减少运算量,可先将A作三角分解
ALU
然后再解两个三角形方程组就可以了,再考虑到防止数据溢出,即得逆幂法的实际迭代步骤如下: (1)对A作LU分解 (2)解方程组
LUx(k1)y(k)
即解
Lz(k1)y(k)(k1)z(k1)Uxx(k)(k)y||x(k)||(0)T(0)y(1,1,,1)或y(1,0,令
,0)Tmaxxi(k)x(pk)imkmaxxi(k)x(pk)ix(pk)0x(k)p0
min迭代条件为
1 mk||x(k)mky(k)||
5.2.2 逆幂法的计算步骤
逆幂法的迭代过程与幂法一样,前面已经介绍过LU分解法,这里不再详细叙述逆幂法的计算步
骤。
例1 用逆幂法求矩阵
210A121
012按模最小特征值及相应特征向量。(精度0.05)
解 先对A作三角分解ALU
9
11L20取x0(1,0,0)T,用逆幂法迭代公式
00102132103U01
24003yk得计算结果如表5.3所示。
xkxk;Lzkyk;Uxk1zk k0,1,
表 5.3 逆幂法迭代公式计算结果 k 0 1.000 000 1 0.250 000 0.500 000 0.750 000 0.750 000 0.333 333 0.666 667 1.000 000 0.333 333 0.833 333 1.555 551 2 0.500 000 1.333 333 1.166 667 1.333 333 0.375 000 1.000 000 0.875 000 0.375 000 1.875 000 1.666 667 3 0.937 500 1.500 000 1.250 000 1.500 000 0.625 000 1.000 000 0.833 333 0.625 000 1.312 500 1.708 333 4 1.177 083 1.729 167 1.281 250 1.729 160 0.680 722 1.000 000 0.749 0 0.680 722 1.340 361 1.634 538 5 1.180 722 1.710 843 1.225 904 1.710 843 xi(k) 0.000 000 0.000 000 mk 1.000 000 1.000 000 yi(k) 0.000 000 0.000 000 1.000 000 zi(k) 0.500 000 0.333 333 从上表可看出,
min10.5845作为按模最小的特征值的近似值,m5x(5)(1.1807,1.7108,1.2590)T作为相应的特征向量的近似值,而A的按模最小的特征值的理论值为220.5859.
~5.2.4 用逆幂法求在附近的特征值的计算公式
设与最接近的特征值为i,即有
~|i||j|,ji,j1,作矩阵AI,它的特征值及相应特征向量为
,n
jj和uj,j1,,n
10
若用逆幂法求AI,则有
(AI)xk1xk,k0,1,
则可求得AI按模最小特征值和相应特征向量为
xi(k)ii(k1) xiuxk1i于是得矩阵A在附近特征值和相应特征向量为
~xi(k)ii(k1) xiuxk1i
~5.2.5 用逆幂法求在附近的特征值的计算实例
例2 用逆幂法求矩阵
220A021
012在2.93附近的特征值及相应特征向量(精度ep105)。
解 对矩阵A2.93I作三角分解
100.93A2.93I00.931010.93100取x0(0,0,1),由迭代公式
T
000.93101000.931111000.930.930.93xkykxk得计算结果如表5.4所示。
;Lzkyk;Uxk1zk k0,1,
表5.4逆幂法的计算
11
k 0 0.000 00 1 7.959 06 6.883 79 7.959 06 1.000 00 -0.930 00 0.8 90 1.000 00 -0.930 00 1.8 90 2 12.692 31 -12.803 85 12.837 58 12.837 58 0.988 68 -0.997 37 1.000 00 0.988 68 -0.997 37 2.072 44 3 14.278 43 -14.267 63 14.266 27 14.266 27 1.000 00 -0.999 24 0.999 15 1.000 00 -0.999 24 2.073 60 1m3
xi(k) 1.0000 00 -7.401 92 1.000 00 mk 1.0000 00 0.000 00 yi(k) 0.000 00 1.000 00 0.000 00 z(k)i 0.000 00 1.000 00 1由表5.4知,(A2.93I)的按模最大的特征值为m3,即A2.93I的按模最小的特征值为
,
所以矩阵A的特征值为
1m3
+2.93≈3.000 36,相应的特征向量为(1,-0.999 24,0.999 15)
T
5.3实对称阵特征值的对分法
首先讨论三对角对称矩阵的情形,再讨论一般对称矩阵的情形。
5.3.1 求实三对角阵特征值的对分法
1.实对称三对角的Sturm序列 设实对称三对角阵
c1b1Cb1c2b2b2c3b3bn2cn1bn1 bn1cn其中bi0(i1,,n),用p()表示CI的i阶主子式,并规定p0()1,b00,则
pn()det(CI)为矩阵C的特征多项式,且容易验证
p0()1 p1()c1
p2()(c2)p1()b12p0() (5.17)
… …
12
pi()(ci)pi1()bi21pi2()
称多项式序列{p0(),p1(),,pn()}为矩阵C的Sturm序列。 Sturm序列具有以下性质:
性质1 pi()0(i1,,n)仅有实根。
性质2 相邻两个多项式pi1()和pi()无公共零点。 性质3 设是pi()0的根,则 pi1()pi1()0。
性质4 pi()0(i1,开来。
性质5 设1in1,且是pi()0的根,则当正数足够小时,pi1()和pi()在区间
并且 pi()0的根把pi1()0的根严格地隔离,n)的根全是单根,
~~(,)内同号, pi()和pi1()在区间(,)内同号。
2.序列在某点的连号数
序列Sturm在{p0(),p1(),,pn()}在时的连号数pi(),由以下规则确定
(1) 若pi1()和pi()同号,则从pi1()到pi()有1个连号数;若符号相反,则无连号数。 (2)pi()0,则以pi1()的符号作为它的符号。 (3)p()={p0(),p1(),,pn()}的连号数。 如:p(2)1,0,1,0,1的连号数=2。 3.Gerschgorin定理 定义1 设 A(aij)Rnn~~~~~~~,定义
Di{zzaiiri}ni1,,n (5.18)
为第i个Gerschgorin盘(或称圆盘),其中riaj1jiij为Di的半径。
定理1(Gerschgorin定理或称圆盘定理)设A(aij)Rnn,则A的全部特征值都在区域
DD1D2Dn内。
,n,有zaiiri。所以矩阵AzI是严格对角占优的,而严格
证明 当zD内,即对i1,对角占优矩阵是非奇异的,即det(AzI)0,故z不是A的特征值。换句话说,方阵A的全部特征
13
值都属于D。
由Gerschgorin定理立即可得 推论1 矩阵A的特征值满足
minimin(aiiaij)iin
j1ji (5.19)
nmaxiimax(iaiiaij)jj1i推论2 设C为实对称三对角方阵,令
mmin1jncjbjbj1,Mmax1jncjbjbj1则C的所有特征值都属于区间m,M。
4.求实对称三对角阵的对分法
定理2 矩阵C在区间[,)内特征值的个数等于(~)。 证明略。
例1 求三对角矩阵
2100C1210 01210012在2,0内特征值的个数。
解 首先写出C的Sturm序列
P01, P12,
P22P1P0 P32P2P1 P42P3P2
再分别计算Sturm序列在-2和0两点的连号数
(2)1,0,1,0,1}2(0)1,2,3,4,5}0
所以在2,0上有202个特征值。
14
5.20)
(利用定理2和Gerschgorin定理,由对分法就可将矩阵C的特征值进行隔离,具体步骤如下: 1. 求矩阵C的Sturm序列;
2. 根据Gerschgorin定理求出C的全部特征值的上界M和下界m; 3. 将区间m,M对分,取中点1mM,若1k,则矩阵C在区间1,M有k个特征2值,在区间m,1内有nk个特征值,再分别计算m,1及1,M的中点2,分别计算2,3,
3,继续下去,总可将m,M分成若干个小区间,使得矩阵C在每个小区间上至多有一个特征值,
这样就可以将C的n个特征值隔离开了。
4. 继续对有根区间使用对分法,就可求出满足给定精度的特征值的近似值,这就是求实对称三对角方阵特征值的对分法。
例2 用对方法将三对角方阵
12C002120021200 21的特征值进行隔离,并求出其最大特征值,使它至少有2位有效数字。
解 设C的四个特征值的次序为1234,则im,M,由圆盘定理可得特征值的上界,下界分别为
Mmaxcjbj1bj5
1j4mmincjbj1bj3
1j4即矩阵C的特征值属于区间[3,5]。
C的特征多项式序列为
P01;P11
P1P i2,3,4 ii14Pi2(1)分别计算各点的连号数,具体结果见表5.5
表5.5各点连号数的计算 iPi 0 1 2 3 4 pi(3)1 4 12 32 80 Pi(1) Pi(1) Pi(3) Pi(5) 连号数 4 3 2 1 0 1 2 +0 -8 -16 1 +0 -4 -0 16 1 -2 -0 8 -16 1 -4 12 -32 80 因此,区间3,1,1,1,1,3,3,5各有C的一个特征值,这样就将C的特征值进行了隔离。 (2)最大特征值13,5,计算1列表如下。
15
表5.6 最大特征值所在区间划分
Pi i 0 1 2 3 4 连号数 1所在区间 14,5 Pi4 Pi4.5 Pi4.25 Pi4.22 1 -3 5 -3 -11 1 -3.5 8.25 -14.875 19.062 1 3.25 6.5625 -8.328 0.816 1 -3.22 6.3684 -7.626 -0.917 1 0 0 1 14,4.5 14,4.25 14.22,4.25 由于1区间4.22,4.25,取该区间内任意一点作为最大特征值的近似值都具有2位有效数字。
5.3.2实对称阵的三对角化
为了用对分法求任意实对称阵A的特征值,首先需要正交变换将其化为三对角矩阵,此过程可以通过Househoulder矩阵实现.
n定义2 设vR*Rn\\{0},n阶Househoulder矩阵HH(v)定义为:
HI其中I为n阶单位阵。
显然,对任意xR,有
n2Tvv (5.21) vTvvTxHxx2Tv
vvnnT因此向量Hx,x以及v共面。特别地,如果xR,且vx0,有Hxx,于是由在R上垂直于
v的所有向量x组成的超平面H在映射xHx下是不变的。最后,对任意xRn
vTHxvTx
因此,如果x和v之间的夹角用表示,则v和Hx的夹角等于。易知:Hx是x关于超平面H的像。由于此原因,映射xHx又称为Househoulder反射,或者称为镜面反射(见图5-1)。
x v
u H Hx
16
图5-1 镜面反射图
引理1 Househoulder阵是对称且正交的。
证明 因为ITI, (vTv)TvTv,(vvT)TvvT且vTv是一个正数,H的对称性显然。又
HTHHHTH2I44Tvv(vvT)(vvT) TT2vv(vv)(vvT)(vvT)v(vTv)vT(vTv)(vvT)
所以
HTHI
因此H为正交阵。
引理2 设1kn, Hk为k阶Househoulder阵,则下列分块形式的矩阵
HInk 0 (5.22) T0 Hk仍是Househoulder阵,其中Ink为nk阶单位阵,0为nkk阶零阵。
n定理3 设b,uR* , bu, bn证明 取vbuR*,取
2u2,则存在Househoulder阵H,使得Hbu。
HI且
2Tvv TvvTHbb b2bubuTbubuT2bub bubTbbTuuTbuTuTnb
因为 b2u2, 所以bbuu。又因为bubiuiuTb,故
TTi1Hbb2bTbuTb2bbubTTbu
bbuu
17
Hbusgn(br1)b22br1bn
00b1注 ur1的符号由下列原则决定:“使ur1与br1异号”,否则,在bu中第r1个分量的计算中可能出现两个相近的数作减法。
Househoulder阵H的形状讨论如下: 令
000rvbubr1ur1记
Pbr2nrbn显然有v22Pnr22,且
0rTT20PrnrTP2vvHITInr2vvPnr20r,nr0r,r2T0PPnr,rnrnrI2Pnr2Ir,r0nr,r0r,nr2PnrPnTrPnr22
r1n,定理4 设已知向量b的nr1个分量不全为量,则必有一个Householder阵H,
使得Hb的前r个分量与向量b的前r个分量对应相等,而Hb的后nr1个分量都等于零。
证明 设
18
b1u1bu22 bbr, uur
bur1r1 bunn令
bi i1,,r2uisignbr1br21bn0 ir2,,nn满足ubR*且u2ir1
b2。
T由定理3知:对于向量b及与其等长的不同向量u,必定存在一个Househoulder阵
HI2bubuTbubu,使得对称阵A经过Househoulder变换后具有以下性质:
性质1 A与HAH相似。
性质2 HAH为对称阵。
性质3 HA的前r行与A的前r行相同。 证明 将H、A分别写成分块形式:
Ir,rH0nr,r则
0r,nr2PnrPnTrPnr22I 0Ar;记A0 DCB An-rAHArDCB DAnr性质4 HAH的前r列与HA的前r列相同。 证明
ArHAHDC BIr DAn-r00 D
ArDCnn
DAnrD,Hk kn2,使由递推公式
B定理5 设ARsym,则存在Househoulder阵H1,H2,
19
A1A
Ai1HiAiHi i1,得到的对称矩阵Ak1是三对角阵。
证明略。
例3 用Househoulder变换将对称阵
,k (5.23)
62A3128349118 17化为三对角阵。
解 n4,则至多通过n2422次Househoulder变换可将对称阵A化为三对角阵。
第一步 令A1A,记
62b1
31取
6223212u100则
614 000214, vv1b1u11312242.9666
0001T0-0.5345 -0.8018-0.2673v1v1 H1I22v120 -0.8018-0.5811 -0.13960-0.2673-0.1396 0.9535所以
63.7413.741713.875H1A1H101.8070-3.139
70061.8079 -3.1394A2
94.2912-6.00794-6.00792.851220
第二步 记
3.74113.875b21.8073.139取
76 943.741713.87563.6228 03.741713.8756u2221.80793.13940则
00, vv2b2u225.43073.13941T02v2v2H2I2v2200所以
2239.3483
000100 0-0.49900.866600.86660.49906 -3.741700 -3.741713.8576 -3.62270A H2A2H230 -3.62278.4058-3.638700-3.6387-1.2634显然,A3为所求对称三对角阵。
用Househoulder变换将对称阵A化为三对角阵算法所涉及程序设计知识较多,这里不再介绍。
21
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- haog.cn 版权所有 赣ICP备2024042798号-2
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务