Intel® oneAPI Math Kernel Library
Ask questions and share information with other developers who use Intel® Math Kernel Library.
6622 Discussions

Error #6285: no matching specific subroutine for heevr

Geliv_Z_
Beginner
136 Views

Hi,

I need to calculate eigenvalues for a large matrix. Previously I've been always using GEEV to do the job, but, since this matrix is hermitian and very large, HEEVR should be much quicker. But in compiling, always this error

error #6285: There is no matching specific subroutine for this generic subroutine call.   [HEEVR]

For instance, the following is the simple code I used to test the subroutine. 

program heevexercise
    use f95_precision,only: wp=>dp
    use lapack95,only: heevr
    implicit none
    complex(wp),dimension(:,:),allocatable:: A0
    complex(wp),dimension(:),allocatable:: w0
    integer:: i,j,info

    allocate(A0(2,2),w0(2))
    A0=0._wp
    w0=0._wp
    A0=reshape((/0._wp,1._wp,1._wp,0._wp/),(/2,2/))

    write(*,*) "A:"
    write(*,"(2(1X,F9.2))") ((real(A0(i,j)),j=1,2),i=1,2)

    call heevr(a=A0,w=w0,uplo='U',info=info)
    write(*,*) "Diagonal A:"
    write(*,"(2(1X,F9.2))") ((real(A0(i,j)),j=1,2),i=1,2)
end program

Any reasons for this error? I have been looking around, but I didn't get any clue. 

BTW, the IDE I used is Code:: Blocks, additional compiler options just 

/heap-arrays0
/Qmkl:parallel /c

The library is mkl_lapack95_lp64.lib

Regards,

Geliv

0 Kudos
1 Reply
Geliv_Z_
Beginner
137 Views

I have find what's wrong... Eigenvector should set as real rather than complex. orz...

Reply