免费 Cholesky 分解计算器

[
]

输入矩阵值查看 Cholesky 分解

矩阵分解基础

在线性代数中,矩阵分解(或因式分解)将给定矩阵重写为两个或多个更简单矩阵的乘积,类似于将整数分解为质因数。存在许多分解方法——其中使用最广泛的是LU分解、QR分解、奇异值分解(SVD)和Cholesky分解。每种方法针对特定类型的矩阵和应用而设计。特别是,Cholesky分解提供了一种快速且数值稳定的方式来处理特定类别的矩阵,并且经常在科学计算、优化和机器学习中实现。

定义 Cholesky 分解

Cholesky 分解(也称为 Cholesky 因式分解)将实对称正定矩阵 AA 分解为一个下三角矩阵 LL 与其转置 LTL^{T} 的乘积:

A=LLT.A = L L^{T}.

要进行此分解,AA 必须满足三个条件:

  • AA 必须是对称的,即 AT=AA^{T} = A。
  • 因此 AA 必须是方阵。
  • AA 必须是正定的(所有特征值为正,或等价地,对于任意非零向量 zz,zTAz>0z^{T} A z > 0)。

满足这些要求时,LL 是唯一的,且其对角元素为实数。LL 的下三角结构——主对角线以上为零——使得许多后续计算(例如,求解线性方程组)变得简单得多。

计算 Cholesky 因子

Cholesky 分解没有单一的闭式公式,但存在一个算法过程:LL 的元素从左上角到右下角依次计算。对于一般的 n×nn\times n 矩阵,以下递推公式给出 LL 的元素。

对角元素(i=ji = j):

Lii=Aii−∑k=1i−1Lik2L_{ii} = \sqrt{ A_{ii} - \sum_{k=1}^{i-1} L_{ik}^{2} }

非对角元素(i>ji > j):

Lij=1Ljj(Aij−∑k=1j−1LikLjk)L_{ij} = \frac{1}{L_{jj}} \left( A_{ij} - \sum_{k=1}^{j-1} L_{ik} L_{jk} \right)

这些公式表明每个元素依赖于先前计算出的元素。该过程可应用于任意大小的矩阵;在线Cholesky 分解计算器实现了最常见大小的自动分解:2×2、3×3 和 4×4。

示例:2×2 Cholesky 分解

对于 2×2 矩阵 AA,递推公式简化为:

L11=A11,L21=A21L11,L22=A22−L212.L_{11} = \sqrt{A_{11}}, \quad L_{21} = \frac{A_{21}}{L_{11}}, \quad L_{22} = \sqrt{A_{22} - L_{21}^{2}}.

取 A=(4225)A = \begin{pmatrix} 4 & 2 \\ 2 & 5 \end{pmatrix}。则

L11=4=2,L21=22=1,L22=5−1=2,L_{11} = \sqrt{4}=2,\quad L_{21} = \frac{2}{2}=1,\quad L_{22} = \sqrt{5-1}=2,

所以

L=(2012).L = \begin{pmatrix} 2 & 0 \\ 1 & 2 \end{pmatrix}.

乘以 LLTL L^{T} 可恢复原始矩阵 AA,验证了分解的正确性。

示例:3×3 Cholesky 分解

现在考虑 3×3 对称正定矩阵

A=(4−22−251216).A = \begin{pmatrix} 4 & -2 & 2\\ -2 & 5 & 1\\ 2 & 1 & 6 \end{pmatrix}.

LL 的元素按固定顺序获得:

  1. L11=4=2L_{11} = \sqrt{4} = 2
  2. L21=−22=−1,L31=22=1L_{21} = \dfrac{-2}{2} = -1,\quad L_{31} = \dfrac{2}{2} = 1
  3. L22=5−(−1)2=4=2L_{22} = \sqrt{5 - (-1)^{2}} = \sqrt{4} = 2
  4. L32=1−[(−1)(1)]2=1+12=1L_{32} = \dfrac{1 - [(-1)(1)]}{2} = \dfrac{1+1}{2} = 1
  5. L33=6−(12+12)=4=2L_{33} = \sqrt{6 - (1^{2}+1^{2})} = \sqrt{4} = 2

因此

L=(200−120112).L = \begin{pmatrix} 2 & 0 & 0\\ -1 & 2 & 0\\ 1 & 1 & 2 \end{pmatrix}.

可以验证 LLTL L^{T} 等于原始矩阵 AA。同样的模式扩展到 4×4 矩阵及更大规模。

使用在线 Cholesky 分解计算器

此页面上的Cholesky 分解计算器使分解变得轻松。只需:

  1. 选择矩阵大小 — 2×2、3×3 或 4×4。
  2. 在提供的网格中填入矩阵元素。
  3. 点击按钮进行计算。

该工具会立即返回下三角矩阵 LL。如果输入矩阵不对称或不是正定矩阵,计算器会发出提醒。它还支持以有理数或小数形式显示结果,非常适合作业检查、工程分析或数据科学任务。

为什么 Cholesky 分解很重要

由于 LL 是下三角矩阵,分解 A=LLTA = L L^{T} 大大加快了许多线性代数运算。求解方程组 Ax=bA x = b 变为两步替换过程(前向替换后跟后向替换),比普通高斯消元快得多。对于对称正定矩阵,Cholesky 方法所需内存更少,数值稳定性更好。这些优势使其成为蒙特卡洛模拟、卡尔曼滤波、有限元分析和投资组合优化等应用中的首选方法。

常见问题

1. 矩阵需要满足什么条件才能进行 Cholesky 分解?

矩阵必须是对称的(等于其转置)、方阵且正定(所有特征值为正)才能进行 Cholesky 分解。如果不满足这些条件,则不存在下三角因子 L 使得 A = L L^T。

2. 如何计算 2×2 矩阵的 Cholesky 分解?

对于 2×2 矩阵 A,首先计算 L₁₁ = √A₁₁,然后计算 L₂₁ = A₂₁ / L₁₁,最后计算 L₂₂ = √(A₂₂ − L₂₁²)。由这些元素构成的下三角矩阵 L 满足 A = L L^T。

3. 计算器是否支持大于 4×4 的矩阵?

当前的 Cholesky 分解计算器支持 2×2、3×3 和 4×4 矩阵。对于更大的尺寸,相同的递推公式适用,但此工具未实现。

4. 如果计算器提示矩阵不是正定矩阵,这意味着什么?

非正定矩阵至少有一个特征值为零或负数。这样的矩阵无法使用 Cholesky 方法进行分解,因为对角元素的平方根步骤会涉及虚数或零,违反了分解的假设条件。

5. Cholesky 分解与 LU 分解相比如何?

两者都将矩阵分解为三角因子,但 Cholesky 仅适用于对称正定矩阵,生成 L 及其转置,而不是单独的上下三角矩阵。对于此类矩阵,Cholesky 使用的运算量约为一般 LU 分解的一半,且存储需求更少。

使用方法

  1. 从下拉菜单中选择矩阵大小(2×2、3×3 或 4×4)。
  2. 在输入网格中输入对称正定矩阵的值。
  3. Cholesky 分解得到的下三角矩阵 L 会立即显示在下方。