6subroutine engyknk(ik,kmat,evecsv,evecsvt)
11integer,
intent(in) :: ik
12complex(8),
intent(in) :: kmat(nstsv,nstsv)
13complex(8),
intent(in) :: evecsv(nstsv,nstsv),evecsvt(nstsv,nstsv)
18complex(8),
allocatable :: a(:,:),b(:,:)
20real(8),
external :: ddot
21allocate(a(nstsv,nstsv),b(nstsv,nstsv))
23call zgemm(
'N',
'C',nstsv,nstsv,nstsv,
zone,kmat,nstsv,evecsv,nstsv,
zzero,a,nstsv)
24call zgemm(
'N',
'N',nstsv,nstsv,nstsv,
zone,evecsv,nstsv,a,nstsv,
zzero,b,nstsv)
26call zgemm(
'N',
'N',nstsv,nstsv,nstsv,
zone,b,nstsv,evecsvt,nstsv,
zzero,a,nstsv)
29 if (abs(wo) <
epsocc) cycle
31 t1=ddot(2*nstsv,evecsvt(:,ist),1,a(:,ist),1)
real(8), dimension(:), allocatable wkpt
complex(8), parameter zzero
complex(8), parameter zone
real(8), dimension(:,:), allocatable occsv