6 subroutine dsygvxi(n,m,ld1,a,b,w,ld2,z,lwork,work)
10 integer,
intent(in) :: n,m,ld1
11 real(8),
intent(in) :: a(ld1,*),b(ld1,*)
12 real(8),
intent(out) :: w(m)
13 integer,
intent(in) :: ld2
14 real(8),
intent(out) :: z(ld2,m)
15 integer,
intent(in) :: lwork
16 real(8),
intent(out) :: work(lwork)
18 integer nts,p,info,nthd
22 nts=mkl_set_num_threads_local(nthd)
24 integer iwork(5*n),ifail(n)
27 call dsygvx(1,
'V',
'I',
'U',n,a,ld1,b,ld1,vl,vu,1,m,-1.d0,p,wn,z,ld2,work,lwork, &
31 nts=mkl_set_num_threads_local(0)
35 write(*,
'("Error(dsygvxi): diagonalisation failed")')
36 write(*,
'(" DSYGVX returned INFO = ",I0)') info
subroutine dsygvxi(n, m, ld1, a, b, w, ld2, z, lwork, work)
subroutine holdthd(nloop, nthd)