I am trying to use the zheevd or zheev with their Fortran95 interface:
program main use lapack95 implicit none complex(8) :: H(2,2), w(2) H = 1d0 call zheevd(H,w, 'V') write (*,*) H write (*,*) "######" write (*,*) w end program main
which I compile with:
ifort test.f90 -o bla.x ${MKLROOT}/lib/intel64/libmkl_blas95_lp64.a ${MKLROOT}/lib/intel64/libmkl_lapack95_lp64.a -Wl,--start-group ${MKLROOT}/lib/intel64/libmkl_intel_lp64.a ${MKLROOT}/lib/intel64/libmkl_sequential.a ${MKLROOT}/lib/intel64/libmkl_core.a -Wl,--end-group -lpthread -lm -ldl -I${MKLROOT}/include/intel64/lp64 -I${MKLROOT}/include
as suggested by the Link Line Adivsor. When I run this simple example I get:
> $ ./bla.x forrtl: severe (174): SIGSEGV, segmentation fault occurred Image PC Routine Line Source bla.x 00000000016D7984 Unknown Unknown Unknown libpthread-2.23.s 00007F083A8F6390 Unknown Unknown Unknown bla.x 0000000000404257 Unknown Unknown Unknown bla.x 0000000000403B41 Unknown Unknown Unknown bla.x 00000000004039B2 Unknown Unknown Unknown bla.x 000000000040392E Unknown Unknown Unknown libc-2.23.so 00007F083A02F830 __libc_start_main Unknown Unknown bla.x 0000000000403829 Unknown Unknown Unknow
How do I use the Fortran95 Interface correctly? The 77 interface is just to verbose for my liking.
Thread Topic:
How-To