Cholesky 分解計算器 - 正定矩陣分解

立即將任意對稱正定矩陣分解為 A = L·Lᵀ。適用於線性代數、數值分析與統計的免費線上 Cholesky 分解工具。

輸入對稱正定矩陣的各元素,選擇矩陣大小,即可立即取得下三角 Cholesky 因子 L。

Cholesky 分解計算器 - 正定矩陣分解
立即將任意對稱正定矩陣分解為 A = L·Lᵀ。適用於線性代數、數值分析與統計的免費線上 Cholesky 分解工具。

為每個矩陣元素輸入數值。矩陣必須對稱且正定。

載入範例矩陣:

關於 Cholesky 分解計算器

Cholesky 分解是數值線性代數中最重要的矩陣分解之一。給定一個對稱正定矩陣 A,該分解會生成唯一的下三角矩陣 L,且其對角線元素嚴格為正,使得 A = L·Lᵀ。該演算法歸功於法國砲兵軍官 André-Louis Cholesky(1875–1918),於 1924 年身後發表,隨後成為科學計算的基石。 本計算器使用的 Cholesky-Banachiewicz 演算法按列推進。對於每個對角元素,它先用 A 中對應對角元素減去同一行先前所有元素平方和,再開平方。對於對角線下方的非對角元素,則減去之前計算出的元素點積後再除以目前對角元素。對於 n×n 矩陣,計算量約為 n³/6 次乘法,因此對於對稱正定輸入,它的效率大約是通用 LU 分解的兩倍。 最重要的前提是矩陣既要對稱又要正定。對稱性表示對所有 (i, j) 都有 A[i][j] = A[j][i]。正定性表示對每個非零實向量 x 都有 xᵀAx > 0,這等價於所有特徵值都嚴格為正。在 Cholesky 演算法中,正定性失效會表現為嘗試對非正數開平方,而這正是本計算器執行的檢查。 在統計學中,共變異數矩陣始終是對稱且半正定的。當不存在兩個變數完全共線時,它們就嚴格正定,因此可以直接使用 Cholesky 分解。該分解可用於生成多變量常態隨機樣本:如果 z 是由獨立標準常態變數組成的向量,那麼 L·z 的共變異數矩陣就是 A。此技術支撐了相關金融資產的蒙地卡羅模擬、氣候模型集合以及結構可靠度分析。 在機器學習中,高斯程序迴歸和貝葉斯神經網路都高度依賴 Cholesky 分解來高效求逆或計算核矩陣的對數行列式。A 的對數行列式等於 L 的對角線元素對數之和的兩倍,這避免了直接計算行列式帶來的數值不穩定。卡爾曼濾波實作常使用所謂的平方根卡爾曼濾波,它傳播的是共變異數矩陣的 Cholesky 因子而不是共變異數本身,從而在長期估計問題中顯著提升數值穩定性。 本計算器支援 2×2、3×3 和 4×4 矩陣——這些尺寸最常見於課堂練習、小規模數值分析問題以及數值演算法原型設計。對於更大的矩陣,同樣的演算法依然適用,並且可以在現代硬體上借助 BLAS 第三級運算高效實作。無論你是在檢查作業、驗證手算分解,還是探索正定矩陣的性質,這個工具都能即時給出準確的 Cholesky 因子。

Cholesky 分解範例

三個完整範例展示不同大小矩陣的 Cholesky 因子如何計算。

輸入矩陣 ACholesky 因子 L說明
[[4, 2], [2, 3]]L = [[2, 0], [1, 1.4142]]2×2 對稱正定矩陣。L[0][0] = √4 = 2;L[1][0] = 2/2 = 1;L[1][1] = √(3−1) = √2 ≈ 1.4142。
[[4, 2, 1], [2, 5, 2], [1, 2, 6]]L = [[2, 0, 0], [1, 2, 0], [0.5, 0.75, 2.2776]]3×3 正定矩陣。L[0][0]=2,L[1][0]=1,L[1][1]=2,L[2][0]=0.5,L[2][1]=0.75,L[2][2]=√5.1875≈2.2776。所有對角元素都為正。
[[1, 0], [0, 1]]L = [[1, 0], [0, 1]]單位矩陣本身就是它的 Cholesky 因子,因為 I = I·Iᵀ。可作為驗證計算器準確性的基準。

如何使用 Cholesky 分解計算器

  1. 使用計算器頂部的尺寸按鈕選擇矩陣大小(2×2、3×3 或 4×4)。
  2. 在網格中輸入所有矩陣元素。對於對稱矩陣,請確保 A[i][j] 等於 A[j][i],計算器會自動檢查。
  3. 點擊“計算分解”。下三角因子 L 會顯示在結果網格中,每個儲存格顯示 L[i][j] 的值。
  4. 透過檢查 L × Lᵀ 是否等於原始矩陣 A 來驗證結果。任何數值差異都來自浮點捨入。
  5. 使用範例矩陣按鈕載入預設的正定矩陣,並了解分解在不同輸入下的運作方式。

Cholesky 分解常見問題

什麼是 Cholesky 分解?
Cholesky 分解把對稱正定矩陣 A 分解為 L·Lᵀ,其中 L 是對角線元素為正的下三角矩陣。它以法國數學家 André-Louis Cholesky 命名,在這類矩陣上,其效率大約是 LU 分解的兩倍,並廣泛用於數值計算。
「正定」是什麼意思?
如果對任意非零向量 x 都有 xᵀAx > 0,則對稱矩陣 A 是正定的。等價地說,所有特徵值都必須嚴格為正,或者所有順序主子式都必須為正。統計中的共變異數矩陣總是半正定的;當不存在變數之間的完全線性組合時,它們就是正定的。
如果我的矩陣不是正定的會怎樣?
Cholesky 演算法會遇到對非正數開平方的情況,這表示該分解在實數域中不存在。此計算器會偵測這種情況並回報錯誤。請檢查矩陣是否真正對稱,以及同一行中所有對角元素是否大於非對角元素平方和。
Cholesky 分解在實務中如何使用?
它用於高效求解線性方程組 Ax = b、計算共變異數矩陣的對數行列式(高斯概似評估所需)、在蒙地卡羅模擬中生成相關隨機樣本,以及作為卡爾曼濾波和高斯程序回歸的基礎模組。因子 L 為處理正定系統提供了數值穩定的方法。
為什麼矩陣必須對稱?
分解 A = L·Lᵀ 只對對稱矩陣定義,因為 Lᵀ 是 L 的轉置。非對稱矩陣沒有這種分解。實務中,可以先用 (A + Aᵀ)/2 將近似對稱矩陣對稱化,再進行分解。
Cholesky 分解和 LU 分解有什麼關係?
LU 分解將 A 寫成 L·U,其中 L 是下三角矩陣,U 是上三角矩陣。對於對稱正定矩陣,U = Lᵀ,因此 Cholesky 是 LU 的特例,利用了對稱性,將計算量從 O(n³/3) 浮點運算減少到 O(n³/6)。對於正定系統,Cholesky 也更穩定。