QR分解求矩陣全部特征值


    QR算法求矩陣全部特征值的基本思想是利用矩陣的QR分解通過迭代格式

                                

將A=A1化成相似的上三角陣,從而求出矩陣A的全部特征值。

       QR方法的計算步驟如下:

          

          下面就依次進行介紹。

 

       一. 將一般矩陣化為上Hessenberg陣

        1.定義                                      

 

                 一個矩陣如果滿足i>j+1時aij=0,則將這個矩陣成為上Hessenberg陣。上Hessenberg陣

         的形式如下:

                 

           2. Householder變換將一般矩陣轉化為上Hessnberg陣

                       首先,選取Householder矩陣H1,使得經過H1相似變換后的矩陣H1AH1的元素a21下面的

               元素全部為0,即a31, a41, ....., am1均為0,H1取如下形式

                                           

                    其中 為n-1階HouseHolder矩陣。然后選取Householder矩陣H2,使得經過H2相似變換

            之后的矩陣H2(H1AH1)H2第二列中a32下面的a42, ....am2均為0。如此進行n-2次,可以構造

           n-2個householder矩陣H1,H2, Hn-2,使得 Hn-2....H2H2AH1H2....Hm-2 = H(H為上Hessenberg矩陣)。

                    對於一個n*m的矩陣A,第col次的H可以這樣構造求得(col從0開始):

                      

                其中,I為n*n的單位矩陣, v'表示矩陣v的轉置, sign(x0)表示x0的符號的相反數( 當x0>0時sign=-1,當x<=0時為1),

                ||x||表示向量x的長度, col等於所求的上hessenberg矩陣的序號,從0開始。

 

      二. 用Givens變換對上hessnberg矩陣作QR分解

                  

                  

                       

                  

                          

                        此時有  H = R21' * R32' * ... * Rn(n-1)'R = QR。

                        多次計算H,直到H的變化小於一個較小的閾值時,停止迭代,此時H主對角線上的元素

            即為矩陣A的全部特征值。

                        下面舉個例子來說明求解矩陣的全部特征值的過程。

                                 求矩陣的全部特征值

                            首先將A化成上hessenberg陣,取

                              x = [0, 6, 4], 則 ||x|| = = 

                       則 w = [0, , 0] , v = w + 1 * x = [0, 6+, 4]

                       則 p = v*v'/v'*v =          

                       於是 H1 = I - 2*p =  

                                所以 H = H1AH1 =

                                H即為與A相似的上hessenberg矩陣。將H進行QR分解

                                

                                                                                                         

                                     

                         

              這個程序的完整代碼可以到這里下載,http://download.csdn.net/detail/xxc1605629895/6473181

轉載 http://blog.csdn.net/johnf_nash/article/details/13292803


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM