矩阵分解----Cholesky分解
矩阵分解是将矩阵拆解成多个矩阵的乘积,常见的分解方法有 三角分解法、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分解的更多相关文章
- cholesky分解
接着LU分解继续往下,就会发展出很多相关但是并不完全一样的矩阵分解,最后对于对称正定矩阵,我们则可以给出非常有用的cholesky分解.这些分解的来源就在于矩阵本身存在的特殊的 结构.对于矩阵 ...
- 矩阵分解-----LDL分解
若一个矩阵A是正定的,那么该矩阵也可以唯一分解为\[{\bf{A = LD}}{{\bf{L}}^{\bf{T}}}\] 其中L是对角元素都为1的下三角矩阵,D是对角元素都为正数的对角矩阵.还是以三维 ...
- Cholesky分解 平方根法
一种矩阵运算方法,又叫Cholesky分解.所谓平方根法,就是利用对称正定矩阵的三角分解得到的求解对称正定方程组的一种有效方法.它是把一个对称正定的矩阵表示成一个下三角矩阵L和其转置的乘积的分解.它要 ...
- MATLAB矩阵的LU分解及在解线性方程组中的应用
作者:凯鲁嘎吉 - 博客园http://www.cnblogs.com/kailugaji/ 三.实验程序 五.解答(按如下顺序提交电子版) 1.(程序) (1)LU分解源程序: function [ ...
- 矩阵的SVD分解
转自 http://blog.csdn.net/zhongkejingwang/article/details/43053513(实在受不了CSDN的广告) 在网上看到有很多文章介绍SVD的,讲的也都 ...
- Cholesky分解(Cholesky decomposition / Cholesky )
Cholesky decomposition In linear algebra, the Cholesky decomposition or Cholesky is a decomposition ...
- 矩阵的QR分解
#include <cstdio> #include <cstdlib> #include <algorithm> #include <cmath> # ...
- 线性代数笔记10——矩阵的LU分解
在线性代数中, LU分解(LU Decomposition)是矩阵分解的一种,可以将一个矩阵分解为一个单位下三角矩阵和一个上三角矩阵的乘积(有时是它们和一个置换矩阵的乘积).LU分解主要应用在数值分析 ...
- 矩阵的QR分解(三种方法)Python实现
1.Gram-Schmidt正交化 假设原来的矩阵为[a,b],a,b为线性无关的二维向量,下面我们通过Gram-Schmidt正交化使得矩阵A为标准正交矩阵: 假设正交化后的矩阵为Q=[A,B],我 ...
随机推荐
- 从外部导入django模块
import os import sys sys.path.append("D:\\pyweb\\sf"); # 项目位置(不是app) os.environ.setdefault ...
- Spine Skeleton Animation(2D骨骼动画)
骨骼动画 首先我们来看到底什么是骨骼动画: 在早期的机器上,渲染本身已经占用了很多CPU资源,因此,对于渲染,往往采取的是一种空间换时间的策略,以避免在模型的渲染中继续加重CPU的负担.帧动画模型在这 ...
- 网络基础之IP地址和子网掩码
IP地址 IP是英文Internet Protocol的缩写,意思是"网络之间互连的协议",也就是为计算机网络相互连接进行通信而设计的协议.在因特网中,它是能使连接到网上的所有计算 ...
- Python学习(七)面向对象 ——继承和多态
Python 类的继承和多态 Python 类的继承 在OOP(Object Oriented Programming)程序设计中,当我们定义一个class的时候,可以从某个现有的class 继承,新 ...
- Gold Point Game~~
黄金点游戏 1. 队友博客链接 GitHub链接 2.过程总结 (1)俩人各自所做工作?对方编程习惯总结(是否遵照代码规范.是否关注算法效率.是否做了代码复审.界面设计是否关注美观实用等等): 这次作 ...
- [python]如何理解uiautomator里面的 instance 及使用场景
通过uiautomatorviewer打开之后,需要通过对某个控件进行操作,但在当前界面中该控件所有属性无法唯一(其它控件属性也是一样),这个时候就需要借助实例(instance)来进行区分,inst ...
- std::lexicographical_compare函数的使用
按照词典序比较前者是否小于后者. 当序列<first1, last1>按照字典序比较小于后者序列<first2, last2>,则返回true.否则,返回false. 所谓字典 ...
- 【Git】删除某个全局配置项
1.查看Git所有配置 git config --list 2.删除全局配置项 (1)终端执行命令: git config --global --unset user.name (2)编辑配置文件: ...
- [浅谈CSS核心概念] CSS布局模型:float和position
1.流动模型 HTML元素在默认情况下都是按照"流动模型"进行布局的,网上也有人称之为"普通流"."文档流"之类的.这种布局模式的特点在于: ...
- Android之基于小米天气的天气源库
大概去年的这个时候,有跟大家分享简洁天气这个应用. 该应用一開始使用的是中国天气网的数据,可是,由于须要反复多次请求server获取信息才干满足我们的需求,因此.后来我偷偷的将天气源更换成" ...