- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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
Link Copied
1 Reply
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I have find what's wrong... Eigenvector should set as real rather than complex. orz...

Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page