💥1 概述
Cholesky分解是一种将对称正定矩阵分解为一个下三角矩阵和其转置的方法。对于一个对称正定矩阵A,可以将其分解为A = LL^T,其中L是一个下三角矩阵。
Cholesky分解的步骤如下:
1.对于一个对称正定矩阵A,找到一个下三角矩阵L,使得A = LL^T。
2.从左上角开始,计算L的每个元素。对于第i行第j列的元素L(i,j),有以下公式:
1.如果i = j,计算L(i,j) = sqrt(A(i,j) - sum(L(i,k)^2, k=1 to i-1))。
2.如果i > j,计算L(i,j) = (A(i,j) - sum(L(i,k)*L(j,k), k=1 to j-1)) / L(j,j)。
3.如果i < j,L(i,j) = 0。
1.重复步骤2,直到计算完所有的L(i,j)。
Cholesky分解的优点是计算效率高,尤其适用于解线性方程组和计算矩阵的逆。由于分解后的矩阵L是下三角矩阵,求解线性方程组Ax = b时,可以通过前代法和后代法分别求解Ly = b和L^Tx = y,从而得到解x。
Cholesky分解的一个重要应用是在金融领域中的风险管理和投资组合优化中,用于计算协方差矩阵的逆。
Cholesky分解法又叫平方根法,是求解对称正定线性方程组最常用的方法之一。对于一般矩阵,为了消除LU分解的局限性和误差的过分积累,采用了选主元的方法,但对于对称正定矩阵而言,选主元是不必要的。
更详细知识点,这个博主讲解很清晰,超棒:
矩阵Cholesky分解,及其在求解线性方程组、矩阵逆的应用
📚2 运行结果
部分代码:
for i=1:N W3(:,i)=randn(2,1); end for i=1:N WW3(:,i)=wblrnd(9.0,2.15,2,1); end Z3=R3*W3; ccc03=corrcoef(W3'); ccc03 ccc13=corrcoef(Z3'); ccc13 aa3=zeros(2,N); Ls3=zeros(2,N); for p=1:2 hig=max(Z3(p,:)); k=1; for i=1:N [b c]=min(Z3(p,:)); Ls3(p,c)=k; k=k+1; Z3(p,c)=hig+1; end end LLs3=Ls3; x=zeros(2,N); for i=1:N tt=(i-0.5)/N; x3(1,i)=wblinv(tt,9.0,2.15); x3(2,i)=wblinv(tt,9.0,2.15); end for i=1:2 y3=x3(i,:); bb3=LLs3(i,:); hig1=max(y3); hig2=max(bb3); for p=1:N [C1 D1]=min(y3); [C2 D2]=min(LLs3(i,:)); bb3(1,D2)=C1; y3(1,D1)=hig1+1; LLs3(i,D2)=hig2+1; end yy3(i,:)=bb3; end
🎉3 参考文献
部分理论来源于网络,如有侵权请联系删除。
[1]李辉,郝如江.基于不完全Cholesky分解相关熵双谱的轴承故障诊断[J].振动与冲击,2022,41(11):123-132
[2]笪涵,胡圣波.基于Cholesky矩阵分解的贝叶斯压缩感知信号处理[J].贵州师范大学学报:自然科学版,2021,39(1):72-76