Fortran Coder

查看: 252|回复: 4
打印 上一主题 下一主题

[求助] Doolittle分解的算法实现问题

[复制链接]

13

帖子

4

主题

0

精华

入门

F 币
64 元
贡献
30 点
跳转到指定楼层
楼主
发表于 2024-3-30 11:41:17 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式
各位老师好,我在写用“Doolittle分解法解线性方程组”这一数值算法的实现程序时遇到了问题,程序给出了错误的结果,想请教各位老师这个程序在算法上有什么错误,谢谢!
(附件中是实现doolittle分解法的子程序,这是我写的交互程序的一部分,A,X,B分别代表系数矩阵,解,常数矩阵;ndim代表方阵A的维度)
Doolittle_Decomposition.f90 (2.01 KB, 下载次数: 2)
分享到:  微信微信
收藏收藏 点赞点赞 点踩点踩

13

帖子

4

主题

0

精华

入门

F 币
64 元
贡献
30 点
沙发
 楼主| 发表于 2024-3-30 12:19:21 | 显示全部楼层
感谢老师解答,我的想法是在LU分解中结合列选主元,把每列中最大的元素放到主元所在的位置,以增加数值稳定性

13

帖子

4

主题

0

精华

入门

F 币
64 元
贡献
30 点
板凳
 楼主| 发表于 2024-3-30 13:55:49 | 显示全部楼层
我发现问题所在了,在选列主元的时候,应该同时对矩阵A和矩阵L进行行变换,使得主元位置元素的绝对值最大。
您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

捐赠本站|Archiver|关于我们 About Us|小黑屋|Fcode ( 京ICP备18005632-2号 )

GMT+8, 2024-5-17 06:57

Powered by Tencent X3.4

© 2013-2024 Tencent

快速回复 返回顶部 返回列表