Cholesky 分解是一种用于对称正定矩阵的分解方法,将矩阵分解为一个下三角矩阵与其转置的乘积。具体来说,若 ( AAA ) 是一个对称正定矩阵,Cholesky 分解可以表示为:
[ A=LLTA = LL^TA=LLT ]
其中,( LLL ) 是一个下三角矩阵,( LTL^TLT ) 是 ( LLL ) 的转置。
1. 条件
Cholesky 分解要求矩阵 ( AAA ) 满足以下条件:
- 对称性:( A=ATA = A^TA=AT )
- 正定性:对于所有非零向量 ( xxx ),( xTAx>0x^T A x > 0xTAx>0 )
2. 算法步骤
Cholesky 分解的算法步骤如下:
-
初始化:给定对称正定矩阵 ( AAA ) 和其维度 ( nnn ),初始化下三角矩阵 ( LLL ) 为全零矩阵。
-
逐列计算:
- 对于每一列 ( jjj ) 从 111 到 ( nnn ):
- 计算对角线元素:
Ljj=Ajj−∑k=1j−1Ljk2 L_{jj} = \sqrt{A_{jj} - \sum_{k=1}^{j-1} L_{jk}^2} Ljj=Ajj−k=1∑j−1Ljk2 - 对于每一行 ( iii ) 从 ( j+1j+1j+1 ) 到 ( nnn ):
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) Lij=Ljj1(Aij−k=1∑j−1LikLjk)
- 计算对角线元素:
- 对于每一列 ( jjj ) 从 111 到 ( nnn ):
-
返回结果:得到下三角矩阵 ( L ),满足 ( A=LLTA = LL^TA=LLT )。
3. 示例
假设有对称正定矩阵:
A=(412−161237−43−16−4398) A = \begin{pmatrix} 4 & 12 & -16 \\ 12 & 37 & -43 \\ -16 & -43 & 98 \end{pmatrix} A=412−161237−43−16−4398
进行 Cholesky 分解:
-
计算 ( L11L_{11}L11 ):
L11=4=2 L_{11} = \sqrt{4} = 2 L11=4=2 -
计算 ( L21L_{21}L21 ) 和 ( L31L_{31}L31 ):
L21=122=6,L31=−162=−8 L_{21} = \frac{12}{2} = 6, \quad L_{31} = \frac{-16}{2} = -8 L21=212=6,L31=2−16=−8 -
计算 ( L22L_{22}L22 ):
L22=37−62=1=1 L_{22} = \sqrt{37 - 6^2} = \sqrt{1} = 1 L22=37−62=1=1 -
计算 ( L32L_{32}L32 ):
L32=−43−(6×−8)1=5 L_{32} = \frac{-43 - (6 \times -8)}{1} = 5 L32=1−43−(6×−8)=5 -
计算 ( L33L_{33}L33 ):
L33=98−((−8)2+52)=25=5 L_{33} = \sqrt{98 - ((-8)^2 + 5^2)} = \sqrt{25} = 5 L33=98−((−8)2+52)=25=5
最终得到下三角矩阵 ( LLL ):
L=(200610−855) L = \begin{pmatrix} 2 & 0 & 0 \\ 6 & 1 & 0 \\ -8 & 5 & 5 \end{pmatrix} L=26−8015005
验证 ( A=LLTA = LL^TA=LLT ):
LLT=(200610−855)(26−8015005)=(412−161237−43−16−4398)=A LL^T = \begin{pmatrix} 2 & 0 & 0 \\ 6 & 1 & 0 \\ -8 & 5 & 5 \end{pmatrix} \begin{pmatrix} 2 & 6 & -8 \\ 0 & 1 & 5 \\ 0 & 0 & 5 \end{pmatrix}= \begin{pmatrix} 4 & 12 & -16 \\ 12 & 37 & -43 \\ -16 & -43 & 98 \end{pmatrix} = A LLT=26−8015005200610−855=412−161237−43−16−4398=A
4. 应用
Cholesky 分解在以下领域有广泛应用:
- 线性方程组求解:通过分解后,求解 ( Ax=bAx = bAx=b ) 转化为求解 ( Ly=bLy = bLy=b ) 和 ( LTx=yL^T x = yLTx=y )。
- 优化问题:在二次规划和最小二乘法中用于简化计算。
- 随机模拟:生成多元正态分布随机变量。
5. 优点
- 高效性:相比 LU 分解,Cholesky 分解的计算量更小。
- 数值稳定性:适用于对称正定矩阵,具有较好的数值稳定性。
6. 注意事项
- 矩阵条件:Cholesky 分解仅适用于对称正定矩阵,否则无法保证分解的唯一性和稳定性。
- 数值误差:在实际计算中,需注意数值误差的积累,尤其是矩阵接近奇异时。
总结来说,Cholesky 分解是一种高效且稳定的矩阵分解方法,广泛应用于科学计算和工程领域。
8498

被折叠的 条评论
为什么被折叠?



