MCPで接続 →

計算を入力してください

公式

広告

結果

入力行列

4 12 -16
12 37 -43
-16 -43 98

コレスキー分解(L 行列)

2 0 0
6 1 0
-8 5 3

補足情報

行列式 36

コレスキー分解計算ツールとは?

このツールは、対称かつ正定値の行列 A\(A = L \cdot L^{\mathsf{T}}\) の形に分解します。ここで L は下三角行列、\(L^{\mathsf{T}}\) はその転置行列です。コレスキー分解はLU分解と比べておよそ2倍効率がよく、数値線形代数、モンテカルロ・シミュレーション、連立一次方程式の求解、最小二乗問題など幅広い場面で利用されています。さらに、副産物として行列式の値も同時に求められます。

使い方

入力欄は 入力行列 の1つだけです。同じ行の中の値はカンマ(,)で区切り、改行(次の行の開始)にはパイプ記号 | を使います。

  • 2×2 の例:4,12|12,37
  • 3×3 の例:4,12,-16|12,37,-43|-16,-43,98

計算ツールはまず、入力した行列が 対称 であるか(対角以外の各成分 \(A_{ij}\) が \(A_{ji}\) と等しいか。許容誤差は 1e-10)を確認します。対称かつ正定値であれば、下三角行列 L と行列式を計算して表示します。対称でない、または正定値でない場合は分解を実行できません。

計算式の解説

L の各成分は、次の式で計算されます。

  • 対角成分:\(L_{jj} = \sqrt{A_{jj} - \sum L_{jk}^{2}}\)(k < j について和をとる)
  • 対角より下の成分:\(L_{ij} = \dfrac{A_{ij} - \sum L_{ik} L_{jk}}{L_{jj}}\)(i > j の場合)

行列式は、L の対角成分をそれぞれ2乗してすべて掛け合わせた値に等しくなります。

$$A = L\,L^{\mathsf{T}}, \qquad \det(A) = \prod_{i=1}^{n} L_{ii}^{2}$$
広告
対称行列 A が下三角行列 L とその転置 L^T に分解された図
コレスキー分解は、A を下三角行列とその転置行列の積として表します。

計算例

3×3 行列 4,12,-16|12,37,-43|-16,-43,98 を例に、式に従って計算してみましょう。

  • \(L_{11} = \sqrt{4} = 2\)
  • \(L_{21} = 12 / 2 = 6\)、\(L_{22} = \sqrt{37 - 36} = 1\)
  • \(L_{31} = -16 / 2 = -8\)、\(L_{32} = (-43 - (-8)(6)) / 1 = 5\)、\(L_{33} = \sqrt{98 - 64 - 25} = 3\)

したがって \(L = [[2,0,0],[6,1,0],[-8,5,3]]\) となり、行列式 \(= (2 \cdot 1 \cdot 3)^{2} = 36\) です。

平方根を用いる対角成分と非対角成分を強調した下三角行列
対角成分は平方根を用い、非対角成分は列ごとに計算します。

よくある質問

なぜ結果が表示されないのですか? 行列は対称(\(A_{ij} = A_{ji}\))であり、かつ正定値(すべての固有値が正)でなければなりません。いずれかの条件を満たさない場合、コレスキー分解は存在しません。

行列は必ず正方行列である必要がありますか? はい。各行の値の数は行の数と等しくなければならず、さらに対称である必要があります。

行列式はどのように計算されますか? L の対角成分をそれぞれ2乗して掛け合わせた値で、これは元の行列 A の行列式と一致します。

最終更新: