改进的平方根法
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
改进的平方根法A= L*D*L'的Matlab程序function [L,D]=LDLT(A)
%improve square decomposition A=L*D*L'
%for symmetric positive definite matrix
%L is lower triangle matrix,D is scale matrix
n=length(A);
%判断矩阵是否对称,不对称时退出程序并提示
sj=A'-A;
tsj=all(sj(:));
iftsj~=0
error('A is not a symmetric matrix.');
end
L=eye(n);
D=diag(L);
%采用向量化编程
for k=1:n
for l=1:k-1
L(k,l)=(A(k,l)-(L(k,1:l-1).*D(1:l-1)')*L(l,1:l-1)')/D(l);
end
D(k)=A(k,k)-(L(k,1:k-1).*L(k,1:k-1))*D(1:k-1);
end
D=diag(D);