pdf文件

算法原理

将一个nnn阶Hermitian正定矩阵AAA分解为一个下三角矩阵LLL及其转置LTL^TLT的乘积,即:
A=LLT(1)A=LL^T\tag{1} A=LLT(1)

推导过程

对于nnn阶Hermitian正定矩阵
A=[a11A21TA21A22](2)A= \begin{bmatrix} a_{11} & A_{21}^T\\ A_{21} & A_{22} \end{bmatrix}\tag{2} A=[a11​A21​​A21T​A22​​](2)
其中A21A_{21}A21​为n−1n-1n−1维列向量,A22A_{22}A22​为n−1n-1n−1阶矩阵。设nnn阶下三角矩阵LLL
L=[l110L21L22](3)L= \begin{bmatrix} l_{11} & 0 \\ L_{21} & L_{22} \end{bmatrix}\tag{3} L=[l11​L21​​0L22​​](3)
其转置矩阵LTL^TLT为
L=[l11L210L22](4)L= \begin{bmatrix} l_{11} & L_{21} \\ 0 & L_{22} \end{bmatrix}\tag{4} L=[l11​0​L21​L22​​](4)
设A=LLTA=LL^TA=LLT,即有
[a11A21TA21A22]=[l110L21L22][l11L21T0L22]=[l112l11L21Tl11L21L21L21T+L22L22T](5)\begin{aligned} \begin{bmatrix} a_{11} & A_{21}^T \\ A_{21} & A_{22} \end{bmatrix} &= \begin{bmatrix} l_{11} & 0 \\ L_{21} & L_{22} \end{bmatrix} \begin{bmatrix} l_{11} & L_{21}^T \\ 0 & L_{22} \end{bmatrix}\\ &= \begin{bmatrix} l_{11}^2 & l_{11}L_{21}^T \\ l_{11}L_{21} & L_{21}L_{21}^T+L_{22}L_{22}^T \end{bmatrix}\\ \end{aligned}\tag{5} [a11​A21​​A21T​A22​​]​=[l11​L21​​0L22​​][l11​0​L21T​L22​​]=[l112​l11​L21​​l11​L21T​L21​L21T​+L22​L22T​​]​(5)

未知量为l11,L21,L22l_{11},L_{21},L_{22}l11​,L21​,L22​,这三个未知量的求解公式为
l11=a11L21=1l11A21L22L22T=A22−L21L21T(6)\begin{aligned} l_{11}&=\sqrt{a_{11}}\\ L_{21}&=\frac{1}{l_{11}}A_{21}\\ L_{22}L_{22}^T&=A_{22}-L_{21}L_{21}^T \end{aligned}\tag{6} l11​L21​L22​L22T​​=a11​​=l11​1​A21​=A22​−L21​L21T​​(6)

l11,L21l_{11},L_{21}l11​,L21​易求解,令A′=A22−L21L21TA^{'}=A_{22}-L_{21}L_{21}^TA′=A22​−L21​L21T​,因为L21L21TL_{21}L_{21}^TL21​L21T​是一个对角线矩阵,因此A′A^{'}A′为Hermitian正定矩阵,则需要求解的问题变为
A′=L22L22T(7)A^{'}=L_{22}L_{22}^T\tag{7} A′=L22​L22T​(7)

也可以采用Cholesky分解处理,该算法是一个递归算法。

例子

将333阶Hermitian正定矩阵
A=[2515−515180−5011](8)A=\begin{bmatrix} 25 & 15 & -5\\ 15 & 18 & 0\\ -5 & 0 & 11 \end{bmatrix}\tag{8} A=⎣⎡​2515−5​15180​−5011​⎦⎤​(8)
进行Cholesky分解。

进行第一次Cholesky分解
A=[l1100l21l220l31l32l33][l11l21l310l22l3200l33](9)A=\begin{bmatrix} l_{11} & 0 & 0\\ l_{21} & l_{22} & 0\\ l_{31} & l_{32} & l_{33} \end{bmatrix} \begin{bmatrix} l_{11} & l_{21} & l_{31}\\ 0 & l_{22} & l_{32}\\ 0 & 0 & l_{33} \end{bmatrix}\tag{9} A=⎣⎡​l11​l21​l31​​0l22​l32​​00l33​​⎦⎤​⎣⎡​l11​00​l21​l22​0​l31​l32​l33​​⎦⎤​(9)
根据(6)有
l11=a11=5L21=1l11A21=15[15−5]=[3−1]A22−L21L21T=L22L22T(10)\begin{aligned} l_{11}&=\sqrt{a_{11}}=5\\ L_{21}&=\frac{1}{l_{11}}A_{21}=\frac{1}{5}\begin{bmatrix}15\\-5 \end{bmatrix}=\begin{bmatrix}3\\ -1 \end{bmatrix}\\ A_{22}&-L_{21}L_{21}^T=L_{22}L_{22}^T \end{aligned}\tag{10} l11​L21​A22​​=a11​​=5=l11​1​A21​=51​[15−5​]=[3−1​]−L21​L21T​=L22​L22T​​(10)
则有
A′=A22−L21L21T=[180011]−[3−1][3−1]=[93310](11)\begin{aligned} A^{'}&=A_{22}-L_{21}L_{21}^T\\ &=\begin{bmatrix} 18 & 0\\ 0 & 11 \end{bmatrix}-\begin{bmatrix}3\\-1\end{bmatrix}\begin{bmatrix}3 -1\end{bmatrix}\\ &=\begin{bmatrix}9 & 3\\3 & 10\end{bmatrix} \end{aligned}\tag{11} A′​=A22​−L21​L21T​=[180​011​]−[3−1​][3−1​]=[93​310​]​(11)
进行第二次Cholesky分解
A′=[l220l32l33][l22l320l33](12)A^{'}=\begin{bmatrix}l_{22} & 0\\l_{32} & l_{33}\end{bmatrix}\begin{bmatrix}l_{22} & l_{32}\\0 & l_{33}\end{bmatrix}\tag{12} A′=[l22​l32​​0l33​​][l22​0​l32​l33​​](12)
根据(6)有
l22=9=3l32=133=110−l322=10−1=L332(13)\begin{aligned} l_{22}&=\sqrt{9}=3\\ l_{32}&=\frac{1}{3}3=1\\ 10-l_{32}^{2}&=10-1=L_{33}^{2} \end{aligned}\tag{13} l22​l32​10−l322​​=9​=3=31​3=1=10−1=L332​​(13)
因此
l33=3l_{33}=3 l33​=3
则有
A=[2515−515180−5011]=[500330−113]=[53−1031003](14)A=\begin{bmatrix}25 & 15 & -5\\15 & 18 & 0\\-5 & 0 & 11\end{bmatrix} =\begin{bmatrix}5 & 0 & 0\\3 & 3 & 0\\-1 & 1 & 3\end{bmatrix} =\begin{bmatrix}5 & 3 & -1\\0 & 3 & 1\\0 & 0 & 3\end{bmatrix}\tag{14} A=⎣⎡​2515−5​15180​−5011​⎦⎤​=⎣⎡​53−1​031​003​⎦⎤​=⎣⎡​500​330​−113​⎦⎤​(14)

程序求解Cholesky

Matlab

L=chol(A)

Mathematica

L=CholeskyDecomposition[A]

对333阶Hermitian正定矩阵的Cholesky分解

333阶正定矩阵
A=[a11a21a31a21a22a32a31a32a33](15)A=\begin{bmatrix}a_{11} & a_{21} & a_{31}\\a_{21} & a_{22} &a_{32}\\a_{31} & a_{32} &a_{33}\end{bmatrix}\tag{15} A=⎣⎡​a11​a21​a31​​a21​a22​a32​​a31​a32​a33​​⎦⎤​(15)
进行第一次Cholesky分解
A=[l1100l21l220l31l32l33][l11l21l310l22l3200l33](16)A=\begin{bmatrix} l_{11} & 0 & 0\\ l_{21} & l_{22} & 0\\ l_{31} & l_{32} & l_{33} \end{bmatrix} \begin{bmatrix} l_{11} & l_{21} & l_{31}\\ 0 & l_{22} & l_{32}\\ 0 & 0 & l_{33} \end{bmatrix}\tag{16} A=⎣⎡​l11​l21​l31​​0l22​l32​​00l33​​⎦⎤​⎣⎡​l11​00​l21​l22​0​l31​l32​l33​​⎦⎤​(16)
根据(6)有
l11=a11L21=1l11A21=1a11[a21a31]=[a21a11a31a11]A22−L21L21T=L22L22T(17)\begin{aligned} l_{11}&=\sqrt{a_{11}}\\ L_{21}&=\frac{1}{l_{11}}A_{21}=\frac{1}{\sqrt{a_{11}}}\begin{bmatrix}a_{21}\\a_{31} \end{bmatrix}=\begin{bmatrix}\frac{a_{21}}{\sqrt{a_{11}}}\\ \frac{a_{31}}{\sqrt{a_{11}}} \end{bmatrix}\\ A_{22}&-L_{21}L_{21}^T=L_{22}L_{22}^T \end{aligned}\tag{17} l11​L21​A22​​=a11​​=l11​1​A21​=a11​​1​[a21​a31​​]=[a11​​a21​​a11​​a31​​​]−L21​L21T​=L22​L22T​​(17)
则有

A′=A22−L21L21T=[a22a32a32a33]−[a21a11a31a11][a21a11a31a11]=[a22−a212a11a32−a21a31a11a32−a31a21a11a33−a312a11](18)\begin{aligned} A^{'}&=A_{22}-L_{21}L_{21}^T\\ &=\begin{bmatrix} a_{22} & a_{32}\\ a_{32} & a_{33} \end{bmatrix}-\begin{bmatrix}\frac{a_{21}}{\sqrt{a_{11}}}\\ \frac{a_{31}}{\sqrt{a_{11}}} \end{bmatrix}\begin{bmatrix}\frac{a_{21}}{\sqrt{a_{11}}}&\frac{a_{31}}{\sqrt{a_{11}}} \end{bmatrix}\\ &=\begin{bmatrix}a_{22}-\frac{a_{21}^2}{a_{11}} & a_{32}-\frac{a_{21}a_{31}}{a_{11}}\\a_{32}-\frac{a_{31}a_{21}}{a_{11}} & a_{33}-\frac{a_{31}^2}{a_{11}}\end{bmatrix} \end{aligned}\tag{18} A′​=A22​−L21​L21T​=[a22​a32​​a32​a33​​]−[a11​​a21​​a11​​a31​​​][a11​​a21​​​a11​​a31​​​]=[a22​−a11​a212​​a32​−a11​a31​a21​​​a32​−a11​a21​a31​​a33​−a11​a312​​​]​(18)
进行第二次Cholesky分解
A′=[l220l32l33][l22l320l33](19)A^{'}=\begin{bmatrix}l_{22} & 0\\l_{32} & l_{33}\end{bmatrix}\begin{bmatrix}l_{22} & l_{32}\\0 & l_{33}\end{bmatrix}\tag{19} A′=[l22​l32​​0l33​​][l22​0​l32​l33​​](19)
根据(6)有
l22=a22−a212a11l32=1l22A21′=a32−a31a21a11a22−a212a11a33−a312a11−l322=a33−a312a11−(a32−a31a21a11)2a22−a212a11=a11a22a33−a212a33−a312a22−a322a11+2a21a31a32a11a22−a212=L332(20)\begin{aligned} l_{22}&=\sqrt{a_{22}-\frac{a_{21}^2}{a_{11}}}\\ l_{32}&=\frac{1}{l_{22}}A_{21}^{'}=\frac{a_{32}-\frac{a_{31}a_{21}}{a_{11}}}{\sqrt{a_{22}-\frac{a_{21}^2}{a_{11}}}}\\ a_{33}-\frac{a_{31}^2}{a_{11}}-l_{32}^{2}&=a_{33}-\frac{a_{31}^2}{a_{11}}-\frac{(a_{32}-\frac{a_{31}a_{21}}{a_{11}})^2}{a_{22}-\frac{a_{21}^2}{a_{11}}}\\&=\frac{a_{11}a_{22}a_{33}-a_{21}^2a_{33}-a_{31}^2a_{22}-a_{32}^2a_{11}+2a_{21}a_{31}a_{32}}{a_{11}a_{22}-a_{21}^2}=L_{33}^{2} \end{aligned}\tag{20} l22​l32​a33​−a11​a312​​−l322​​=a22​−a11​a212​​​=l22​1​A21′​=a22​−a11​a212​​​a32​−a11​a31​a21​​​=a33​−a11​a312​​−a22​−a11​a212​​(a32​−a11​a31​a21​​)2​=a11​a22​−a212​a11​a22​a33​−a212​a33​−a312​a22​−a322​a11​+2a21​a31​a32​​=L332​​(20)
因此
l33=a11a22a33−a212a33−a312a22−a322a11+2a21a31a32a11a22−a212(21)l_{33}=\sqrt{\frac{a_{11}a_{22}a_{33}-a_{21}^2a_{33}-a_{31}^2a_{22}-a_{32}^2a_{11}+2a_{21}a_{31}a_{32}}{a_{11}a_{22}-a_{21}^2}}\tag{21} l33​=a11​a22​−a212​a11​a22​a33​−a212​a33​−a312​a22​−a322​a11​+2a21​a31​a32​​​(21)
对下三角矩阵LLL有
l11=a11L21=[l21l31]=[a21a11a31a11]l22=a22−a212a11l32=a32−a31a21a11a22−a212a11l33=a11a22a33−a212a33−a312a22−a322a11+2a21a31a32a11a22−a212(22)\begin{aligned} l_{11}&=\sqrt{a_{11}}\\ L_{21}&=\begin{bmatrix}l_{21}\\l_{31} \end{bmatrix}=\begin{bmatrix}\frac{a_{21}}{\sqrt{a_{11}}}\\ \frac{a_{31}}{\sqrt{a_{11}}} \end{bmatrix}\\ l_{22}&=\sqrt{a_{22}-\frac{a_{21}^2}{a_{11}}}\\ l_{32}&=\frac{a_{32}-\frac{a_{31}a_{21}}{a_{11}}}{\sqrt{a_{22}-\frac{a_{21}^2}{a_{11}}}}\\ l_{33}&=\sqrt{\frac{a_{11}a_{22}a_{33}-a_{21}^2a_{33}-a_{31}^2a_{22}-a_{32}^2a_{11}+2a_{21}a_{31}a_{32}}{a_{11}a_{22}-a_{21}^2}} \end{aligned}\tag{22} l11​L21​l22​l32​l33​​=a11​​=[l21​l31​​]=[a11​​a21​​a11​​a31​​​]=a22​−a11​a212​​​=a22​−a11​a212​​​a32​−a11​a31​a21​​​=a11​a22​−a212​a11​a22​a33​−a212​a33​−a312​a22​−a322​a11​+2a21​a31​a32​​​​(22)

如果写成递归的形式有
l11=a11l21=a21l11l22=a22−l212l31=a31l11l32=a32−l21l31l22l33=a33−l312−l322(23)\begin{aligned} l_{11}&=\sqrt{a_{11}}\\ l_{21}&=\frac{a_{21}}{l_{11}}\\ l_{22}&=\sqrt{a_{22}-l_{21}^2}\\ l_{31}&=\frac{a_{31}}{l_{11}}\\ l_{32}&=\frac{a_{32}-l_{21}l_{31}}{l_{22}}\\ l_{33}&=\sqrt{a_{33}-l_{31}^2-l_{32}^2} \end{aligned}\tag{23} l11​l21​l22​l31​l32​l33​​=a11​​=l11​a21​​=a22​−l212​​=l11​a31​​=l22​a32​−l21​l31​​=a33​−l312​−l322​​​(23)

3阶Hermitian正定矩阵Cholesky分解通用表达式相关推荐

  1. 数值计算笔记-部分主元消去cholesky分解

    补充:接上一篇LU分解 1.高斯消元的一些问题:在之前高斯消元得到LU分解时,必须假设没有较换行的操作,即在消元过程中没有主元 a k k = 0 a_{kk} = 0 akk​=0的现象.但是实际情 ...

  2. 使用 uBLAS 进行实对称正定矩阵的 Cholesky 分解

    Cholesky 分解理论 矩阵分解--三角分解(Cholesky 分解) 矩阵分解--三角分解(二) 注:只有实对称矩阵才有 Cholesky 分解理论. 已知实对称正定矩阵 AA,其 Choles ...

  3. 矩阵的Cholesky分解

    原文链接:矩阵的Cholesky分解 首先来复习线性代数中几个重要的概念. 1)如果一个复矩阵A = A*(共轭转置),则A称为Hermitian矩阵.(注意,矩阵A转置后仍为其本身,显然A一定是方阵 ...

  4. 矩阵分解——三角分解(Cholesky 分解)

    (1)一个对角元素都是1的下三角矩阵,称为单位下三角矩阵. (2)上(下)三角矩阵的乘积仍是上(下)三角矩阵: (3)一般来说,矩阵的三角分解不唯一. (4)实对称正定矩阵 AA,Δk>0\De ...

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

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

  6. 几种矩阵分解算法: LU分解,Cholesky分解,QR分解,SVD分解,Jordan分解

    目录 1.LU分解 2. LDLT分解法 3. Cholesky分解的形式 4. QR分解 5.SVD分解 5.1 SVD与广义逆矩阵 6. Jordan 分解 参考文章: ---------我只是搬 ...

  7. LU分解,LDLT分解,Cholesky分解

    LU分解 如果方阵是非奇异的,即的行列式不为0,LU分解总是存在的. A=LU,将系数矩阵A转变成等价的两个矩阵L和U的乘积,其中L和U分别是下三角和上三角矩阵,而且要求L的对角元素都是1,形式如下: ...

  8. 线性代数笔记: Cholesky分解

    1 介绍 当一个实矩阵A是对称正定矩阵的时候,它可以分解成一个下三角矩阵L以及它的转置的乘积,即: 1.1 矩阵半正定的情况 如果矩阵是正定的话,那么L唯一确定:如果矩阵是半正定的话,那么也可以分解, ...

  9. cholesky分解java代码_Cholesky 分解(转)

    Cholesky 分解是把一个对称正定的矩阵表示成一个下三角矩阵L和其转置的乘积的分解. 它要求矩阵的所有特征值必须大于零,故分解的下三角的对角元也是大于零的. Cholesky分解法又称平方根法,是 ...

最新文章

  1. 安装 archlinux 之使用 EFI/GPT
  2. git:The authenticity of host 'github.com (13.250.177.223)' can't be established.
  3. PowerDesigner(1)----转载
  4. 20 年后,我们怎么看电影?
  5. Android 高级UI设计笔记08:Android开发者常用的7款Android UI组件(转载)
  6. mysql 关闭in自动排序_为什么MySQL的in查询会自动排序
  7. 超几何分布_概率小题——分布列专题
  8. Spring框架学习笔记07:基于XML配置方式使用Spring MVC
  9. 【报告分享】2021年中国五大主流电商平台关于用户数据的最新规则汇总.pdf(附下载链接)...
  10. Lua5.2中的全局环境
  11. python基础知识 01
  12. 企业微信电脑版显示连不上服务器,钉钉环境部分Anroid手机,微信、企业微信pc版,登录失败的解决办法...
  13. 21世纪青年人最该阅读的书籍清单
  14. 若问杭州何处好,此中听得野莺啼——关于杭州
  15. 实战:战狼2票房数据分析——(3)数据读取及分析
  16. fstream —文件读写操作
  17. 两台云服务器怎么共享文件夹,云服务器怎么共享文件夹
  18. phpredis与predis的区别
  19. 轻松上手CSS Grid网格布局
  20. 公路货运、安全如何风险感知?

热门文章

  1. 儿童接种新冠疫苗的7个注意事项
  2. 汉字编码-区位码、国标码和内码发展和区别以及为什么要加2020H、8080H
  3. 混沌工程:苏宁系统稳定性之道
  4. 【JVM】手写Java虚拟机-02 搜索class文件
  5. 全连接层解决MNIST
  6. Windows语音合成(TTS朗读播报)
  7. 数据仓库架构设计的一点概念
  8. 深信服2022年春招内推
  9. [17]岛屿数量和电话号码的字母组合
  10. 数据分析 - 6.漏斗分析法(学习笔记)