什麼是 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}$$
實際範例演算
以 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 的行列式。