矩阵求逆经常会用到cholesky分解,接下来写一下主要的计算公式

设对称正定矩阵X=【】5*5矩阵

cholesky分解可得一个三角矩阵

如果是上三角矩阵,则计算公式为X=U'U,如果是下三角矩阵,则X=LL'

通过下面的例子可以清晰的看到结果

clear
clc
X=pascal(5)
U=chol(X)%产生一个上三角阵
XU=U'*U
L=U'%产生一个下三角阵
XL=L*L'
X =1     1     1     1     11     2     3     4     51     3     6    10    151     4    10    20    351     5    15    35    70U =1     1     1     1     10     1     2     3     40     0     1     3     60     0     0     1     40     0     0     0     1XU =1     1     1     1     11     2     3     4     51     3     6    10    151     4    10    20    351     5    15    35    70L =1     0     0     0     01     1     0     0     01     2     1     0     01     3     3     1     01     4     6     4     1XL =1     1     1     1     11     2     3     4     51     3     6    10    151     4    10    20    351     5    15    35    70

那么矩阵求逆就是先对三角矩阵求逆,然后相乘

如果是上三角矩阵,则计算公式为X=U'U,invX=U-1*U-1'

如果是下三角矩阵,则X=LL',invX=L-1'*L-1

通过下面的例子可以清晰的看到结果


invU=inv(U)
invL=inv(L)
invXU=invU*invU'
invXL=invL'*invLinv(X)
invU =1    -1     1    -1     10     1    -2     3    -40     0     1    -3     60     0     0     1    -40     0     0     0     1invL =1     0     0     0     0-1     1     0     0     01    -2     1     0     0-1     3    -3     1     01    -4     6    -4     1invXU =5   -10    10    -5     1-10    30   -35    19    -410   -35    46   -27     6-5    19   -27    17    -41    -4     6    -4     1invXL =5   -10    10    -5     1-10    30   -35    19    -410   -35    46   -27     6-5    19   -27    17    -41    -4     6    -4     1ans =5.0000  -10.0000   10.0000   -5.0000    1.0000-10.0000   30.0000  -35.0000   19.0000   -4.000010.0000  -35.0000   46.0000  -27.0000    6.0000-5.0000   19.0000  -27.0000   17.0000   -4.00001.0000   -4.0000    6.0000   -4.0000    1.0000

cholesky求逆相关推荐

  1. OpenCV求逆(伪逆)矩阵函数

    转自 double invert(InputArray src, OutputArraydst, int flags=DECOMP_LU); 功能:用以求取一个矩阵的逆或者伪逆. src: 输入,浮点 ...

  2. 求解矩阵方程耗时比较(直接求逆,Qr分解,LU分解)

    测试环境: C++ Egien库 代码 #include <iostream> #include <ctime>#include <Eigen/Core> #inc ...

  3. szu 寒训第二天 树状数组 二维树状数组详解,以及树状数组扩展应用【求逆序对,以及动态第k小数】

    树状数组(Binary Index Tree) 树状数组可以解决可以转化为前缀和问题的问题 这是一类用以解决动态前缀和的问题 (有点像线段树简版) 1.对于 a1 + a2 + a3 + - + an ...

  4. (每日一题)P4841 [集训队作业2013]城市规划 (无向连通图计数)(普通生成函数 + 多项式求逆)

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 每日一题(莫反 / 多项式 / 母函数 / 群论) 2021.4.14 生成函数 + 多项式求逆 Pr ...

  5. CF438E The Child and Binary Tree(有意思的生成函数 + 多项式求逆 + 多项式开方)

    整理的算法模板合集: ACM模板 点我看多项式全家桶(●^◡_◡◡​^●) CF438E The Child and Binary Tree 简单的黑题 首先我们发现模数为99824435399824 ...

  6. 【学习笔记】超简单的多项式求逆(含全套证明)

    整理的算法模板合集: ACM模板 目录 多项式求逆 一.分治FFT 二.倍增法及其证明 三.多项式求逆例题 P4238 [模板]多项式乘法逆 点我看多项式全家桶(●^◡_◡◡​^●) 多项式求逆 一. ...

  7. Tido 习题-二叉树-树状数组求逆序对

    这里给大家提供一个全新的求逆序对的方法 是通过树状数组来实现的 题目描述   样例输入 Copy 5 2 3 1 5 4 样例输出 Copy 3 提示       #include<iostre ...

  8. 【BZOJ】3456: 城市规划 动态规划+多项式求逆

    [题意]求n个点的带标号无向连通图个数 mod 1004535809.n<=130000. [算法]动态规划+多项式求逆 [题解]设$g_n$表示n个点的无向图个数,那么显然 $$g_n=2^{ ...

  9. 【BZOJ 4555】[Tjoi2016Heoi2016]求和 多项式求逆/NTT+第二类斯特林数

    出处0.0 用到第二类斯特林数的性质,做法好像很多,我打的是直接ntt,由第二类斯特林数的容斥公式可以推出,我们可以对于每一个i,来一次ntt求出他与所有j组成的第二类斯特林数的值,这个时候我们是O( ...

最新文章

  1. padding valid same区别——就是是否补齐0的问题
  2. 【转帖】计算机世界:后DRM时代的数字音乐博弈
  3. 降低http请求次数
  4. 解决不了“不可能三角”,火山抖音化只是个昏招
  5. leecode第一百五十五题(最小栈)
  6. 字典-字典的增删改查常用操作
  7. Axios实现异步通信
  8. RabbitMQ--topic
  9. 提取某一个镇的行政边界_关于获取某个省份下面的 镇的 行政区划编码。
  10. zabbix监控哪些东西_监控系统选型,一篇全搞定
  11. 微信android版6.3.27,微信6.3.27旧版本
  12. 服务端程序的keeplive
  13. visio连接线设置
  14. c++中struct构造函数
  15. C++扑克牌类的设计
  16. 音视频技术开发周刊 | 263
  17. 操作系统:操作系统内核是什么?
  18. mysql联合索引和索引优化的理解
  19. 对流氓软件应群起攻之
  20. 为什么要做特征归一化/标准化?

热门文章

  1. 单例模式 ,多例模式及工厂设计模式的简单案例介绍
  2. 163.net邮箱,让海外邮件收发畅通无阻
  3. Manjaro为包管理器pacman和yaourt\yay 添加多线程下载
  4. OpenCV开发笔记(七十一):红胖子8分钟带你深入级联分类器训练
  5. 图像在空域上的平滑处理
  6. 职场必备两款高效率管理工具,大有用处!
  7. eventhandler java_事件驱动模型的简单Java实现
  8. 2018年宇视科技智能交通-嵌入式软件开发线上笔试题
  9. Oracle中多表查询再按时间倒序
  10. centos7 firewalld ip与端口白名单配置等,开放端口与ip白名单