1 基本概念
QR分解は、行列を直交性をもつ成分と上三角の成分に分ける表現である。これにより、元の行列が持つ情報を保ちながら、計算しやすい形へ整理できる。線形代数では基本的な変換の一つとして扱われ、理論と実用の両面で広く用いられる。
1.1 定義
QR分解とは、行列AをQとRの積として表す分解であり、一般にA=QRと書く。ここでQは列が互いに直交する行列、Rは上三角行列である。正方行列に限らず、長方形の行列にも適用される。
1.2 記号と表現
通常、Qは直交性を担い、Rは係数の大きさや列の関係を段階的に示す。分解の書き方は分野や実装によって細かな差があるが、基本的な意味は共通している。特に数値計算では、列ベクトルの集合を扱う道具として記述されることが多い。
1.2.1 直交行列
直交行列は、列ベクトル同士が互いに直交し、長さが保たれる行列である。実数成分ではQの転置Q^Tが逆行列に一致するため、計算上扱いやすい。回転や反射のような変換を表すこともできる。
1.2.2 上三角行列
上三角行列は、対角線より下の成分がすべて0である行列である。QR分解では、この構造によって未知量を順に求める操作が容易になる。連立方程式や最小二乗問題の処理で特に有用である。
1.3 対象となる行列の種類
QR分解は、正方行列だけでなくm×nの矩形行列にも適用される。列数より行数が多い場合に特に自然であり、データ解析や近似計算で頻出する。階数が不足する場合には、分解の形や解釈に注意が必要になる。
2 理論的性質
QR分解は、列空間、基底、階数と密接に関係する。単なる計算手順ではなく、行列が表す線形空間の構造を見通すための枠組みでもある。存在や一意性の条件を押さえることで、分解の意味がより明確になる。
2.1 存在条件
列ベクトルが線形独立であれば、標準的なQR分解が構成できる。より一般には、階数に応じて経済型や薄い分解を用いることで、矩形行列にも対応できる。完全な直交基底が得られない場合でも、部分空間に対する表現として利用できる。
2.2 一意性
QR分解は、条件を付けないと完全には一意にならない。とくにQの列に符号の自由度があるため、Rの対角成分の取り方によって表現が変わる。実装や理論では、この曖昧さを規約で整えることが多い。
2.2.1 符号規約による違い
対角成分を正にそろえるなどの規約を設けると、分解の表現が標準化される。これにより、同じ行列でも異なる計算機環境で結果を比較しやすくなる。符号の選択は、数値的な安定性よりも表記の統一に関わることが多い。
2.3 列空間との関係
Qの列は、元の行列の列空間を張る直交基底として解釈できる。Rは、元の列がその基底に対してどのような係数で表されるかを示す。したがって、QR分解は空間の構造と座標表現を同時に与える。
2.3.1 基底との対応
列空間の基底を直交化すると、計算や解析が容易になる。QR分解はその結果を体系的にまとめたものとみなせる。特に、独立な列を持つ行列では、Qの列が自然な基底となる。
2.3.2 ランクとの関係
行列のランクは、独立な列の本数に対応する。QR分解では、Rの対角や零成分の分布を通じて、この情報が読み取れる。ランク落ちの検出や近似的な独立性の評価にも役立つ。
3 計算法
QR分解を求める方法には、直交化、反射変換、回転変換などがある。理論上は同じ分解を与えても、数値計算での振る舞いは方法ごとに異なる。効率、精度、実装の容易さを考えて手法が選ばれる。
3.1 グラム・シュミット法
グラム・シュミット法は、列ベクトルを順に直交化してQを作る基本的な方法である。各列から既存の基底成分を取り除き、残差を正規化することで直交系を構成する。概念的に分かりやすいが、丸め誤差の影響を受けやすい。
3.1.1 古典的グラム・シュミット法
古典的手法では、各ベクトルを先行する正規直交ベクトルへ一括で射影して補正する。式としては簡潔だが、近いベクトルが多い場合に精度が低下しやすい。教育的には重要だが、高精度計算ではそのまま使われないこともある。
3.1.2 修正グラム・シュミット法
修正法では、直交化の手順を段階的に更新し、誤差の蓄積を抑える。古典的手法より安定で、実装例でもよく採用される。完全に誤差を除くわけではないが、実用上の信頼性は高い。
3.2 ハウスホルダー変換
ハウスホルダー変換は、あるベクトルを別の軸方向へ写す反射型の変換である。これを用いると、行列の下側成分をまとめて0にしやすく、効率よく上三角化できる。大規模行列に対しても安定で、標準的なQR計算法として広く用いられる。
3.3 ギブンス回転
ギブンス回転は、2つの成分だけを選んで回転させ、特定の位置の要素を消去する方法である。疎な行列では、必要な箇所だけを処理できるため扱いやすい。逐次的な更新に向いており、構造を保ちながら計算を進められる。
3.4 計算量と数値安定性
計算量は行列の大きさや疎密によって変わるが、一般にハウスホルダー変換は堅牢で、グラム・シュミット法は理解しやすい。安定性は、理論値だけでなく誤差の伝播のしやすさにも左右される。実務では、目的に応じて速度と精度のバランスを取る。
3.4.1 丸め誤差
有限桁の計算では、直交性が完全には保たれず、わずかなずれが生じる。これが繰り返されると、分解結果の品質に影響する場合がある。とくに近い列ベクトルを扱う際は、誤差の増幅に注意が必要である。
3.4.2 実装上の注意
実装では、メモリ配置、再正規化、安定な射影の扱いが重要になる。大規模問題では、効率的なデータアクセスが性能に直結する。さらに、ライブラリごとの符号規約や出力形式の差も確認しておく必要がある。
4 応用
QR分解は、方程式の近似解法から固有値計算まで幅広く使われる。行列を整形してから解くという発想により、直接処理よりも安定な手法が組み立てやすい。数値線形代数の基盤技術として、さまざまなアルゴリズムの中核に置かれている。
4.1 最小二乗法
過剰決定系の最小二乗問題では、QR分解により解を安定に求められる。正規方程式を直接解く方法より、誤差の悪化を抑えやすい。観測データの近似や回帰分析でも、この性質が重視される。
4.2 固有値問題
QR分解は、固有値を求める反復法の基本要素として使われる。行列を連続的に三角化へ近づける操作は、固有値の抽出に有効である。理論的な収束と実装上の工夫が組み合わさって、多くの計算手法が構成される。
4.3 数値線形代数における利用
数値線形代数では、QR分解は安定な基礎手段として位置づけられる。行列の分解、近似、更新を統一的に扱えるため、汎用ライブラリでも重要な役割を持つ。大型問題では、他の技法と組み合わせて使われることが多い。
4.3.1 反復法との組み合わせ
反復計算では、各段階で直交化を行う必要が生じることがある。QR分解は、そのたびに基底を整える仕組みとして機能する。これにより、方向の独立性を維持しながら収束を進めやすくなる。
4.3.2 連立一次方程式への応用
上三角行列Rが得られれば、後退代入によって連立一次方程式を解ける。これは、直接法の中でも構造が明快で、処理の流れが追いやすい。係数行列が変換によって扱いやすくなる点が、実用上の大きな利点である。