1 介绍

当一个实矩阵A是对称正定矩阵的时候,它可以分解成一个下三角矩阵L以及它的转置的乘积,即:

1.1 矩阵半正定的情况

如果矩阵是正定的话,那么L唯一确定;如果矩阵是半正定的话,那么也可以分解,不过此时L不唯一。

2 举例

3 使用  scipy.linalg.cholesky求解

3.1 用法

scipy.linalg.cholesky(a, lower=False, overwrite_a=False, check_finite=True)

返回值:c:(M,M)ndarray,表示a的上三角或下三角Cholesky因子。

3.2 参数介绍

a

(M, M) array_like

待分解的矩阵

lower

bool, 可选参数

是计算上三角Cholesky还是下三角Cholesky分解。默认值为upper-triangular

overwrite_a

bool, 可选参数

是否覆盖a中的数据(可能会提高性能)

check_finite

bool, 可选参数

是否检查输入矩阵仅包含有限数。禁用可能会提高性能,但是如果输入中确实包含无穷大或NaN,则会导致问题(崩溃,终止)。

3.3 用法举例

import numpy as np
from scipy import linalga = np.array([[4, 12, -16],[12, 37, -43],[-16, -43, 98]])
L_lower = linalg.cholesky(a, lower=True)
# 默认计算 upper, 所以指定 lower = True
L_upper = linalg.cholesky(a)
print(L_lower,'\n',L_upper)
'''
[[ 2.  0.  0.][ 6.  1.  0.][-8.  5.  3.]] [[ 2.  6. -8.][ 0.  1.  5.][ 0.  0.  3.]]
'''
print(L_lower @ L_upper)
'''
[[  4.  12. -16.][ 12.  37. -43.][-16. -43.  98.]]
'''

4 平方根法求L

我们假设矩阵A可以分解成

的结果为:

  • 首先我们看第一个元素:
  • 然后我们看第一列的其他元素:         
  • 之后,我们假设已经算出了L矩阵的前k-1列元素
    • 通过  ,可以得到:
    • 进一步再由,可以得到:
  • 于是我们可以通过以上方式迭代求得L

5 在计算机编程中 Cholesky分解的作用

在计算机程序中常常用到这种方法解线性代数方程组。它的优点是存储量很省。用矩阵A一半的存储空间,就可以表达A的全部信息

参考资料

数学之美:cholesky矩阵分解_BigCowPeking-CSDN博客_cholesky分解

Cholesky分解 - 知乎 (zhihu.com)

线性代数笔记: Cholesky分解相关推荐

  1. 线性代数笔记:概率矩阵分解 Probabilistic Matrix Factorization (PMF)

    概率矩阵分解模型可以解决大规模.稀疏且不平衡的数据. 1 PMF的两点假设 1.1.观测噪声(观测评分矩阵和近似评分矩阵之差)服从高斯噪声的正态分布 观测评分矩阵是ground truth的矩阵,我们 ...

  2. matlab lud矩阵分解,MIT线性代数总结笔记——LU分解

    MIT线性代数总结笔记--LU分解 矩阵分解 矩阵分解(Matrix Factorizations)就是将一个矩阵用两个以上的矩阵相乘的等式来表达.而矩阵乘法涉及到数据的合成(即将两个或多个线性变换的 ...

  3. Matlab与线性代数--矩阵的Cholesky分解

    本图文介绍了Matlab对正交矩阵的Cholesky分解操作.

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

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

  5. 『矩阵论笔记』详细介绍矩阵的三角分解(LR分解)+平方根分解(Cholesky分解)

    详细介绍矩阵的三角分解(LR分解)+平方根分解(Cholesky分解)! 文章目录 一. 三角分解(LR分解) 1.1. 方阵的两个重要分解 1.2. 上(下)三角阵的性质 1.3. 三角分解的概念 ...

  6. 矩阵的Cholesky分解

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

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

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

  8. cholesky分解_Time Series Analysis-1.2 LDL分解

    最近考完两个小quiz,停了一段时间,今晚抽空继续来分享这门课的笔记. 1.前言 上一期分享了Cholesky分解的基本步骤和伪代码,本期介绍另外一种矩阵分解的方法--LDL分解. 首先补充一下,近几 ...

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

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

最新文章

  1. __MACOSX文件是什么
  2. 【反欺诈】互金欺诈与反欺诈
  3. Consul入门04 - Consul集群
  4. axure7 地址选择_AxureRP8实战手册-案例7(形状:唯一选中项)
  5. python逗号代码_基于Python3 逗号代码 和 字符图网格(详谈)
  6. java之ThreadLocal简单使用总结
  7. SARIF在应用过程中对深层次需求的实现
  8. php打造自己的喜马拉雅,打造自己的私人知识宝库利器——mybase 7.3.5
  9. sp_getapplock_sp_getapplock和sp_releaseapplock存储过程概述
  10. Android指定SDK编译版本
  11. Java小开发(车辆信息管理系统)
  12. Android 索引的实现
  13. auto.js B0012 进入各频道 查找父控件 子控件 2021-10-03
  14. 互联网视频直播点播EasyDSS平台如何通过接口设置录像计划?
  15. 系统光驱盘符不见的解决方法
  16. android手机赚钱软件排行
  17. (最新,所有kali版本通用)kali中安装搜狗输入方法
  18. 对sizeof的一点点理解
  19. k8s笔记3--Kubernetes IDE Lens
  20. 烤仔观察 | 风口上的“大哥”——黄立成

热门文章

  1. 从配置服务器说起......
  2. linux-----shell高级编程----sed应用
  3. 如何进行无线网络中继设置
  4. Everyday a English
  5. Android学习记录:SQLite数据库、res中raw的文件调用
  6. Leetcode215数组中第k大的数-最小堆
  7. 递归与递推 普通排队问题及带约束条件的排队问题 c代码
  8. struts2.3.12+hibernate4.3.11+spring4.2.2整合问题2java.lang.ClassNotFoundException: org.springframework.w
  9. spring boot第二讲
  10. mysql主从复制自增_关于mysql主从复制自增长列