爲何QR分解收斂於特徵值

QR分解求特徵值的方法很簡單,計算過程如下:

 QR本身可以看作一個將矩陣A轉化爲上三角矩陣R的過程,通過householder,givens轉換等手段,構造一系列的變換矩陣T,將矩陣轉換爲上三角矩陣R,而變換矩陣的逆矩陣則構成了Q。一定條件下,經過n次迭代後,迭代矩陣An會神奇的收斂成一個上三角矩陣,其對角陣對應的元素就是An的特徵值,也是原始矩陣A的特徵值,是不是很神奇。那麼爲什麼會收斂成這樣呢?直覺上,這是一種冪法,經過不斷地迭代,使得特徵值保留下來,非特徵值部分要麼變大,要麼收斂爲0。事實上,這種求特徵值地方法確實屬於一種特殊地冪法。我們所知道地冪法和反冪法都是針對最大或者最小的特徵值來的,像QR這種一網打盡的方式,實在難以想象。爲什麼QR這種迭代方式會最終收斂到特徵值呢?我找了國內外不少網站,也沒有找到淺顯的解釋。這裏將這幾天找到的資料整理一下,按照自己的理解說一下。

這個問題看來是一個複雜的問題,所以這裏簡化了它的收斂證明過程。考慮一種比較特殊的矩陣QR分解形式

假定矩陣A滿足以下兩個條件

1.A是對稱正定矩陣,且特徵值各不相同,保證了QR分解的唯一性

2.A可以表示爲A = Q\Lambda Q^T,I= Q Q^T且有Q = L_QU_Q,L爲下三角矩陣,L的對角線全部爲1,U爲上三角矩陣

 

另外,需要知道以下幾點性質

1.上三角矩陣乘以上三角矩陣仍然是上三角矩陣,對於下三角矩陣也是同理

2.上三角矩陣求逆,仍然是上三角矩陣,對於下三角矩陣也是同理

首先,求得A_n,A^n的推導公式

                                   \\A_1 = A = Q_1R_1 \\A_2 = Q_1^TA_1Q_1=Q_2R_2 \\A_3 = Q_2^TA_2Q_2 = Q_2^TQ_1^TA_1Q_1Q_2 =Q_2^TQ_1^TA_1Q_1Q_2 \\\Rightarrow A_n = (Q_{n-1}^T...Q_1^T)A(Q_1...Q_n) \\\Rightarrow Q_{n-1}R_{n-1} = R_{n}Q_{n} \\A^2 = Q_1R_1Q_1R_1=Q_1Q_2R_2R_1 \\A^n = (Q_1...Q_n)(R_n...R_1)

假設我們的問題中A_n收斂成立,最終可以得到Q_n\rightarrow I,只要能證明這一點就行了,但是最關鍵的是想看到冪法是如何其作用的。

\\\widetilde {Q}_n= (Q_1...Q_n) ,\widetilde {R}_n=(R_n...R_1)

A^n = (Q\Lambda Q^T)^n = (Q\Lambda^n Q^T)

Q =Q_QR_Q,Q^T = L_QU_Q,代入上式

A^n = (Q\Lambda Q^T)^n = (Q_QR_Q\Lambda^n L_QU_Q)=Q_Q(R_Q\Lambda^n L_Q\Lambda^{-n}R_Q^{-1})R_Q\Lambda^{n}U_Q

其中,\Lambda^n L_Q\Lambda^{-n} =\begin{cases} l_{ij}*(\lambda_i/\lambda_j)^n=0& \text{ , } i<j \\ l_{ij}=1& \text{ , } i=j \\ l_{ij}*(\lambda_i/\lambda_j)^n\rightarrow 0& \text{ , } i>j \end{cases}

由此可以得到\Lambda^n L_Q\Lambda^{-n} \rightarrow I,於是有A^n = Q_QR_Q\Lambda^{n}U_Q = Q\Lambda^{n}U_Q=(Q_1...Q_n)(R_n...R_1)=\widetilde {Q}_n\widetilde {R}_n

其中,\widetilde {Q}_n,\widetilde {R}_n分別爲正交矩陣和上三角矩陣,由QR分解的唯一性可以知道,\widetilde {Q}_n\rightarrow QQ_n\rightarrow I

再來看看A_n

                               A_n = (Q_{n-1}^T...Q_1^T)A(Q_1...Q_{n-1}) =\widetilde{Q}_{n-1}^TA\widetilde{Q}_{n-1}= \widetilde{Q}_{n-1}^TQ\Lambda Q^T\widetilde{Q}_{n-1}=\Lambda

我們可以看到,QR迭代過程,可以看作消去Q矩陣的過程。像冪法一樣,QR也有平移的算法,以上介紹的是非平移的算法過程。由於A是對稱正定矩陣,最終分解得到了對角陣,而不是上三角矩陣。爲了儘量的描述簡單,加了不少苛刻的條件,下面將條件稍微放寬些,A只是正定,不再是對稱,其他條件保持不變,於是I= Q Q^T不再成立。

                               \\A^n = Q_Q(R_Q\Lambda^n L_Q\Lambda^{-n}R_Q^{-1})R_Q\Lambda^{n}U_Q=\widetilde {Q}_n\widetilde {R}_n\\R_Q\Lambda^n L_Q\Lambda^{-n}R_Q^{-1} = \widehat{Q} _n\widehat{R}_n

由於\\R_Q\Lambda^n L_Q\Lambda^{-n}R_Q^{-1} \rightarrow I\Rightarrow \widehat{Q} _n\rightarrow I,\widehat{R}_n\rightarrow I

\\A^n = Q_Q\widehat{Q}_n\widehat{R}_nR_Q\Lambda^{n}U_Q=\widetilde {Q}_n\widetilde {R}_n\Rightarrow \widetilde {Q}_n = Q_Q\widehat{Q}_n,

A_n = \widetilde{Q}_{n-1}^TQ\Lambda Q^{-1}\widetilde{Q}_{n-1}=\widetilde{Q}_{n-1}^TQ_QR_Q\Lambda R_Q^{-1}Q_Q^{-1}\widetilde{Q}_{n-1}=\widehat{Q}_{n-1}^ TR_Q\Lambda R_Q^{-1}\widehat{Q}_{n-1}

由於\widehat{Q} _n\rightarrow IA_n \rightarrow R_Q\Lambda R_Q^{-1}

M= R_Q\Lambda R_Q^{-1},T = R_Q^{-1},毫無疑問,M,R和T都是上三角矩陣,且有\\R_{i,i}*T_{i,i} = 1 ,M_{i,i}=\lambda_i*R_{i,i}*T_{i,i} =\lambda_i,可以看到M的對角線元素收斂於特徵值。

上面就是QR收斂的證明過程,證明過程並不嚴密,且由於條件特殊,並不具備普遍性。確實如此,這個算法本身收斂性是有限制的,並非對所有矩陣都能滿足。要做到普遍適用,應該要用到移位的QR算法。

 

參考:

https://www.zhihu.com/question/54455860

https://people.kth.se/~eliasj/qrmethod.pdf

http://pi.math.cornell.edu/~web6140/TopTenAlgorithms/QRalgorithm.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章