Fortran Coder

使用MKL库函数ZGETRS计算线性复方程组结果不对,小白求指导

查看数: 9158 | 评论数: 8 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2018-9-13 13:31

正文摘要:

问题:采用Fortran77接口计算输出的复数解不正确,在采用Fortran95接口时,一直显示说没有这个函数 环境:计算环境完全按照这个网站的设置 https://blog.csdn.net/liuyijie1990/article/details/49923853,采用vs201 ...

回复

warriorVIP 发表于 2018-9-15 10:30:36
warriorVIP 发表于 2018-9-13 18:13:24
vvt 发表于 2018-9-13 15:12
看如下代码之注释
[mw_shl_code=fortran,true]program main
  use f95_precision

非常感谢啊,终于解决了,问下MKL具体的设置您能告诉我一下吗,包括这个USE什么什么的,我之前写的 USE MKL95_PRECISION,USE MKL95_LAPACK为何不能用95的接口呢
warriorVIP 发表于 2018-9-13 16:47:47
vvt 发表于 2018-9-13 15:12
看如下代码之注释
[mw_shl_code=fortran,true]program main
  use f95_precision

我试试,真的好优秀啊,谢谢
warriorVIP 发表于 2018-9-13 15:43:24

不行啊,我确实是按列读入,按行输出的
vvt 发表于 2018-9-13 15:12:07
看如下代码之注释
[Fortran] 纯文本查看 复制代码
      PROGRAM MAIN
    
      USE MKL95_PRECISION
      USE MKL95_LAPACK
      
      IMPLICIT NONE

      INTEGER :: I, J, N, INFO
      
!      INTEGER,ALLOCATABLE:: IPIV(:)
      COMPLEX(8), ALLOCATABLE :: A(:,:), B(:,:), IPIV(:)


      N = 3
      ALLOCATE( IPIV(N) )
      ALLOCATE( A(N,N),  B(N,1) )

      A = 0.0
      Open (5, File='A.TXT', Status='OLD') ! INPUT FILE

      DO J=1,N
         DO I=1,N
            READ(5,*) A(I,J)
         ENDDO
      ENDDO

      B = 0.0
      Open (6, File='B.TXT', Status='OLD') ! INPUT FILE

      DO I=1,N
            READ(6,*) B(I,1)
      ENDDO
      
      WRITE(*,*)
      WRITE(*,*)'Matrix A : '
      DO I=1,N;
         WRITE(*,*) (A(I,:));
      ENDDO      

      WRITE(*,*)
      WRITE(*,*)'Matrix B : '
      DO I=1,N;
         WRITE(*,*) (B(I,1));
      ENDDO


      CALL ZGETRS( 'N', N, 1, A, N, IPIV, B, N, INFO )

!      CALL GETRS(A, IPIV, B, 'N', INFO)
   

      WRITE(*,*)
      WRITE(*,*)'Matrix B : '
      DO I=1,N;
         WRITE(*,*) (B(I,1));
      ENDDO
      
      WRITE(*,*) INFO



      END PROGRAM MAIN    

百事可乐 发表于 2018-9-13 14:09:25
试试把 A 转置一下
warriorVIP 发表于 2018-9-13 14:05:01
pasuka 发表于 2018-9-13 13:54
lz不熟悉fortran和MKL很正常,可是怎么连正确答案也算不出来呢?

哈哈,我的天,您这是已经看穿了吗,指导一下嘛
pasuka 发表于 2018-9-13 13:54:52
lz不熟悉fortran和MKL很正常,可是怎么连正确答案也算不出来呢?

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

GMT+8, 2024-5-17 22:42

Powered by Tencent X3.4

© 2013-2024 Tencent

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