[Octave]QR分解を行う
行列AをQR分解で行列Qと行列Rに分解することを考える。
A = Q R
行列QはQTQ=I(Iは単位行列)となる直交行列。行列Rは上三角行列(対角成分はすべて0以外で、対角成分より下の要素はすべて0)。
qr関数を使うと、それぞれQR分解した際の行列Qと行列Rが得られる。
>> a = [1, 2, 3; 4, 5, 6; 9, 9, 8]
a =
1 2 3
4 5 6
9 9 8
>> [q, r] = qr(a)
q =
-0.10102 -0.71841 -0.68825
-0.40406 -0.60254 0.68825
-0.90914 0.34762 -0.22942
r =
-9.89949 -10.40457 -10.00051
0.00000 -1.32095 -2.98951
0.00000 0.00000 0.22942
QTQ = I となるか試す。
>> q' * q
ans =
1.0000e+00 -9.5469e-17 3.7850e-17
-9.5469e-17 1.0000e+00 7.4583e-17
3.7850e-17 7.4583e-17 1.0000e+00
« [R]インストールされているパッケージを一覧で確認する | トップページ | [GNU Fortran]ファイル(ディレクトリ)の存在を確認 »
「Octave」カテゴリの記事
- [Octave]重み付き非線形最小二乗法を行う(2026.03.22)
- [Octave]重み付き非線形最小二乗法を行う(2026.03.17)
- [Octave]計算機イプシロンを求める(2026.03.16)
- [Octave]正規分布におけるp値(2023.04.21)
- [Octave]正規分布におけるパーセント点(2023.04.18)
« [R]インストールされているパッケージを一覧で確認する | トップページ | [GNU Fortran]ファイル(ディレクトリ)の存在を確認 »

コメント