qr分解是矩陣的一種分解演算法,可以將乙個非奇異矩陣分解成正交矩陣q,和三角矩陣r(通常是上三角)。使用qr迭代也可以求出矩陣的特徵值,不過前一步要求矩陣變為上hessenberg矩陣。將矩陣進行qr分解可以使用household變換,schmidt正交化以及given變換。對於schmidt不是十分了解。qr迭代的核心是把矩陣某些位置上的元素變為零,household和given都能達到這個目的。但兩者的區別是household變換能一次實現多個0的轉換,一次given變換只能實現乙個0的轉換。本文著重介紹given變換。
given變換的原理是平面旋轉矩陣。之前一直有疑惑,在不同的情況下,會出翔兩種旋轉矩陣:
兩個矩陣都作為左乘原始矩陣。
經過一番調查以後,實際上這兩個都是旋轉矩陣,但是旋轉的標準不一樣。
這個是對於點進行旋轉,而座標繫不動
這個是對於座標系旋轉,而點不動。
這就自然解釋了為什麼sin相反,座標系旋轉相當於點向逆方向旋轉。不過在查閱資料以後發展在given變換中使用的都是右上角為sin的一種旋轉矩陣。
另外在大部分qr迭代中,最終形成的三角矩陣都是上三角矩陣。其實也可以形成下三角矩陣,不過旋轉矩陣要乘在右邊。並且根據我實際計算,再右乘時應當乘以右上角為-sin的矩陣。(此處不保證正確性,歡迎各位批評指正)。
關於兩種平面旋轉矩陣的詳細介紹,請參考部落格:
關於given旋轉分解矩陣的詳細例題步驟,請參考部落格:
link
R中矩陣的QR分解
qr分解是常用的三種矩陣分解方法之一,qr分解經常用 來解線性最小二乘法 問題,有如下定義 1 若n階實非奇異矩陣a可以分解為正交矩陣q與實非奇異上三角矩陣r的乘積,即a qr,則稱該分解式為矩陣a的qr分解 2 進而a是m n列滿秩矩陣,若a qr,其中q是m n矩陣,q q i 稱q為列正交矩陣...
線性代數 15 矩陣的QR分解
實現qr分解 矩陣的qr分解和lu分解的目的都是為了便於矩陣計算。a q ra qr a qr 這一過程將矩陣分解為q qq和r rr兩部分,其中q qq是標準正交矩陣,r rr是乙個上三角矩陣。矩陣的qrqr qr分解能夠簡化計算可以以線性系統的計算為例,a x b q r x bax b lon...
QR分解的三種實現方法
假設原來的矩陣為 a,b a,b為線性無關的二維向量,下面我們通過gram schmidt正交化使得矩陣a為標準正交矩陣 假設正交化後的矩陣為q a,b 我們可以令a a,那麼我們的目的根據ab i來求b,b可以表示為b向量與b向量在a上的投影的誤差向量 為givens矩陣 初等旋轉矩陣 也記作 由...