矩阵特征与特征向量的计算
第三章第三章 矩阵特征与特征向量的计算矩阵特征与特征向量的计算3.1 引言引言在科学技术的应用领域中,许多问题都归为求解一个特征系统。如动力学系统和结构 系统中的振动问题,求系统的频率与振型;物理学中的某些临界值的确定等等。设 A 为 n 阶方阵,,若,有数使nn ijRaA0xRxnAx x (5.1) 则称为 A 的特征值,x 为相应于的特征向量。因此,特征问题的求解包括两方面 1求特征值,满足 (5.2)0detIA2求特征向量,满足齐方程组0xRxn(5.3)0xIA称()为 A 的特征多项式,它是关于的 n 次代数方程。 关于矩阵的特征值,有下列代数理论, 定义定义 1 设矩阵 A, BR nn,若有可逆阵 P,使APPB1 则称 A 与 B 相似。 定理定理 1 若矩阵 A, BR nn且相似,则 (1)A 与 B 的特征值完全相同; (2)若 x 是 B 的特征向量,则 Px 便为 A 的特征向量。 定理定理 2 设 AR nn具有完全的特征向量系,即存在 n 个线性无关的特征向量构成 Rn的一组基底,则经相似变换可化 A 为对角阵,即有可逆阵 P,使nDAPPO211其中i为 A 的特征值,P 的各列为相应于i的特征向量。 定理定理 3 AR nn,1, , n为 A 的特征值,则 (1)A 的迹数等于特征值之积,即 niiniiiaAtr11(2)A 的行列式值等于全体特征值之积,即nAL21det定理定理 4 设 AR nn为对称矩阵,其特征值12n,则 (1)对任 AR n,x0,1,,xxxAx n(2),,min 0 xxxAxxn(3),,max 01xxxAxx定理定理 5 (Gerschgorin 圆盘定理) 设 AR nn,则 (1)A 的每一个特征值必属于下述某个圆盘之中,(5.4)niaaznijjijii,, 2, 1,1L(5.4)式表示以 aii为中心,以半径为的复平面上的 n 个圆盘。nijjija1(2)如果矩阵 A 的 m 个圆盘组成的并集 S(连通的)与其余 n m 个圆盘不连接,则 S 内恰包含 m 个 A 的特征值。 定理 4 及定理 5 给出了矩阵特征值的估计方法及界。 例 1 设有 411101014 A估计 A 的特征值的范围。 解 由圆盘定理,A 的 3 个圆盘为图 5.1D1 14 zD2 20 zD3 24 z见图 5.1。 D2为弧立圆盘且包含 A 的一个实特征值1(因为虚根成对出现的原理) ,则315。而2,3D1D2,则,即6maxiA63A3.2 乘幂法与反幂法乘幂法与反幂法 在实际工程应用中,如大型结构的振动系统中,往往要计算振动系统的最低频率(或 前几个最低频率)及相应的振型,相应的数学问题便为求解矩阵的按模最大或前几个按模 最大特征值及相应的特征向量问题,或称为求主特征值问题。3.2.1 乘幂法乘幂法 乘幂法是用于求大型稀疏矩阵的主特征值的迭代方法,其特点是公式简单,易于上机 实现。 乘幂法的计算公式为 设 AR nn,取初始向量 x0R n,令 x1 Ax0,x2 Ax1,,一般有(5.5)1kkAxx形成迭代向量序列xk。由递推公式(5.5) ,有(5.6)0122xAxAAxAxkkkkL这表明 xk是用 A 的 k 次幂左乘 x0得到的,因此称此方法为乘幂法, (5.5)或(5.6)式称 为乘幂公式乘幂公式,xk称为迭代序列迭代序列。 下面分析乘幂过程,即讨论当 k时,xk与矩阵 A 的主特征值及相应特征向量的 关系。 设 A aijnn有完全的特征向量系,且1, 2,, n为 A 的 n 个特征值,满足nL21v1, v2,, vn为相应的特征向量且线性无关,从而构成 Rn上的一组基底。 对任取初始向量 x0 Rn,可由这组基底展开表示为(5.7) njjjnnvvvvx122110L其中1, 2,, n为展开系数。将 x0的展开式(5.7)代入乘幂公式(5.6)中,得(5.8)11 jknjjjnjjkkvAvAx 利用jk jjkvvA(5.8)式为(5.9)jk jnjjkvx 1(1)如果 A 有唯一的主特征值,即,设1 0,且由(5.9)式,有L21kkjk jnjjkkvvvx 11112111其中,由于,故当 k 充分大时, k 0,此时jkijnjjkv 2njj,, 3, 2, 11L(5.10)111vxkk对 i 1, 2, , n,若1v1i 0,考虑相邻迭代向量的对应分量比值,(5.11)1 111111 1 1ikikk ik i vv xx即对 i 1, , n(5.12)11 limk ik ikxx这表明主特征值1可由(5.11)或(5.12)式得到。 由于迭代序列 xk,当 k 充分大时, (5.10)式成立,xk与 v1只相差一个常数因子,故 可取 xk作为相应于主特征值1的特征向量的近似值。迭代序列 xk的收敛速度取决于的大小。12 (2)如果 A 的主特征值不唯一,且可分三种情况讨论L321a)1 2;b)1 - 2;c)21情况 a)当1 2时,A 的主特征值为二重根,根据(5.9)式221111322111kkjk jnjjkkvvvvvx 当 k 充分小时,由于,j 3,, n, k 0,则11j22111vvxkk对 i 1, 2, , n,如果,则02211ivv(主特征值)11 limk ik ikxx且 xk收敛到相应于1 2的特征向量的近似值。 这种重主特征值的情况,可推广到 A 的 r 重主特征值的情况,即当且rL2111r时,上述讨论的结论仍然成立。 情况 b)当1 - 2时,A 的主特征值为相反数, (5.9)式为 1 1 122111132211132121113222111kkkjk jnjjkknjjk jjkkknjjk jjkkkvvvvvvvvvvvx 当 k 充分大时,,j 3, 4, , n, k 0,则11j(5.13) 122111vvxkkk由于(5.13)式中出现因子-1 k,则当 k 变化时,xk出现振荡、摆动现象,不收敛,利用-1 k的特点,连续迭代两步,得 1 122112 1222 112 11vvvvxkkkkk从而,对 i 1, 2, , n,若,则0 12211ikvv(5.14)2 12 limk ik ikxx开方之后,便得到 A 的以上主特征值1, 2 - 1。 为计算相应于1, 2的特征向量,采取组合方式,(5.15)11 111 1 112vCvxxkkkk(5.16)22 221 11 112 1vCvxxkkkkk可见分别为相应于1与2的特征向量。22 11,vCvCkk情况 c)当时,A 的主特征值为共轭复根。21因 A 为实矩阵,,于是由AA111vAv有1211vvAAv即(v1与 v2为互为共轭向量) 。21vv 设,,对任取 x0 R n,展开式(5.7)可为ie1ie2(5.17) njjjvvvx311110将(5.17)式代入(5.9)式,jk jnjjkikkiikkjk jnjjkkkvvevevvvx 32113121111同理,当 k 充分大时(5.18)1111ikikkkevevx对 j 1, 2,, n,设复数表示i jji jjerverv,1111则(5.18)式的复数表示可为ki jki jkk jererx连续迭代,得(5.19) 2cos2 1cos2cos22211krxkrxkrxjkk jjkk jjkk j利用三角函数运算性质及1、2的复数表示,不难验证。0211 212k jk jk jxxx令(5.20)2121,qp解方程(j 1, 2, , n)(5.21)012k jk jk jqxpxx求出 p, q 后,再解出主特征值1、2,得(5.22)22212222pqippqip同样,采取组合方式求相应于1、2的特征向量。由于(5.23)11 11211 21vCvxxkkkk(5.24)22 22122 11vCvxxkkkk则可分别取(5.23) 、5.24)左端的组合表达式作为相应于1、2的特征向量的近似值。 通过上述分析,有 定理定理 6 设 A Rnn有完全特征向量系,若1, 2,, n为 A 的 n 个特征值且满足nL21对任取初始向量 x0 Rn,对乘幂公式1kkAxx确定的迭代序列xk,有下述结论(1)当时,对 i 1, 2, , n2111 limk ik ikxx收敛速度取决于的程度,r 2 n时,取21 2* 0n则为0的极小值点。这时* 0122122122* 01* 02 2 21 2121 21 nnnn原点移位法是一个矩阵变换过程,变换简单且不破坏原矩阵的稀疏性。但由于预先不 知道特征值的分布,所以应用起来有一定困难,通常对特征值的分布有一个大略估计,设 定一个参数0进行试算,当所取0对迭代有明显加速效应以后再进行确定计算。 例 3 计算A的主特征值 0 . 225. 05 . 0 25. 00 . 10 . 1 5 . 00 . 10 . 1A解 先用规范化乘幂法计算,得表 5.2 表 5.2kyk xk/maxxk1 max xk01, 1, 1 10.9091, 0.8182, 1T2.75 190.7482, 0.6497, 1T2.5365374 200.7482, 0.6497, 1T2.5365323主特征值1及特征向量 v1为(8 位有效数字)1 2.5362258 v1 0.74822116, 0.64966116, 1T 而用规范化乘幂法计算的相应近似值为1 max x20 2.5365323 v1 y20 0.7482, 0.6497, 1T 如果采用原点位移的加速法求解,取0 0.75,矩阵 b A - 0I 25. 125. 05 . 0 25. 025. 015 . 0125. 0B对矩阵 B 应用规范化乘幂法公式见表 5.3。 表 5.3kyk xk/maxxk1 max xk01, 1, 1T 90.7483, 0.6497, 1T1.7866587 100.7483, 0.6497, 1T1.7865914可见5365914. 2011此结果与未加速的规范化乘幂法公式计算结果相比,收敛速度要快得多。 在已经求出主特征值1及特征向量 v1以后,可将原矩阵进行修改,使修改后的矩阵按 模最大特征值是原矩阵的按模次大特征值,再用乘幂法去求按模次大特征值及特征向量, 此方法称为降阶过程。 为使问题简单,设 A Rnn为对称矩阵。假定已求出主特征值1及特征向量 v1,记 A1 A,构造矩阵(5.29)1111112vvvvAATT因 A 对称,则具完全特征向量系,且特征向量 vi可两两相互正交,即满足(i 01iTvv2,,n) ,于是011111111 12vvvvvvAvATT(i 2, 3, , n)iiiT iT iivvAvvvvvvAvA1 1111112这表明矩阵 A2除一个特征值1 0 与矩阵 A1不一样之外,其余与 A1具相同特征值,且 A2的按模最大特征值是2,用 A2代替 A1进行乘幂迭代即可求得2及相应的特征向量 v2,而2又为 A1的按模次大特征值。这种做法称为降阶法。 注意,降阶法实际上只可用少数几次,求矩阵的前几个按模最大特征值及特征向量。 因为,每降阶一次,计算精度就会损失或降低一些。3.2.3 反幂法反幂法设 ARnn可逆,则无零特征值,由0xxAx有xxA11即若为矩阵 A 的特征值,则必为矩阵 A-1的特征值,且特征向量相同。1如果 A 的 n 个特征值i i 1, 2, , n为nL21则 A-1的 n 个特征值更为11111 Lnn因此,若乘幂法可求 A 的主特征值1,则用 A-1做乘幂矩阵,由乘幂迭代格式(5.30)11kkxAx便可求出 A-1的按模最大特征值,取倒数,即为矩阵 A 的按模最小特征值。因此,对任n1取初始向量 x0Rn,称公式(5.30)为求矩阵 A 按模最小特征值的反幂法。 在应用公式(5.30)计算时,由于要计算 A 的逆矩阵 A-1,一方面计算复杂、麻烦,另 一方面,有时会破坏 A 的稀疏性,故改写(5.30)式为(k 0, 1, )(5.31)1kkxAx类似于公式5.25的规范化乘幂法公式为(5.32), 1, 0max11LkyAxxxykkkkk如果考虑到利用原点移位加速的反幂法,则记 B A - 0I,对任取初始向量 x0Rn,(5.33), 1, 0max1LkyBxxxykkkkk由于反幂法的主要工作量是每迭代一步都要解一个线性方程组5.31,且系数矩阵 A 或 B是不变的,故可利用矩阵的三角分解 A LU 或 B LU,则每次迭代只需解二个三 角形方程组(5.34)xUxyxLkk1且当时0121nnL(5.35)nkky1lim 同时 xk1便为所求的特征向量,收敛速度为。1nn 反幂法的主要应用是已知矩阵的近似特征值后,求矩阵的特征向量,且收敛快,精度 高,是目前求特征向量最有效的方法之一。 3.4 对称矩阵的雅克比对称矩阵的雅克比 Jacobi 旋转法旋转法雅克比 Jacobi 方法是求实对称矩阵全部特征值及对应的特征向量的方法.它也是一种 迭代法,其基本思想是把对称矩阵 A 经一系列正交相似变换约化为一个近似对角阵,从而 该对角阵的对角元就是 A 的近似特征值,由各个正交变换阵的乘积可得对应的特征向量。 1预备知识预备知识 雅克比方法涉及较多的代数知识,要承认如下一些主要结论 1)若 B 是上(或下)三角阵或对角阵,则 B 的主对角元素即是 B 的特征值。 2)若矩阵 P 满足 PTP I,则称 P 为正交矩阵。显然 PT P-1,且 P1, P2,, 是正交阵 时,其乘积 P P1P2Pk仍为正交矩阵。 3)称矩阵5.37)jiPij11cossin11sincos11OOO为旋转矩阵,它是在单位阵 I 的 i 行,且 j 行和 i 列、j 列的四个交叉位置上分别置上 cos ,sin,-sin 和 cos 而成的。容易验证旋转矩阵是正交矩阵,即 RT i, j R-1 i, j,所以 用它作相似变换阵时十分方便。雅克比方法就是用这种旋转矩阵对实对称阵 A 作一系列的 旋转相似变换,从而将 A 约化为对角阵的。 用 Piji, j作旋转变换的几何意义是在维空间中,以 i, j 轴形成的平面上,把 i, j 轴旋 转一个角度 。 2雅克比方法雅克比方法 先以二阶矩阵为例 22211211 aaaaA旋转矩阵为 cossinsincosR 2221121122211211 cossinsincoscossinsincosbbbbaaaaRARBT 其中2sinsincos122 222 1111aaab2cos2sin21 1211222112aaabb2coscossin122 222 1122aaab为使 A 的相似矩阵 B 成为对角阵,只须适当选取,使02cos2sin21 1211222112aaabb即 ,其中,a11 a22时,取。由此 可以确定,从而22111222tgaaa 44旋转矩阵 P 确定。A 的特征值为1 b11, 2 b22 关于特征向量的计算设,其中 x1, x2为 P 的行向量,因为 PART B APT PTB 21 xxP或 (Ax1, Ax2) (1x1, 2x2) ,即 Axi iZi i 1, 2, 3,所以对应于1,2的特征向量是TTxxcos,sin,sin,cos21考虑 n 阶矩阵的情况 设矩阵 ARnn是对称矩阵,记 A0 A,对 A 作一系列旋转相似变换,即(5.38), 2, 11LkPAPAT kkkk其中 Ak k 1, 2,仍是对称矩阵,Pk的形式jiPk11cossin11sincos11OOOk ijk ijk jjk iiPPPP也就是sincosk qpk pqk qqk ppppppqpjippk ijk ii,,01对任何角,可以验证Pk是一个正交阵,我们称它是(i, j)平面上的旋转矩阵,相应地 把变换(5.38)称为旋转变换;Pk和仅在ii、jj、ij和ji上不同,PkAk-1只改变 Ak-1的 第 p 行,第 q 行的元素,PkAk-1Pk只改变 A 的第 p 行、q 行、p 列、q 列的元素;Ak和 Ak-1 的元素仅在第 P 行(列)和第 q 行(列)不同,它们之间有如下的关系5.39qpiaaaaaaaak qik iqk ipk iqk pik iqk ipk ip,cossinsincos1111 5.40 sincoscossincoscossin2sinsincossin2cos221112112121121k pqk qqk ppk pqk qqk pqk ppk qqk qqk pqk ppk ppaaaaaaaaaaaa我们选取 Pk,使得,因此需使 满足0k pqa5.4111122tgk qqk ppk pq aaa常将 限制在下列范围内44如果,当时,取;当时,取。实际011k qqk ppaa01k pqa401k pqa4上不需要计算,而直接从三角函数关系式计算 sin 和 cos,记5.42111112sgnk ijk jjk iik jik iiaaaxaay则yx2tg当时,有下面三角恒等式42222 2tg112cos1cos2 yxy 于是 2221cos2 yxycos 始终取正值。关于 sin2 的计算有几种方法,最简单的一种是利用公式 sin2 1 cos2,这个方程有一个缺点,当 cos2 接近于 1 时,1 cos2 的有效位数就不多了,为避免这个缺点,采用下面公式计算 sin。222cos2tgcossin22sin yxx由于 Ak的对称性,实际上只要计算 Ak的上三角元素,而下三角元素由对称性获得,这样 即节省了计算量,又能保证 Ak是严格对称的。 一般地,不能指望通过有限次旋转变换把原矩阵 A 化为对角阵,因为 Ak-1中的零元素 (在前面变换中得到的)可能在 Ak中成为非零元素,尽管如此,仍可以证明当 k 时diagikA其中i是矩阵 A 的特征值,但没有一定的大小排列顺序。 雅克比方法的优点是可以容易地计算特征向量,如果经过 k 次旋转变换后,迭代就停 止了,即kT KTT kAPPAPPPPLL2112记T KTT kPPPPL21则kPAAP 因为 Ak可以被看作对角阵(非对角元相当小) ,所以矩阵 Pk的第 j 列就是特征值所对k jja应的近似特征向量,并且所有特征向量都是正交规范化的。 在旋转变换中可以逐步形成 Pk,记 P0 I则T kkkPPP1即 qpjPPPPPPPPk ijk ijk iqk ipk iqk iqk ipk ip,cossinsincos11111这就不需要保存每一次的变换矩阵 Pk,若不需要计算特征向量,则( )式所示的那一步 可以省略。 算法1从 Ak-1中找出绝对值最大元qpak qp,1 ,2若,则为对角阵,停 1k pqa若 1k pqa(1)令11k qqk ppaay111sign2k qqk ppk pqaaax(2) 当 y 0 时, 222cos yxy421cossin2sin 22 yxx(3)2cos121cosCCS22sinsin(4)qiiqipiqpiiqipip aCasaaaSaCaa qppqqqpppqqqpqppqqqqpqppppaSCaSCaaaCaSCaSaaSaSCaCaa22222222(5)计算特征向量(P0 I) qpjPPCPSPPSPCPPijijiqipiqiqipip,转 实习用 Jacobi 方法求矩阵 A 的全部特征值及对应的特征向量。