三十分钟理解:矩阵Cholesky分解,及其在求解线性方程组矩阵逆的应用

Posted 大饼博士X

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了三十分钟理解:矩阵Cholesky分解,及其在求解线性方程组矩阵逆的应用相关的知识,希望对你有一定的参考价值。

写一篇关于Cholesky分解的文章,作为学习笔记,尽量一文看懂矩阵Cholesky分解,以及用Cholesky分解来求解对称正定线性方程组,以及求对称正定矩阵的逆的应用。

文章目录


先简单理解下正定矩阵和半正定矩阵的定义[1][2][3]:

  • 给定一个 n × n n\\times n n×n 的实对称矩阵 A A A ,若对于任意长度为 n 的非零向量 X,有 X T A X > 0 X^TAX \\gt 0 XTAX>0 恒成立,则矩阵 A A A 是一个正定矩阵。
  • 给定一个 n × n n\\times n n×n 的实对称矩阵 A A A ,若对于任意长度为 n 的非零向量 X,有 X T A X ≥ 0 X^TAX \\geq 0 XTAX0 恒成立,则矩阵 A A A 是一个半正定矩阵。

直接Cholesky分解

定理——若 A ∈ R n × n A \\in R^n\\times n ARn×n是对称正定矩阵,则存在一个对角元全为正数的下三角矩阵 L ∈ R n × n L \\in R^n\\times n LRn×n,使得 A = L L T A=LL^T A=LLT成立。

L L L是一个下三角形,形式是这样的:

推导 A = L L T A=LL^T A=LLT:我们先令

A = [ a 11 A 21 T A 21 A 22 ] , L = [ l 11 0 L 21 L 22 ] , L T = [ l 11 L 21 T 0 L 22 T ] A = \\left[ \\beginmatrix a_11&A_21^T\\\\ A_21&A_22\\\\ \\endmatrix \\right], \\quad L = \\left[ \\beginmatrix l_11&0\\\\ L_21&L_22\\\\ \\endmatrix \\right], \\quad L^T = \\left[ \\beginmatrix l_11&L_21^T\\\\ 0&L_22^T\\\\ \\endmatrix \\right] A=[a11A21A21TA22],L=[l11L210L22],LT=[l110L21TL22T]

其中 a 11 a_11 a11 l 11 l_11 l11是一个标量, A 21 A_21 A21 L 21 L_21 L21是一个列向量, A 22 A_22 A22是一个n-1阶的方阵,而 L 22 L_22 L22是一个n-1阶的下三角形。那么:
[ a 11 A 21 T A 21 A 22 ] = [ l 11 0 L 21 L 22 ] [ l 11 L 21 T 0 L 22 T ] = [ l 11 2 l 11 L 21 T l 11 L 21 L 21 L 21 T + L 22 L 22 T ] \\left[ \\beginmatrix a_11&A_21^T\\\\ A_21&A_22\\\\ \\endmatrix \\right] = \\left[ \\beginmatrix l_11&0\\\\ L_21&L_22\\\\ \\endmatrix \\right] \\left[ \\beginmatrix l_11&L_21^T\\\\ 0&L_22^T\\\\ \\endmatrix \\right]= \\left[ \\beginmatrix l_11^2&l_11L_21^T\\\\ l_11L_21&L_21L_21^T+L_22L_22^T\\\\ \\endmatrix \\right] [a11A21A21TA22]=[l11L210L22][l110L21TL22T]=[l112l11L21l11L21TL21L21T+L22L22T]

未知量只有标量 l 11 l_11 l11,列向量 L 21 L_21 L21,和下三角形 L 22 L_22 L22,也是我们要求的。很容易得到:
线性代数笔记: Cholesky分解

使用 OpenMP 进行 Cholesky 分解

高等工程数学 矩阵的三角分解 (LU分解,LDR分解,Cholesky分解)

高等工程数学 矩阵的三角分解 (LU分解,LDR分解,Cholesky分解)

高等工程数学 矩阵的三角分解 (LU分解,LDR分解,Cholesky分解)

高等工程数学 矩阵的三角分解 (LU分解,LDR分解,Cholesky分解)