6subroutine genzvmatk(zvmt,zvir,ngp,igpig,wfmt,wfir,wfgp,vmat)
13complex(8),
intent(in) :: zvmt(npcmtmax,natmtot),zvir(ngtc)
14integer,
intent(in) :: ngp,igpig(ngp)
15complex(4),
intent(in) :: wfmt(npcmtmax,natmtot,nspinor,nstsv)
17complex(4),
intent(in) :: wfir(ngtc,nspinor,nstsv),wfgp(ngp,nspinor,nstsv)
18complex(8),
intent(out) :: vmat(nstsv,nstsv)
24complex(4) wfmt1(npcmtmax),wfir1(ngtc),y(nstsv),c(ngp)
25ld1=npcmtmax*natmtot*nspinor
28vmat(1:nstsv,1:nstsv)=0.d0
45 wfmt1(1:npc)=zvmt(1:npc,ias)*wfmt(1:npc,ias,ispn,jst)
47 call cgemv(
'C',npc,nstsv,
cone,wfmt(1,ias,ispn,1),ld1,wfmt1,1,
czero,y,1)
48 vmat(1:nstsv,jst)=vmat(1:nstsv,jst)+y(1:nstsv)
60 wfir1(1:ngtc)=zvir(1:ngtc)*wfir(1:ngtc,ispn,jst)
64 c(igp)=wfir1(
igfc(igpig(igp)))
66 call cgemv(
'C',ngp,nstsv,
cone,wfgp(1,ispn,1),ld2,c,1,
czero,y,1)
67 vmat(1:nstsv,jst)=vmat(1:nstsv,jst)+y(1:nstsv)
subroutine genzvmatk(zvmt, zvir, ngp, igpig, wfmt, wfir, wfgp, vmat)
complex(4), parameter czero
integer, dimension(3) ngdgc
integer, dimension(:), allocatable igfc
integer, dimension(maxatoms *maxspecies) idxis
integer, dimension(maxspecies) npcmt
complex(4), parameter cone