LDLT分解法解线性方程组

LDLT分解法解线性方程组

ID:38156155

大小:298.30 KB

页数:4页

时间:2019-05-29

LDLT分解法解线性方程组_第1页
LDLT分解法解线性方程组_第2页
LDLT分解法解线性方程组_第3页
LDLT分解法解线性方程组_第4页
资源描述:

《LDLT分解法解线性方程组》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、计算方法第三次上机作业沈欢北京大学工学院,北京1008712012年4月14日1问问问题题题描描描述述述编制系数矩阵为对称正定矩阵的线性方程组求解程序(LDLT分解),要求该程序能一次求解多个右端项,并用该程序求解方程组Ax=D.其中:235765676710877A=67(1)468109557910232392676321287D=67(2)433132531124图1:LDLT分解中的L矩阵和D矩阵形式2LDLT算算算法法法对于对称正定矩阵A,可以将A分解为A=LDLT.并且该分解是唯一的。其中L是单位下三角矩阵,D为对角线矩阵,且对角

2、线元素不为零。L与D的形式如图一所示。1LDLT分解的算法(伪代码)如下:d1=a11;(3)forj=2:n(按列计算):fork=1:j-1:kX¡1ukj=akj¡lkmumj(4)m=1ljk=ukj=dk(5)endXj¡1dj=ajj¡ljmumj(6)m=1end分解之后,回代求解。1、解¡!¡!Ly=b;(7)¡!得到y.2、解¡!¡!Dz=y;(8)¡!得到z.3、解T¡!¡!Lx=z;(9)¡!得到方程的解x3程程程序序序实实实现现现附件程序“LDLT-method"用上述LDLT方法实现了解对称正定矩阵的线性方程组的功能

3、。程序分为主程序main和子函数”voidLDLT(intn,intm,double**A,double**D)“两部分。主函数实现以下功能:1、用友好的语言提示用户输入矩阵A(n*n)矩阵D(n*m)。输入格式如图二所示。2、为矩阵A和矩阵D开辟动态存储空间,分别开(n+1)*(n+1)和(n+1)*(m+1)的大小。3、调用子函数”voidLDLT(intn,intm,double**A,double**D)“求解该问题并输出。子函数”voidLDLT(intn,intm,double**A,double**D)“实现如下功能:¡!¡!1

4、、为L矩阵(n+1*n+1)、U矩阵(辅助矩阵n+1*n+1)、d矩阵(n+1*1)和y(n+1*1)、z(n+1*1)、LDLT-solver(方程的解n*m)开辟存储空间。2图2:主函数实现的友好的输入界面。2、按照第2部分中的算法对A矩阵进行LDLT分解。得到L矩阵和D矩阵(在计算机中是一维数组n+1*1)3、利用第2部分中的回代算法,分别对D矩阵的每一列D(j)进行回代求解,并将结果保存在LDLT-solver的第j列中,得到方程组的解LDLT-solver(n*m)。4、顺序输出LDLT-solver(n*m)的第i行第j列的值,显

5、示出方程组的解。4计计计算算算结结结果果果利用本程序得到的计算结果如图三所示。3图3:计算结果显示4

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。