cholesky求逆

it2024-08-20  53

 

矩阵求逆经常会用到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

 

最新回复(0)