Fortran Coder

查看: 15735|回复: 6
打印 上一主题 下一主题

[线性代数] 矩阵求逆问题

[复制链接]

5

帖子

1

主题

0

精华

入门

F 币
38 元
贡献
21 点
跳转到指定楼层
楼主
发表于 2016-4-13 08:34:26 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
大家好,问下,我调用lapack里面的求逆函数,我的原矩阵中有A(i,i)=0的项,说LU分解和求逆有问题,对于这种中间有A(i,i)=0的这种应该怎么调用哪个求逆的函数命令 ,我用下面的这个是不对的
[Fortran] 纯文本查看 复制代码
     using LAPACK
                call dgetrf(n,n,bitmp,ldb,ipiv,info)
                if(info.ne.0) then
                WRITE(6,*) 'problem in LU decomposition'
                WRITE(6,*) 'info=',info
                endif
                call dgetri(n,bitmp,ldb,ipiv,work,n,info)
                if(info.ne.0) then
                WRITE(6,*) 'problem in matrix inversion'
                WRITE(6,*) 'info=',info
                endif
分享到:  微信微信
收藏收藏 点赞点赞 点踩点踩

1958

帖子

12

主题

5

精华

论坛跑堂

臭石头雪球

F 币
1341 元
贡献
565 点

美女勋章热心勋章星光勋章新人勋章贡献勋章管理勋章帅哥勋章爱心勋章规矩勋章元老勋章水王勋章

沙发
发表于 2016-4-13 08:43:19 | 只看该作者
不妨把你的输入参数给出来一下

5

帖子

1

主题

0

精华

入门

F 币
38 元
贡献
21 点
板凳
 楼主| 发表于 2016-4-13 08:50:32 | 只看该作者
          n   = 5
         ldb = 5
矩阵bitmp是5*5的 数据类似【-2 0 0.47 0 0.9428;1.4 -1.4 -0.33 -0.33 0;0 2.0 0 0.47 -0.9428;1 0 0 0 0;0 1 0 0 0】

1958

帖子

12

主题

5

精华

论坛跑堂

臭石头雪球

F 币
1341 元
贡献
565 点

美女勋章热心勋章星光勋章新人勋章贡献勋章管理勋章帅哥勋章爱心勋章规矩勋章元老勋章水王勋章

地板
发表于 2016-4-13 09:46:19 | 只看该作者
代码没有问题
你的这个矩阵接近奇异矩阵。可以试试 svd 或求广义逆。

5

帖子

1

主题

0

精华

入门

F 币
38 元
贡献
21 点
5#
 楼主| 发表于 2016-4-14 08:53:49 | 只看该作者
那Lapack里面有相关的命令吗

5

帖子

1

主题

0

精华

入门

F 币
38 元
贡献
21 点
6#
 楼主| 发表于 2016-4-14 08:54:14 | 只看该作者
fcode 发表于 2016-4-13 09:46
代码没有问题
你的这个矩阵接近奇异矩阵。可以试试 svd 或求广义逆。

那lapack里面有相关的命令吗

1958

帖子

12

主题

5

精华

论坛跑堂

臭石头雪球

F 币
1341 元
贡献
565 点

美女勋章热心勋章星光勋章新人勋章贡献勋章管理勋章帅哥勋章爱心勋章规矩勋章元老勋章水王勋章

7#
发表于 2016-4-14 08:55:35 | 只看该作者
在文档里搜 singular value decomposition
您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

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

GMT+8, 2024-4-25 01:23

Powered by Tencent X3.4

© 2013-2024 Tencent

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