QRDecomposition

数値行列 m についてQR分解を作成する.この結果はリスト{q,r}で,q はユニタリ行列,そして r は上三角行列となる.
詳細とオプション

- もとの行列 m はConjugateTranspose[q].r と同値である. »
- 非正方行列に関しては,q は行直交行列である. »
- 行列 r は,主対角より下のすべての要素がゼロとなる. »
- TargetStructure->"Structured"の設定のとき,QRDecomposition[m]は行列{q,r}を構造化行列として返す.
- QRDecomposition[m,Pivoting->True]は,リスト{q,r,p}を作成する.p は m.p が ConjugateTranspose[q].r と等しくなるような置換行列である. »
例題
すべて開くすべて閉じる例 (3)基本的な使用例
スコープ (11)標準的な使用例のスコープの概要
基本的な用法 (7)
QRDecompositionを厳密行列に使う:
QRDecompositionを記号行列に使う:
特殊行列 (4)
オプション (4)各オプションの一般的な値と機能
Pivoting (1)
QRDecompositionはm.p==ConjugateTranspose[q].rを満足する:
TargetStructure (3)
TargetStructure->"Dense"のとき,QRDecompositionの結果は2つの密な行列のリストになる:
TargetStructure->"Structured"のとき,QRDecompositionの結果はOrthogonalMatrixとUpperTriangularMatrixを含むリストになる:
Pivoting->TrueおよびTargetStructure->"Structured"の設定のとき,QRDecompositionの結果は.OrthogonalMatrix,UpperTriangularMatrix,PermutationMatrixを含むリストになる:
TargetStructure->"Dense"のとき,QRDecompositionの結果は2つの密な行列になる:
TargetStructure->"Structured"のとき,QRDecompositionの結果はUnitaryMatrixとUpperTriangularMatrixを含むリストになる:
アプリケーション (8)この関数で解くことのできる問題の例
QR分解の幾何学 (4)
次の行列 の列空間の直交基底を求め,その基底を使って
のQR分解を求める:
を
の
番目の列とし,
を対応するグラム・シュミット(Gram–Schmidt)基底の
番目の要素として定義する:
これはQRDecompositionが与える結果に等しい:
次の行列 について,OrthogonalizeとQRDecompositionを使って求まったQR分解を比較する:
はOrthogonalizeを
の列に適用した結果とする:
これはQRDecompositionが与える結果に等しい:
次の行列 について,OrthogonalizeとQRDecompositionを使って求まったQR分解を比較する:
はOrthogonalizeを
の複素共役列に適用した結果とする:
これは,QRDecompositionが与える結果と符号まで等しい:
アプリケーションによっては, が正方(かつユニタリ)行列で
が入力行列と同じ次元である,いわゆる完全QR分解を計算すると便利なことがある.次の行列
の完全QR分解を計算する:
線形独立の列は2列しかないので, と
はそれぞれ2行しか持たない:
NullSpaceを使って の列のスパンの外にあるベクトルを求め,完全集合を直交化する:
最小二乗と曲線のフィット (4)
次の行列 とベクトル
について,QR分解を使って
を最小にする
を求める:
は(
の列が線形独立であるために)可逆なので,解は
である:
LeastSquaresを使って結果を確認する:
のQR分解を計算すると,
に線形独立の行があるので可逆な
が与えられる:
QRDecompositionを使ってデータに最もフィットする曲線が求められる.次のデータについて考える:
を最小化することが曲線
をフィットすることになるように,
が列
と
を持つとする:
の列は線形独立なので,線形最小二乗フィットの係数は
である:
Fitを使って係数を確認する:
の最小化が
へのフィットになるように.
が列
,
,
を持つとする:
Fitを使って係数を確認する:
特性と関係 (10)この関数の特性および他の関数との関係
mはConjugateTranspose[q].r に等しい:
が
行列なら,
行列には
列,
行列には
列あることになる:
QRDecompositionは と
がMatrixRank[m]行を持つ「薄い」分解を計算する:
m が実数値を持つ可逆行列なら,そのQR分解の 行列は直交行列である:
m が可逆行列なら.そのQR分解の 行列はユニタリ行列である:
a が 行列で MatrixRank[a]==n なら,そのQR分解の
行列はユニタリ行列である:
a が 行列でMatrixRank[a]==m なら,そのQR分解の
行列は可逆行列である:
さらに,PseudoInverse[a]==Inverse[r].q でもある:
Orthogonalizeを使ってQR分解が計算できる:
近似行列は,通常は,QRDecompositionで求まったものとは異なる:
LeastSquaresとQRDecompositionはどちらも最小二乗問題を解くために使うことができる:
のコレスキー(Cholesky)分解は
QR分解と位相まで一致する:
CholeskyDecomposition[ConjugateTranspose[m].]m を計算する:
テキスト
Wolfram Research (1991), QRDecomposition, Wolfram言語関数, https://reference.wolfram.com/language/ref/QRDecomposition.html (2024年に更新).
CMS
Wolfram Language. 1991. "QRDecomposition." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2024. https://reference.wolfram.com/language/ref/QRDecomposition.html.
APA
Wolfram Language. (1991). QRDecomposition. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/QRDecomposition.html