cholesky求逆

 

矩阵求逆经常会用到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     1
     1     2     3     4     5
     1     3     6    10    15
     1     4    10    20    35
     1     5    15    35    70


U =

     1     1     1     1     1
     0     1     2     3     4
     0     0     1     3     6
     0     0     0     1     4
     0     0     0     0     1


XU =

     1     1     1     1     1
     1     2     3     4     5
     1     3     6    10    15
     1     4    10    20    35
     1     5    15    35    70


L =

     1     0     0     0     0
     1     1     0     0     0
     1     2     1     0     0
     1     3     3     1     0
     1     4     6     4     1


XL =

     1     1     1     1     1
     1     2     3     4     5
     1     3     6    10    15
     1     4    10    20    35
     1     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'*invL

inv(X)
invU =

     1    -1     1    -1     1
     0     1    -2     3    -4
     0     0     1    -3     6
     0     0     0     1    -4
     0     0     0     0     1


invL =

     1     0     0     0     0
    -1     1     0     0     0
     1    -2     1     0     0
    -1     3    -3     1     0
     1    -4     6    -4     1


invXU =

     5   -10    10    -5     1
   -10    30   -35    19    -4
    10   -35    46   -27     6
    -5    19   -27    17    -4
     1    -4     6    -4     1


invXL =

     5   -10    10    -5     1
   -10    30   -35    19    -4
    10   -35    46   -27     6
    -5    19   -27    17    -4
     1    -4     6    -4     1


ans =

    5.0000  -10.0000   10.0000   -5.0000    1.0000
  -10.0000   30.0000  -35.0000   19.0000   -4.0000
   10.0000  -35.0000   46.0000  -27.0000    6.0000
   -5.0000   19.0000  -27.0000   17.0000   -4.0000
    1.0000   -4.0000    6.0000   -4.0000    1.0000

 

  • 3
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值