线性代数笔记: Cholesky分解
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分解相关推荐
- 线性代数笔记:概率矩阵分解 Probabilistic Matrix Factorization (PMF)
概率矩阵分解模型可以解决大规模.稀疏且不平衡的数据. 1 PMF的两点假设 1.1.观测噪声(观测评分矩阵和近似评分矩阵之差)服从高斯噪声的正态分布 观测评分矩阵是ground truth的矩阵,我们 ...
- matlab lud矩阵分解,MIT线性代数总结笔记——LU分解
MIT线性代数总结笔记--LU分解 矩阵分解 矩阵分解(Matrix Factorizations)就是将一个矩阵用两个以上的矩阵相乘的等式来表达.而矩阵乘法涉及到数据的合成(即将两个或多个线性变换的 ...
- Matlab与线性代数--矩阵的Cholesky分解
本图文介绍了Matlab对正交矩阵的Cholesky分解操作.
- 数值计算笔记-部分主元消去cholesky分解
补充:接上一篇LU分解 1.高斯消元的一些问题:在之前高斯消元得到LU分解时,必须假设没有较换行的操作,即在消元过程中没有主元 a k k = 0 a_{kk} = 0 akk=0的现象.但是实际情 ...
- 『矩阵论笔记』详细介绍矩阵的三角分解(LR分解)+平方根分解(Cholesky分解)
详细介绍矩阵的三角分解(LR分解)+平方根分解(Cholesky分解)! 文章目录 一. 三角分解(LR分解) 1.1. 方阵的两个重要分解 1.2. 上(下)三角阵的性质 1.3. 三角分解的概念 ...
- 矩阵的Cholesky分解
原文链接:矩阵的Cholesky分解 首先来复习线性代数中几个重要的概念. 1)如果一个复矩阵A = A*(共轭转置),则A称为Hermitian矩阵.(注意,矩阵A转置后仍为其本身,显然A一定是方阵 ...
- 使用 uBLAS 进行实对称正定矩阵的 Cholesky 分解
Cholesky 分解理论 矩阵分解--三角分解(Cholesky 分解) 矩阵分解--三角分解(二) 注:只有实对称矩阵才有 Cholesky 分解理论. 已知实对称正定矩阵 AA,其 Choles ...
- cholesky分解_Time Series Analysis-1.2 LDL分解
最近考完两个小quiz,停了一段时间,今晚抽空继续来分享这门课的笔记. 1.前言 上一期分享了Cholesky分解的基本步骤和伪代码,本期介绍另外一种矩阵分解的方法--LDL分解. 首先补充一下,近几 ...
- 三十分钟理解:矩阵Cholesky分解,及其在求解线性方程组、矩阵逆的应用
写一篇关于Cholesky分解的文章,作为学习笔记,尽量一文看懂矩阵Cholesky分解,以及用Cholesky分解来求解对称正定线性方程组,以及求对称正定矩阵的逆的应用. 文章目录 直接Choles ...
最新文章
- __MACOSX文件是什么
- 【反欺诈】互金欺诈与反欺诈
- Consul入门04 - Consul集群
- axure7 地址选择_AxureRP8实战手册-案例7(形状:唯一选中项)
- python逗号代码_基于Python3 逗号代码 和 字符图网格(详谈)
- java之ThreadLocal简单使用总结
- SARIF在应用过程中对深层次需求的实现
- php打造自己的喜马拉雅,打造自己的私人知识宝库利器——mybase 7.3.5
- sp_getapplock_sp_getapplock和sp_releaseapplock存储过程概述
- Android指定SDK编译版本
- Java小开发(车辆信息管理系统)
- Android 索引的实现
- auto.js B0012 进入各频道 查找父控件 子控件 2021-10-03
- 互联网视频直播点播EasyDSS平台如何通过接口设置录像计划?
- 系统光驱盘符不见的解决方法
- android手机赚钱软件排行
- (最新,所有kali版本通用)kali中安装搜狗输入方法
- 对sizeof的一点点理解
- k8s笔记3--Kubernetes IDE Lens
- 烤仔观察 | 风口上的“大哥”——黄立成
热门文章
- 从配置服务器说起......
- linux-----shell高级编程----sed应用
- 如何进行无线网络中继设置
- Everyday a English
- Android学习记录:SQLite数据库、res中raw的文件调用
- Leetcode215数组中第k大的数-最小堆
- 递归与递推 普通排队问题及带约束条件的排队问题 c代码
- struts2.3.12+hibernate4.3.11+spring4.2.2整合问题2java.lang.ClassNotFoundException: org.springframework.w
- spring boot第二讲
- mysql主从复制自增_关于mysql主从复制自增长列