Hello,
I am trying to solve a linear system of equations using LAPACK ROUTINES and I have tried to link but some of the codes seem to work whiles others do not. I get the error when use the CALL GESV.
design.f90(477): error #6285: There is no matching specific subroutine for this
generic subroutine call. [GESV]
CALL GESV(xtemp, ztemp)
---------------------^
compilation aborted for design.f90 (code 1)
This does not happen when i change CALL GESV to CALL GETRF but then CALL GETRS will also no work. xtemp is a 12 x 12 matrix whiles ztemp is a vector of 12 elements.
This is the coding
PROGRAM DESIGN USE Prop_mod USE blas95 USE f95_precision USE lapack95 IMPLICIT NONE !DECLARATIONS OF VARIABLES
......
DO i = 1, num WRITE(30, '(*(G0.4, ",", :))') xtemp(i, :) ENDDO PAUSE ALLOCATE(ipiv(num)) !CALL getrf(xtemp, ipiv) !CALL getrs(xtemp, ipiv, ztemp)
CALL gesv(xtemp, ztemp)
WRITE(*, *) WRITE(*, *) xtemp WRITE(30, *) WRITE(30, *) DO i = 1, num WRITE(31, '(*(G0.4, ",", :))') xtemp(i, :) ENDDO PAUSE WRITE(*,*) ztemp PAUSE WRITE(*, *)
When i combine Call getrf and getrs, only getrf works and the solution subroutine "getrs" fails.
Call gesv does not work at all. I really need someones help on this.
This is what i type to compile and link the codes
C:\Program Files (x86)\Intel\Composer XE 2013 SP1\Projects>ifort Props_mod.f90 d
esign.f90 /traceback mkl_rt.lib mkl_blas95_ilp64.lib mkl_lapack95_ilp64.lib libi
omp5md.lib /exe:ex1.exe
Am I not linking properly? I have tried all i know of but it is still not working.