在Fortran程序中使用-mkl Lapack例程

时间:2017-12-28 04:54:34

标签: fortran lapack intel-fortran intel-mkl

我是使用Math Kernel Library(mkl)的新手。我有一个使用LAPACK(MKL附带)的线性方程组求解器(gesv例程)的程序。我的计算机上已经安装了MKL(也是Intel Parallel Studio XE)。我在编译/链接代码时遇到问题。我使用以下代码编译代码:

ifort -mkl matrixinv.f90 

但是,它会出现以下错误

/tmp/ifortjcXZTm.o: In function `MAIN__':
matrixinv.f90:(.text+0xdf): undefined reference to `gesv_'

代码附在

下面
PROGRAM matrixinv
IMPLICIT NONE
REAL(8),DIMENSION(3,3)::A,C
INTEGER(4),DIMENSION(3)::IPVT
REAL(8)::RCOND
REAL(8),DIMENSION(3)::V,B
A(1,1)=3.0_8
A(1,2)=2.0_8
A(1,3)=-1.0_8
A(2,1)=2.0_8
A(2,2)=-2.0_8
A(2,3)=4.0_8
A(3,1)=-1.0_8
A(3,2)=0.5_8
A(3,3)=-1.0_8
B(1)=1.0_8
B(2)=-2.0_8
B(3)=0.0_8

call gesv(A,B)
PRINT*,B

END PROGRAM matrixinv

1 个答案:

答案 0 :(得分:0)

您可能希望将gesv声明为外部。在"隐式无":

之后添加以下语句
external gesv