Multiple View Geometry in Computer Vision A.4.1.1 (page 579)
將一個 3x3 矩陣 $ A $ 進行 RQ 分解是將其分解成為一個上三角陣 $ R $ 與一個正交陣(orthogonal matrix) $ Q $ 的乘積。要求矩陣 $ A $ 的秩為3,即滿秩。
所謂矩陣 $ Q $ 正交是指 $ Q^TQ=I $, $ Q $ 可以看作是一個旋轉矩陣。此旋轉矩陣由三個子旋轉矩陣點乘而來,即 $ Q = Q_xQ_yQ_z $ 。$ Q_x, Q_y, Q_z $ 如下:
將矩陣 $ A $ 右乘一個矩陣,相當於將 $ A $ 進行一次初等列變換。
由 \(A = RQ = RQ_z^TQ_y^TQ_x^T\) 得 \(AQ_xQ_yQ_z = R\)。
將 $ A $ 右乘 $ Q_x $ 是將 $ A $ 的第一列保持不變,第二列和第三列進行線性組合,解釋如下:
上式省略了 $ roll $ ,將 $ [AQ_x]_{32} $ 置為0。加上 \(c^2 + s^2 = 1\) 的條件,可以算出 \(c, s\),求得 $ Q_x $ 。
$ AQ_x $ 的結果右乘 $ Q_y $ 是將第二列保持不變,第一列和第三列進行線性組合,將 $ [AQ_xQ_y]_{31} $ 置為0,求得 $ Q_y $ 。
$ AQ_xQ_y $ 的結果右乘 $ Q_z $ 是將第三列保持不變,第一列和第二列進行線性組合,將 $ [AQ_xQ_yQ_z]_{21} $ 置為0,求得 $ Q_x $ 。
經過三次右乘(初等列變換)可以得到上三角陣 $ R $ 。
最后由計算得到的 $ Q_x, Q_y, Q_z $ 通過 \(Q = Q_z^TQ_y^TQ_x^T\) ,得到 \(A\) 的 RQ 分解。
對於 QR、LQ、QL 分解使用類似的方式進行計算。QR 與 QL 分解是將矩陣 $ A $ 進行初等行變換。