矩阵分解是将矩阵拆解成多个矩阵的乘积,常见的分解方法有 三角分解法、QR分解法、奇异值分解法。三角分解法是将原方阵分解成一个上三角矩阵和一个下三角矩阵,这种分解方法叫做LU分解法。进一步,如果待分解的矩阵A是正定的,则A可以唯一的分解为

\[{\bf{A = L}}{{\bf{L}}^{\bf{T}}}\]

其中L是下三角矩阵。下面以三维矩阵进行简单说明:

\[\begin{array}{ccccc}
{\bf{A = L}}{{\bf{L}}^{\bf{T}}}{\rm{ = }} & \left[ {\begin{array}{*{20}{c}}
{{L_{11}}}&0&0\\
{{L_{21}}}&{{L_{22}}}&0\\
{{L_{31}}}&{{L_{32}}}&{{L_{33}}}
\end{array}} \right]\left[ {\begin{array}{*{20}{c}}
{{L_{11}}}&{{L_{21}}}&{{L_{31}}}\\
0&{{L_{22}}}&{{L_{32}}}\\
0&0&{{L_{33}}}
\end{array}} \right]\\
= & \left[ {\begin{array}{*{20}{c}}
{L_{11}^2}&{}&{\left( {symmetric} \right)}\\
{{L_{21}}{L_{11}}}&{L_{21}^2 + L_{22}^2}&{}\\
{{L_{31}}{L_{11}}}&{{L_{31}}{L_{21}} + {L_{32}}{L_{22}}}&{L_{31}^2 + L_{32}^2 + L_{33}^2}
\end{array}} \right]\\
= & \left[ {\begin{array}{*{20}{c}}
{{A_{11}}}&{{A_{12}}}&{{A_{13}}}\\
{{A_{21}}}&{{A_{22}}}&{{A_{23}}}\\
{{A_{31}}}&{{A_{32}}}&{{A_{33}}}
\end{array}} \right]
\end{array}\]

由上式可以得到

\[{\bf{L}} = \left[ {\begin{array}{*{20}{c}}
{\sqrt {{A_{11}}} }&0&0\\
{\frac{{{A_{21}}}}{{{L_{11}}}}}&{\sqrt {{A_{22}} - L_{21}^2} }&0\\
{\frac{{{A_{31}}}}{{{L_{11}}}}}&{\frac{{{A_{32}} - {L_{31}}{L_{21}}}}{{{L_{22}}}}}&{\sqrt {{A_{33}} - L_{31}^2 - L_{32}^2} }
\end{array}} \right]\]

进一步进行多维扩展得到实数矩阵分解的表达式为

\[\begin{array}{l}
{L_{j,j}} = \sqrt {{A_{j,j}} - \sum\limits_{k = 1}^{j - 1} {L_{j,k}^2} } \\
{L_{i,j}} = \frac{{\left( {{A_{i,j}} - \sum\limits_{k = 1}^{j - 1} {{L_{i,k}}{L_{j,k}}} } \right)}}{{{L_{j,j}}}}for,i > j
\end{array}\]

对于复数矩阵可以得到类似的公式

\[\begin{array}{l}
{L_{j,j}} = \sqrt {{A_{j,j}} - \sum\limits_{k = 1}^{j - 1} {{L_{j,k}}L_{j,k}^ * } } \\
{L_{i,j}} = \frac{{\left( {{A_{i,j}} - \sum\limits_{k = 1}^{j - 1} {{L_{i,k}}L_{j,k}^ * } } \right)}}{{{L_{j,j}}}}for,i > j
\end{array}\]

上式过程叫做Cholesky分解,由公式可知,该方法存在开根号的操作,在硬件实现中复杂度较高。一般采用LDL分解法来规避这个问题。

矩阵分解----Cholesky分解的更多相关文章

  1. cholesky分解

        接着LU分解继续往下,就会发展出很多相关但是并不完全一样的矩阵分解,最后对于对称正定矩阵,我们则可以给出非常有用的cholesky分解.这些分解的来源就在于矩阵本身存在的特殊的 结构.对于矩阵 ...

  2. 矩阵分解-----LDL分解

    若一个矩阵A是正定的,那么该矩阵也可以唯一分解为\[{\bf{A = LD}}{{\bf{L}}^{\bf{T}}}\] 其中L是对角元素都为1的下三角矩阵,D是对角元素都为正数的对角矩阵.还是以三维 ...

  3. Cholesky分解 平方根法

    一种矩阵运算方法,又叫Cholesky分解.所谓平方根法,就是利用对称正定矩阵的三角分解得到的求解对称正定方程组的一种有效方法.它是把一个对称正定的矩阵表示成一个下三角矩阵L和其转置的乘积的分解.它要 ...

  4. MATLAB矩阵的LU分解及在解线性方程组中的应用

    作者:凯鲁嘎吉 - 博客园http://www.cnblogs.com/kailugaji/ 三.实验程序 五.解答(按如下顺序提交电子版) 1.(程序) (1)LU分解源程序: function [ ...

  5. 矩阵的SVD分解

    转自 http://blog.csdn.net/zhongkejingwang/article/details/43053513(实在受不了CSDN的广告) 在网上看到有很多文章介绍SVD的,讲的也都 ...

  6. Cholesky分解(Cholesky decomposition / Cholesky )

    Cholesky decomposition In linear algebra, the Cholesky decomposition or Cholesky is a decomposition ...

  7. 矩阵的QR分解

    #include <cstdio> #include <cstdlib> #include <algorithm> #include <cmath> # ...

  8. 线性代数笔记10——矩阵的LU分解

    在线性代数中, LU分解(LU Decomposition)是矩阵分解的一种,可以将一个矩阵分解为一个单位下三角矩阵和一个上三角矩阵的乘积(有时是它们和一个置换矩阵的乘积).LU分解主要应用在数值分析 ...

  9. 矩阵的QR分解(三种方法)Python实现

    1.Gram-Schmidt正交化 假设原来的矩阵为[a,b],a,b为线性无关的二维向量,下面我们通过Gram-Schmidt正交化使得矩阵A为标准正交矩阵: 假设正交化后的矩阵为Q=[A,B],我 ...

随机推荐

  1. 运维利器万能的 strace

    strace是什么? 按照strace官网的描述, strace是一个可用于诊断.调试和教学的Linux用户空间跟踪器.我们用它来监控用户空间进程和内核的交互,比如系统调用.信号传递.进程状态变更等. ...

  2. chrome历史记录,浏览记录,全选问题.

    一句话, 这个列表支持SHIFT多选 =,=!

  3. webpack分离css单独打包

    这篇文章过期了,webpack4.x已经不这么用了,最新的可以看这个地址webpack实战场景系列 原文地址:http://www.izhongxia.com/posts/44724.html CHA ...

  4. Linux vsftpd 配置文件详解

    .默认配置: >允许匿名用户和本地用户登陆. anonymous_enable=YES local_enable=YES >匿名用户使用的登陆名为ftp或anonymous,口令为空:匿名 ...

  5. ArcGIS js api 手动构建FeatureLayer

    坐标系 var spatialReference = new SpatialReference(4326);1要素坐标点 var pointArr = [ new Point(116.94431351 ...

  6. Netty入门(三)构成部分

    该节主要讲解 Netty 的构成部分. 一.Channel 它代表一个用于连接到实体如硬件设备.文件.网络套接字或程序组件,能够执行一个或多个不同的 I/O 操作的开放连接.可以比作传入和传出数据的传 ...

  7. 【webGL】

    1.类型化数组 WebGL设计复杂的计算,需要提前知道数值的精度,而标准的javascript数值无法满足需要.WebGL引入了一个概念,叫类型化数组. ArrayBuffer的类型,表示的只是内存中 ...

  8. Node.js实战(七)之交互式解释器

    Node.js REPL(Read Eval Print Loop:交互式解释器) 表示一个电脑的环境,类似 Window 系统的终端或 Unix/Linux shell,我们可以在终端中输入命令,并 ...

  9. vSphere虚拟化管理平台的功能

    VMware vSphere® 提供全球领先的虚拟化平台,用于构建云计算基础架构. vSphere 有哪些功能 强大的计算能力 虚拟化 x86 服务器资源并将其聚合成逻辑池,用于分配多个工作负载. 网 ...

  10. JS省市区联动效果

    省市区联动下拉效果在WEB中应用非常广泛,尤其在电商网站最为常见.一般使用Ajax实现无刷新下拉联动.利用jQuery,通过读取JSON数据,实现无刷新动态下拉省市二(三)级联动效果. 首先我们可以看 ...