透過 MCP 連接 →

輸入計算

數學公式

廣告

結果

輸入矩陣

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

Cholesky 分解(L 矩陣)

2 0 0
6 1 0
-8 5 3

其他資訊

行列式 36

什麼是 Cholesky 分解計算器?

這款計算器可將一個對稱正定矩陣 A 分解為 \(A = L \cdot L^{\mathsf{T}}\) 的乘積形式,其中 L 為下三角矩陣,\(L^{\mathsf{T}}\) 則是它的轉置矩陣。相較於 LU 分解,Cholesky 分解的運算效率約高出一倍,因此被廣泛運用在數值線性代數、蒙地卡羅模擬、求解線性方程組以及最小平方法等領域。除了分解結果之外,本工具也會一併計算出矩陣的行列式,方便您直接取用。

使用方法

本計算器只有一個輸入欄位:輸入矩陣。請以逗號分隔同一列中的各個數值,並使用直線符號 | 來換到下一列。

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

計算器會先檢查您輸入的矩陣是否為對稱矩陣(每個非對角元素 \(A_{ij}\) 都必須等於 \(A_{ji}\),誤差容許值為 1e-10)。若矩陣同時符合對稱且正定的條件,工具便會計算並顯示下三角矩陣 L 與行列式;反之,若矩陣不對稱或不是正定矩陣,則無法進行 Cholesky 分解。

公式解析

針對 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 對角元素平方的乘積。

$$A = L\,L^{\mathsf{T}}, \qquad \det(A) = \prod_{i=1}^{n} L_{ii}^{2}$$
Advertisement
對稱矩陣 A 分解為下三角矩陣 L 乘以其轉置 L 轉置
Cholesky 分解將 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}\))且為正定矩陣(所有特徵值皆為正)。只要其中一項條件不成立,就不存在 Cholesky 分解。

矩陣一定要是方陣嗎?是的。每一列的數值個數都必須與列數相同,而且矩陣必須對稱。

行列式是怎麼算出來的?它等於 L 對角元素平方的乘積,而這個值正好等於原矩陣 A 的行列式。

最後更新: