注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

信息 灵感 创新

I? =Information,Inspiration,Innovation

 
 
 

日志

 
 
关于我

we are 5. Mathematics, Computation, Programming, Engineering, and Making fun of life.

网易考拉推荐

Cholesky分解  

2013-07-05 15:02:04|  分类: M&M |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

前面的日志中我提到了Cholesky的分解公式和MATLAB中Cholesky分解的命令“chol”,这里给出自己实现的代码:

function u=cholesky(A)
   if A~=A'
      error('Invalid Argument,see cholesky.m');
   end
   [m,n]=size(A);
   u=zeros(n,n);
   for i=1:n
      u(i,i)=A(i,i);
      for k=1:i-1
         u(i,i)=u(i,i)-u(k,i)^2;
      end
      u(i,i)=sqrt(u(i,i));
      for j=i+1:n
         u(i,j)=A(i,j);
         for k=1:i-1
            u(i,j)=u(i,j)-u(k,i)*u(k,j);
         end
         u(i,j)=u(i,j)/u(i,i);
      end
   end
end

测试代码如下:

>> A=[1 2 3;3 8 8;3 8 35]

A =

     1     2     3
     3     8     8
     3     8    35

>> u=cholesky(A)

u =

     1     2     3
     0     2     1
     0     0     5

>> u'*u

ans =

     1     2     3
     2     8     8
     3     8    35


 

  评论这张
 
阅读(1632)| 评论(3)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2016