コレスキー分解 A = L·Lᵀ は、対称かつ正定値(SPD)な行列に対してのみ存在します。対称とは A[i][j]=A[j][i]、正定値とは任意の非零ベクトル x に対し xᵀAx>0 が成り立つことです。実用上は、すべての主座小行列式が正であること(シルベスターの判定法)で正定値性を判定できます。対称でない行列や、正定値でない行列にはコレスキー分解は使えず、その場合は LU 分解や LDLᵀ 分解を使います。
LU 分解は一般の正方行列を A=LU に分解しますが、コレスキー分解は対称正定値行列に特化し A=LLᵀ と分解します。対称性を利用するため、必要な演算量は約 n³/3 で、LU 分解の約 2n³/3 のちょうど半分です。記憶領域も下三角部分だけで済みます。さらにコレスキー分解はピボット選択なしで数値的に安定なため、対称正定値系では LU より優先して使われます。
有限要素法(FEM)の剛性行列は対称正定値になることが多く、その連立方程式 Ku=f を解く標準的な直接法ソルバーがコレスキー分解です。ほかにも最小二乗法の正規方程式 AᵀA x = Aᵀb、ガウス過程やカルマンフィルタで現れる共分散行列の扱い、相関のある乱数を生成するサンプリングなど、対称正定値行列が出てくるあらゆる場面で利用されます。
実世界での応用
有限要素法(FEM)の構造解析:線形静解析で組み立てられる全体剛性行列 K は、適切に拘束条件を入れれば対称正定値になります。連立方程式 Ku=f を直接法で解くソルバーの中核がコレスキー分解(および疎行列向けの変種であるスパース・コレスキー)です。同じ K に対して荷重ベクトル f だけを変えて何度も解く荷重ケース計算では、一度分解した L を使い回せるため、前進・後退代入だけで高速に解けます。
最小二乗法と回帰分析:観測データへの当てはめで現れる正規方程式 AᵀA x = Aᵀb の係数行列 AᵀA は対称半正定値です。フルランクであれば正定値となり、コレスキー分解で安定かつ高速に解けます。多項式フィッティング、センサーキャリブレーション、測量の網平均など、過剰決定系を扱うあらゆる場面で使われます。
最後に、「演算量が半分なら計算時間も常に半分」という単純化。理論的な浮動小数点演算回数はコレスキーが LU の半分ですが、実際の計算時間はメモリアクセスのパターン、キャッシュ効率、疎行列のフィルイン(分解で新たに非零になる成分)に強く依存します。大規模な疎行列では、節点の並べ替え(リオーダリング)でフィルインをどれだけ抑えられるかが、演算量の係数より支配的になることも珍しくありません。「n³/3」はあくまで密行列の目安として理解してください。