通过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}}\) 是它的转置。Cholesky 分解(楚列斯基分解)的计算效率大约是 LU 分解的两倍,在数值线性代数、蒙特卡罗模拟、求解线性方程组以及最小二乘问题中应用广泛。作为附带结果,本工具还会输出矩阵的行列式。

如何使用

页面只有一个输入框:输入矩阵。请在同一行内用逗号分隔数值,用竖线符号 | 来开始新的一行。

  • 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 的行列式。

最后更新: