




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、普通矩陣特征值的QR算法 摘 要 求矩陣的特征值有多種不同的辦法,本文主要介紹用QR法求矩陣的特征值,QR法是目前求中等大小矩陣全部特征值的最有效方法之一,使用于求實矩陣或復矩陣的特征值,它和雅可比法類似,也是一種變換迭代法。關鍵詞:QR分解 迭代序列 特征值 Matlab一 、QR方法的理論: 對任意一個非奇異矩陣(可逆矩陣)A,可以把它分解成一個正交陣Q和一個上三角陣的乘積,稱為對矩陣A的QR分解,即A=QR。如果規定R的對角元取正實數,這種分解是唯一的。若A是奇異的,則A有零特征值。任取一個不等于A的特征值的實數,則A-I是非奇異的。只要求出A-I的特征值和特征向量就容易求出矩陣A的特征
2、值和特征向量,所以假設A是非奇異的,不是一般性。 設A=A1 ,對A1 作QR分解,得A1 = Q1R1,交換該乘積的次序,得A2 = R1Q1=,由于Q1正交矩陣,A1到A2的變換為正交相似變換,于是A1和A2就有相同的特征值。一般的令A1=A,對k=1,2,3,. 這樣,可得到一個迭代序列Ak,這就是QR方法的基本過程。2、 QR方法的實際計算步驟Householder變換:如果 v 給出為單位向量而 I 是單位矩陣,則描述上述線性變換的是 豪斯霍爾德矩陣 (v * 表示向量 v 的共軛轉置)H=I -2VV*三、化一般矩陣為Hessenberg陣 稱形如的矩陣為上海森堡(Hessenbe
3、rg)陣。如果此對角線元(i=2,3,.n)全不為零,則該矩陣為不可約的上Hessenberg矩陣。用Householder變換將一般矩陣A相似變換為Hessenberg矩陣。首先,選取Householder矩陣,使得經相似變換后的矩陣的第一列中有盡可能多的零元素。為此,應取為如下形式 其中為n-1階Householder矩陣。于是有 只要取使得,就會使得變換后的矩陣的第一列出現n-2個零元。同理,可構造如下列形式Householder矩陣使得如此進行n-2次,可以構造n-2個Householder矩陣,使得。其中H為上Hessenberg矩陣。特別地,當A為實對稱矩陣,則經過上述正交變換后,
4、H變為三對角陣。用Householder方法對矩陣A作正交相似變換,使A相似于上Hessenberg陣,算法如下:(1) 計算(2) 計算(3) 計算四、上Hessenberg陣的QR分解對上Hessenberg陣只需要將其次對角線上的元素約化為零,用Given變換比用Householder變換更節省計算量。1、 平面旋轉陣(Givens變換陣)定義 n階方陣 稱為平面旋轉陣,或稱為Givens變換陣。平面旋轉陣的性質:(1) 平面旋轉陣是非對稱的正交陣。(2) 也是平面旋轉陣。(3)平面旋轉陣的作用:(1) 將向量的第j個分量約化為零。左乘向量只改變X的第i個分量和第j個分量。若令,有調整,
5、可將約化為零。令,得所以,取,于是(2) 將向量的第個分量到第n個分量約化為零。(3) 用對矩陣A作變換得到的結論左乘A只改變A的第i,j行。右乘A只改變A的第i,j列。只改變A的第i,j行和第i,j列。2、用Givens變換對上Hessenberg陣作QR分解對上Hessenberg陣通常用n-1個Givens變換陣可將它化成上三角矩陣,從而得到B的QR分解式。具體步驟為: 設(否則進行下一步)取旋轉矩陣則其中,設(否則進行下一步),再取旋轉矩陣則其中。假設上述過程已進行了k-1步,有設,取其中,于是因此,最多做n-1次旋轉變換,即得因為均為正交矩陣,故其中仍為正交矩陣。可算出完成這一過程的
6、運算量約為4,比一般矩陣的QR分解的運算量少一個數量級。可證明仍是上Hessenberg陣,于是可按上述步驟一直迭代下去,這樣的得到的QR方法的運算量比基本QR方法大為減少。具體實例現在我們就用上述所說的QR方法求解矩陣的全部特征值。第一步:將A化成上Hessenberg陣,取于是H即為與A相似的上Hessenberg陣。將H進行QR分解,記取于是再取于是 第一次迭代得重復上述過程,迭代11次得 從得出的結果我們可以看出其結果還是很接近精確值的,其實我們完全可用Matlab實現上述計算。用海森伯格QR基本算法求矩陣全部特征值Matlab得到運算結果為:源程序如下:function l = he
7、ssqrtz(A,M)%海森伯格QR基本算法求矩陣全部特征值%已知矩陣:A%迭代步數:M%求得的矩陣特征值:lA=5 -3 2;6 -4 4;4 -4 5;M=11;A = hess(A);for(i=1:M) q,r=qr(A); A = r*q; l = diag(A);End而用QR基本算法求矩陣全部特征值的運行結果如下:其Matlab源程序如下:function l = qrtz(A,M)%QR基本算法求矩陣全部特征值%已知矩陣:A%迭代步數:M%求得的矩陣特征值:lA=5 -3 2;6 -4 4;4 -4 5;M=11;for(i=1:M) %M為迭代步數 q,r=qr(A); A = r*q; l = diag(A);end 由以上兩種運算結果的對比可以看
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
評論
0/150
提交評論