Cholesky分解法的思想及C语言编程

上传人:cl****1 文档编号:486062753 上传时间:2023-06-18 格式:DOCX 页数:2 大小:37.48KB
返回 下载 相关 举报
Cholesky分解法的思想及C语言编程_第1页
第1页 / 共2页
Cholesky分解法的思想及C语言编程_第2页
第2页 / 共2页
亲,该文档总共2页,全部预览完了,如果喜欢就下载吧!
资源描述

《Cholesky分解法的思想及C语言编程》由会员分享,可在线阅读,更多相关《Cholesky分解法的思想及C语言编程(2页珍藏版)》请在金锄头文库上搜索。

1、1)式中 A 为对称、正定的矩阵。对于对称、正定的矩阵A,可进行分解A LDLT2)式中 L 是下单位三角阵,D 是对角线矩阵。右端项列向量(列阵)也作相应的分解b LDb%3)将式( 2)和式( 3)代入方程( 1) ,得到上三角方程组LT x b%再按诸如高斯消元法的回代过程就可解出卜面,通过编写一个完整的C 语言程序求1213x1122354x2161551x3183417x420,完整的C语言程序代码如下:Cholesky分解法又称三角分解法,或称因子化法设线性方程组Axb#include#include#include#defineN4voidCholesky(intn,double

2、ANN,doublexN,doublebN)inti,j,k;doubleLNN,DNN,b2N;i=1;Di-1i-1=Ai-1i-1;for(i=2;i=n;i+)j=1;Li-1j-1=Ai-1j-1/Dj-1j-1;if(j=i-1)Di-1i-1=0;for(k=1;k=i-1;k+)Di-1i-1+=pow(Li-1k-1,2)*Dk-1k-1;Di-1i-1=Ai-1i-1-Di-1i-1;continue;elsefor(j=2;j=i-1;j+)Li-1j-1=0;for(k=1;k=j-1;k+)Li-1j-1+=Li-1k-1*Lj-1k-1*Dk-1k-1;Li-1j-

3、1=(Ai-1j-1-Li-1j-1)/Dj-1j-1;if(j=i-1)Di-1i-1=0;for(k=1;k=i-1;k+)Di-1i-1+=pow(Li-1k-1,2)*Dk-1k-1;Di-1i-1=Ai-1i-1-Di-1i-1;continue;i=1;b2i-1=bi-1/Di-1i-1;for(i=2;i=n;i+)b2i-1=0;for(k=1;k=1;i-)xi-1=;for(k=i+1;k=n;k+)xi-1+=Lk-1i-1*xk-1;xi-1=b2i-1-xi-1;for(i=0;i=n-1;i+)printf(%fn,xi);voidmain()doubleA44=1,2,1,3,2,3,-5,4,1,-5,5,-1,3,4,-1,7;doublex4=0;doubleb4=12,16,18,20;Cholesky(4,A,x,b);程序运行结果:

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 营销创新

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号