Cholesky_Decomposer(A) -> L Lᵀ
正定値対称行列の平方根分解を瞬時に実行
対称行列 A を入力
※対称行列のため、右上のセルは自動入力されます
コレスキー分解の極意:行列計算を加速させる数学の魔法
線形代数の中でも、特に「正定値対称行列」という特別な性質を持つ行列に対して、驚異的な効率を発揮するのが**「コレスキー分解(Cholesky Decomposition)」**です。平たく言えば、行列の「平方根」を求める作業と言えます。通常のLU分解に比べて計算量が約半分であり、精度も安定しているため、現代のコンピュータ・サイエンス、統計学、金融工学の現場で欠かせないアルゴリズムとなっています。
本記事では、1,000文字を超える詳細解説を通じて、コレスキー分解の数学的定義、アルゴリズムの仕組み、そしてなぜこれほどまでに重要視されているのか、その実務的なメリットを徹底解明します。
1. コレスキー分解の定義と条件
任意の正定値対称行列 $A$ に対して、以下の式を満たす下三角行列 $L$ が唯一つ存在します。
$A = L \cdot L^T$
ここで重要なのは「対称行列($A = A^T$)」かつ「正定値(全ての固有値が正)」であるという条件です。この条件を満たす場合、対角成分が全て正である下三角行列 $L$ を得ることができます。この $L$ は、元の行列 $A$ の「情報の核心」を効率的に抽出した姿と言えるでしょう。
2. アルゴリズムの仕組み(バンナッハの公式)
3x3行列の場合、コレスキー分解の各要素は以下のように計算されます。
- 1列目の計算: $l_{11} = \sqrt{a_{11}}$、 $l_{21} = a_{21}/l_{11}$、 $l_{31} = a_{31}/l_{11}$
- 2列目の計算: $l_{22} = \sqrt{a_{22} - l_{21}^2}$、 $l_{32} = (a_{32} - l_{31}l_{21})/l_{22}$
- 3列目の計算: $l_{33} = \sqrt{a_{33} - (l_{31}^2 + l_{32}^2)}$
このように、対角成分は「残りの平方根」、非対角成分は「引き算した後の割り算」というシンプルなステップを繰り返します。計算の過程でルートの中身がマイナスになる場合、その行列は「正定値ではない」ことが分かり、分解不能と判定されます。これは数学的なエラーチェックとしても機能します。
3. 実務での強力な応用例
モンテカルロ・シミュレーション
金融工学において、複数の資産が相関を持ちながら動く様子をシミュレーションする際、相関行列をコレスキー分解します。得られた下三角行列 $L$ を独立な乱数ベクトルに掛けることで、相関関係を維持したままの現実的なシナリオを生成できるのです。
最小二乗法と最適化
GPSの測位計算、機械学習の回帰分析など、大量のデータの誤差を最小化する計算(正規方程式 $A^TAx = A^Tb$)を解く際、行列 $A^TA$ は必ず正定値対称行列になります。これをコレスキー分解で解くことで、通常の行列計算よりも圧倒的に高速かつプログラムメモリを節約した処理が可能になります。
4. LU分解との比較:なぜコレスキーなのか?
一般的な行列分解であるLU分解($A=LU$)は、あらゆる行列に適用できる汎用性がありますが、計算工程が多くなります。一方でコレスキー分解は、対象が「正定値対称」に限られる代わりに、計算ステップ数が約 $n^3/3$ とLU分解の半分で済みます。また、ピボッティング(行の入れ替え)が不要で、数値的な「誤差の蓄積」が非常に小さいという安定性も大きな魅力です。
5. まとめ
コレスキー分解は、数学の美しさと実用性が完璧に融合したアルゴリズムです。見た目は複雑かもしれませんが、やっていることは「複雑な相関関係を、扱いやすい構造へと解きほぐす」作業に他なりません。エンジニアやデータサイエンティストを目指すなら、この強力なツールを自在に操れるようになることが、プロへの大きな一歩となるでしょう。当計算機を活用し、理論と計算の架け橋としてお役立てください。