Fortran Coder

查看: 2071|回复: 5
打印 上一主题 下一主题

[数学库] lapack矩阵求逆子程序

[复制链接]

28

帖子

9

主题

0

精华

熟手

F 币
114 元
贡献
68 点
跳转到指定楼层
楼主
发表于 2023-5-5 15:59:15 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
我想对WIJGUU这个矩阵求逆,前面我已经定义了COMPLEX*16    WIJGUU(NK/2,NK/2),并且open了文件,据我了解,前面这个子程序是LU分解,后面这个子程序是求逆,两个子程序都是联合起来使用的,我在运行中时,运算老是直接到100处,从而导致我后面算的数据write不到我open的文件中(100是我do循环的终点,我后续的运算必须在循环内,不能把100移到write上面),这两句是我根据其他的程序仿写的,不知道为什么它能把数据写到文件中我这个写不到文件中?这个IF(INFO1.NE.0)和IF(INFO2.NE.0)中的INFO1和INFO2是什么意思呢?

Fortran2.png (5.98 KB, 下载次数: 224)

Fortran2.png

FORTRAN.png (5.29 KB, 下载次数: 222)

FORTRAN.png
分享到:  微信微信
收藏收藏 点赞点赞 点踩点踩

167

帖子

2

主题

1

精华

大师

Vim

F 币
1012 元
贡献
484 点

规矩勋章

沙发
发表于 2023-5-5 19:27:34 | 只看该作者
要么参数没设置对,要么矩阵不可逆
info是拿来标志是否运算成功的

28

帖子

9

主题

0

精华

熟手

F 币
114 元
贡献
68 点
板凳
 楼主| 发表于 2023-5-5 19:45:17 | 只看该作者
Transpose 发表于 2023-5-5 19:27
要么参数没设置对,要么矩阵不可逆
info是拿来标志是否运算成功的

C:\Users\Yeah\Desktop
参数可能是图中标注的(N/2,LDA/2,IPIVW等等)这些吗

167

帖子

2

主题

1

精华

大师

Vim

F 币
1012 元
贡献
484 点

规矩勋章

地板
发表于 2023-5-5 20:01:57 | 只看该作者
lili 发表于 2023-5-5 19:45
参数可能是图中标注的(N/2,LDA/2,IPIVW等等)这些吗

是的,每一个参数都需要匹配,由于lapack本身不检查参数的匹配,所以很容易写错

28

帖子

9

主题

0

精华

熟手

F 币
114 元
贡献
68 点
5#
 楼主| 发表于 2023-5-6 09:11:43 | 只看该作者
Transpose 发表于 2023-5-5 20:01
是的,每一个参数都需要匹配,由于lapack本身不检查参数的匹配,所以很容易写错
...

嗯嗯,我确认了一遍参数没问题,还是运算还是直接到了100处,也就是说明(INFO1.NE.0)(INFO2.NE.0),那是不是就只可能我要求逆的这个矩阵不可逆呢?

167

帖子

2

主题

1

精华

大师

Vim

F 币
1012 元
贡献
484 点

规矩勋章

6#
发表于 2023-5-6 11:48:12 | 只看该作者
应该是这样的
您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

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

GMT+8, 2024-11-23 21:53

Powered by Tencent X3.4

© 2013-2024 Tencent

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