next up previous contents
Next: qr_p Up: リファレンスマニュアル Previous: putenv

  
qr

【目的】
qr - QR分解
【形式】
{Q,R} = qr(A)
   Matrix Q,R;
   Matrix A;
【詳細】
qr()は,行列 A のQR分解を求める。この分解は,正方行列にも非正方 行列にも行える。実行列の場合,直交行列 Q と上三角行列 R の積に, 複素行列の場合,ユニタリ行列 Q と上三角行列 R の積に分解する。 {Q,R} = qr(A)は,A と同じ大きさの上三角行列 R と直交行列 (ユニタリ行列) Q を求める。これらの行列の間には,A = Q * R, Q# * Q = I の関係がある。
【算法】
文献 1 の算法を使う。
【例題】
4 x 3 の行列 A のQR分解を求める。R(3,3) はゼロに近いので R と A はフルランクでない。このことは,行列 A の第 2 列が第 1 列と 第 3 列の平均となっていることからも分かる。
>> A = [[1 2 3][4 5 6][7 8 9][10 11 12]];
>> {Q,R} = qr(A);
>> print Q,R;
=== [Q] : (  4,  4) ===
           (  1)         (  2)         (  3)         (  4)
(  1) -7.761505E-02 -8.330521E-01  5.007372E-01  2.219508E-01
(  2) -3.104602E-01 -4.512365E-01 -8.330820E-01  7.729306E-02
(  3) -5.433053E-01 -6.942101E-02  1.639523E-01 -8.204386E-01
(  4) -7.761505E-01  3.123945E-01  1.683924E-01  5.211947E-01
=== [R] : (  4,  3) ===
           (  1)          (  2)          (  3)     
(  1) -1.288409E+01 -1.459162E+01 -1.629916E+01
(  2)  0.000000E+00 -1.041315E+00 -2.082630E+00
(  3)  0.000000E+00  0.000000E+00  1.195746E-15
(  4)  0.000000E+00  0.000000E+00  0.000000E+00
【参照】
hess(2.91), qr_p(2.169), qz(2.171)
【文献】
1.
Gene H. Golub and Charles F. Van Loan. Matrix Computations. The Johns Hopkins University Press, 1989


Masanobu KOGA 平成11年10月2日