Cholesky分解及一个例子

Cholesky分解及一个例子文字来源 C E Rasmussen amp K I Williams GaissianProc MITcholesky 分解是一种将对称正定矩阵 A 分解成下三角矩阵 L 的一种方法 LLT ALL T ALLT A 其中 L 称为 Cholesky 因子 Cholesky 分解对于解决带有对称正定系数矩阵 A 的线性问题非常有效 为了求解 Ax bA

文字来源:

  1. C.E. Rasmussen & K.I. Williams, Gaissian Processes for Machine Learning,MIT
  2. 计算机科学计算,高等教育出版社,张宏伟 等

定义: cholesky分解是一种将任意n阶对称正定矩阵A分解成下三角矩阵L的一种方法:
L L T = A \pmb L\pmb L^T=\pmb A LLLLLLT=AAA其中,L称为Cholesky因子。如果L的对角元均为正数,则L是唯一确定的。

Cholesky分解对于解决带有对称正定系数矩阵A的线性问题非常有效。在计算机中,直接求解 A x = b A\mathbf x=\mathbf b Ax=b时间复杂度是很高的(Gauss消元法求解是 O ( n 3 ) O(n^3) O(n3)),用cholesky法对A提前变换之后再计算会有效降低复杂度。计算方法如下: A x = b ⇒ L L T x = b \pmb A\pmb x=\pmb b\Rightarrow\pmb L\pmb L^T\pmb x=\pmb b AAAxxx=bbbLLLLLLTxxx=bbb其等价于 { L y = b L T x = y \begin{cases} \pmb L\pmb y=\pmb b \\ \pmb L^T\pmb x=\pmb y \end{cases} {
LLLyyy=bbbLLLTxxx=yyy

( a 11 a 12 ⋯ a 1 n a 21 a 22 ⋯ a 2 n ⋮ ⋮ ⋱ ⋮ a n 1 a n 2 … a n n ) = ( l 11 l 21 l 22 ⋮ ⋮ ⋱ l n 1 l n 2 … l n n ) ( l 11 l 12 ⋯ l 1 n l 22 ⋯ l 2 n ⋱ ⋮ l n n ) \begin{pmatrix} a_{11} & a_{12} & \cdots &a_{1n} \\ a_{21} & a_{22} & \cdots& a_{2n}\\ \vdots &\vdots&\ddots &\vdots\\ a_{n1} & a_{n2} & \dots & a_{nn} \end{pmatrix}= \begin{pmatrix} l_{11} & & & \\ l_{21} & l_{22} & & \\ \vdots &\vdots&\ddots & \\ l_{n1} & l_{n2} & \dots & l_{nn} \end{pmatrix} \begin{pmatrix} l_{11} & l_{12} & \cdots &l_{1n} \\ & l_{22} & \cdots& l_{2n}\\ & &\ddots &\vdots\\ & & & l_{nn} \end{pmatrix} a11a21an1a12a22an2a1na2nann=l11l21ln1l22ln2lnnl11l12l22l1nl2nlnn
a i j = ∑ k = 1 j − 1 l i k l j k + l i j l j j , i = j , j + 1 , ⋯   , n , a_{ij}=\sum_{k=1}^{j-1} l_{ik}l_{jk}+l_{ij}l_{jj}, \quad i=j,j+1,\cdots,n, aij=k=1j1likljk+lijljj,i=j,j+1,,n,则有
l j j = ( a j j − ∑ k = 1 j − 1 l j k 2 ) 1 2 , l_{jj}=\Bigl(a_{jj}-\sum_{k=1}^{j-1}l_{jk}^2\Bigr)^{\frac{1}{2}}, ljj=(ajjk=1j1ljk2)21,
l i j = ( a i j − ∑ k = 1 j − 1 l i k l j k ) / l j j , i = j + 1 , j + 2 , ⋯   , n l_{ij}=\Bigl( a_{ij}-\sum_{k=1}^{j-1}l_{ik}l_{jk} \Bigr)/l_{jj}, \quad i=j+1,j+2,\cdots,n lij=(aijk=1j1likljk)/ljj,i=j+1,j+2,,n计算次序为 l 11 , l 21 , . . . , l n 1 , l 22 , l 32 , . . . , l n 2 , . . . , l n n . l_{11},l_{21},…,l_{n1},l_{22},l_{32},…,l_{n2},…,l_{nn}. l11,l21,...,ln1,l22,l32,...,ln2,...,lnn.



例题
用cholesky方法求解线性方程组 A x = b \pmb A\pmb x=\pmb b AAAxxx=bbb,其中
A = ( 4 − 1 1 − 1 4.25 2.75 1 2.75 3.5 ) , b = ( 4 6 7.25 ) . \pmb A= \begin{pmatrix} 4 & -1 & 1 \\ -1 & 4.25 & 2.75\\ 1 & 2.75 & 3.5 \end{pmatrix}, \pmb b= \begin{pmatrix} 4\\ 6\\ 7.25 \end{pmatrix}. AAA=41114.252.7512.753.5,bbb=467.25.
显然 A T = A \pmb A^T=\pmb A AAAT=AAA,且 D 1 = 4 > 0 , D 2 = 16 > 0 , D 3 = 16 > 0 D_1=4>0,D_2=16>0,D_3=16>0 D1=4>0,D2=16>0,D3=16>0.因此,A为对称正定矩阵,故存在 A = L L T \pmb A=\pmb L\pmb L^T AAA=LLLLLLT.则有:
l 11 = a 11 = 2 ,   l 21 = a 21 l 11 = − 0.5 ,   l 31 = a 31 l 11 = 0.5 , l 22 = a 22 − l 21 2 = 2 , l 32 = a 32 − l 31 l 21 l 22 = 1.5 , l 33 = a 33 − l 31 2 − l 32 2 = 1 , \begin{aligned} & l_{11}=\sqrt{a_{11}}=2 , \ l_{21}=\frac{a_{21}}{l_{11}}=-0.5, \ l_{31}=\frac{a_{31}}{l_{11}}=0.5, \\ &l_{22}=\sqrt{a_{22}-l_{21}^2}=2, \\ &l_{32}=\frac{a_{32}-l_{31}l_{21}}{l_{22}}=1.5,\\ &l_{33}=\sqrt{a_{33}-l_{31}^2-l_{32}^2}=1, \end{aligned} l11=a11
=2, l21=l11a21=0.5, l31=l11a31=0.5,
l22=a22l212
=2,
l32=l22a32l31l21=1.5,l33=a33l312l322
=1,

L = ( 2 − 0.5 2 0.5 1.5 1 ) . \pmb L= \begin{pmatrix} 2&&\\ -0.5&2&\\ 0.5&1.5&1 \end{pmatrix}. LLL=20.50.521.51.再求
{ L y = b L T x = y \begin{cases} \pmb L\pmb y=\pmb b \\ \pmb L^T\pmb x=\pmb y \end{cases} {
LLLyyy=bbbLLLTxxx=yyy
解得 x = ( 1 , 1 , 1 ) T . \pmb x=(1,1,1)^T. xxx=(1,1,1)T.





版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/210732.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月19日 上午7:01
下一篇 2026年3月19日 上午7:01


相关推荐

  • 安全帽识别 安全帽佩戴效果 安全帽检测 yolov4安全帽识别 yolov3

    安全帽识别 安全帽佩戴效果 安全帽检测 yolov4安全帽识别 yolov3施工场景下的行为识别领域。该应用领域在技术上可拆分为两部分:视频跟踪和行为识别。这一周密集调研了文献,发现着实是一个大坑。其中的视频跟踪最近的各頂会论文出现最多的是单目标跟踪,而我们要解决的确是多目标跟踪,最近出的较好的能实用性的是deepSort;真实的施工场景中摄像头的远近,拍摄的遮挡,工人服装的统一,重叠,违规动作幅度的大小等都是巨大的挑战;行为识别方面最近出的论文较多,能实用性的目前敲定ECO模型;在跟踪过程中某一个工人的时空管道数据的抽取也是一个难题等等。无论如何,这块硬骨头得啃下来。行为识别模

    2022年5月19日
    35
  • R6034错误解决办法_错误1962解决办法

    R6034错误解决办法_错误1962解决办法转载自:http://hi.baidu.com/%B3%E6%B5%C4%B4%AB%C8%CB/blog/item/1ee503e785263324b838206f.html提示没有找到MSVCR80D.dllR6034AnapplicationhasmadeanattempttoloadtheCruntimelibrarywithoutusinga

    2025年7月6日
    5
  • 移远 EC20 模组(4G通信模组)AT指令测试 TCP 通信过程

    移远 EC20 模组(4G通信模组)AT指令测试 TCP 通信过程1 环境准备 1 1 硬件准备 EC20 通信模组 USB 转串口 一条 USB 线 1 2 软件准备 QCOM 串口助手 EC20 通信模组测试 AT 命令脚本 EC20 ini WindowsUSB 驱动使用 AT 指令测试移远 EC20 模组有两种方法 第一种是使用 USB 转串口连接模组 另一种是直接使用 USB 线连接到模组 使用虚拟 AT 串口测试 本文使用第二种方法 将模组直接通过 USB 线连接到

    2026年3月19日
    2
  • linux w3m编译过的,Linux下安装w3m

    linux w3m编译过的,Linux下安装w3m发现 w3m 真是个好玩好用的东西作者 qnbrid 出自 http www linuxdiyf comUbuntu 下这个东东是默认安装的 但是如果想在测试机上安装就费些事 不过也不麻烦 下面还是列一下安装的步骤吧 2 解压 configure 的时候说缺少 gc h 百度一下说缺少 gc 库 看来只能自己装了 4 奇怪吧 是个惠普的下载页面 目前还不太清楚这个 gc 库的实际用途 该不会是 java 里 gc

    2026年3月19日
    7
  • linux命令mysql启动,linux下启动mysql的命令

    linux命令mysql启动,linux下启动mysql的命令linux下启动mysql的命令一、总结一下:1.linux下启动mysql的命令:mysqladminstart/ect/init.d/mysqlstart(前面为mysql的安装路径)2.linux下重启mysql的命令:mysqladminrestart/ect/init.d/mysqlrestart(前面为mysql的安装路径)3.linux下关闭mysql的命令:mysqla…

    2022年5月21日
    42
  • 最优二叉树(哈夫曼树)

    最优二叉树(哈夫曼树)出处 最优二叉树最优二叉树 哈夫曼树 哈夫曼树相关的几个名词路径 在一棵树中 一个结点到另一个结点之间的通路 称为路径 图 1 中 从根结点到结点 a 之间的通路就是一条路径 路径长度 在一条路径中 每经过一个结点 路径长度都要加 1 例如在一棵树中 规定根结点所在层数为 1 层 那么从根结点到第 i 层结点的路径长度为 i 1 图 1 中从根结点到结点 c 的路径长度为 3 结点的

    2026年3月18日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号