Fortran Coder

查看: 2046|回复: 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
FORTRAN.png

166

帖子

2

主题

1

精华

大师

Vim

F 币
1005 元
贡献
482 点

规矩勋章

发表于 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等等)这些吗

166

帖子

2

主题

1

精华

大师

Vim

F 币
1005 元
贡献
482 点

规矩勋章

发表于 2023-5-5 20:01:57 | 显示全部楼层
lili 发表于 2023-5-5 19:45
参数可能是图中标注的(N/2,LDA/2,IPIVW等等)这些吗

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

28

帖子

9

主题

0

精华

熟手

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

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

166

帖子

2

主题

1

精华

大师

Vim

F 币
1005 元
贡献
482 点

规矩勋章

发表于 2023-5-6 11:48:12 | 显示全部楼层
应该是这样的
您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

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

GMT+8, 2024-11-6 09:27

Powered by Tencent X3.4

© 2013-2024 Tencent

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