10integer,
intent(in) :: lmax
11integer,
intent(in) :: ld
12real(8),
intent(out) :: elm(ld,natmtot)
13complex(8),
intent(out) :: ulm(ld,ld,natmtot)
15integer isym,lspl,is,ia,ias
16integer lmmax,i,j,l,lm,n,p
19real(8),
allocatable :: rwork(:)
20complex(8),
allocatable :: ulat(:,:,:)
21complex(8),
allocatable :: a(:,:),b(:,:)
22complex(8),
allocatable :: h(:,:),work(:)
24allocate(rwork(3*lmmax))
25allocate(ulat(lmmax,lmmax,
nsymlat))
26allocate(a(lmmax,lmmax),b(lmmax,lmmax))
27allocate(h(lmmax,lmmax))
36 call rotzflm(
symlatc(:,:,isym),0,lmax,lmmax,lmmax,lmmax,a,ulat(:,:,isym))
62 call zgemm(
'N',
'N',lmmax,lmmax,lmmax,
zone,ulat(:,:,lspl),lmmax,h,lmmax, &
64 call zgemm(
'N',
'C',lmmax,lmmax,lmmax,
zone,a,lmmax,ulat(:,:,lspl),lmmax, &
71 call zheev(
'V',
'U',n,b(lm,lm),lmmax,elm(lm,ias),work,lwork,rwork,info)
81deallocate(rwork,ulat,a,b,h,work)
complex(8), parameter zzero
real(8), dimension(3, 3, 48) symlatc
integer, dimension(maxspecies) natoms
integer, dimension(maxatoms, maxspecies) idxas
integer, dimension(:), allocatable nsymsite
complex(8), parameter zone
integer, dimension(:,:), allocatable lsplsyms
subroutine rotzflm(rot, lmin, lmax, lmmax, n, ld, zflm1, zflm2)