FOURIER TRANSFORMATIONS IN QMC (CODES)

All routines mentioned in THEORY section one can find here.

Below we provide input and output description of the routines.



All routines use the following parameters file: (param.dat)


IMPLICIT REAL*8 (A-H,O-Z)

parameter(L= 64, Iwmax=2**13, Nom=Iwmax+1)
parameter(Nlm=3,Nd=2*Nlm,Nf=Nlm*(Nd-1),Ns=1)

complex*16 ci
parameter (ci=(0.d0,1.d0))
parameter (pi=3.1415926535898d0)
common/global/Beta,Zero,One,Two


Explanation of parameters:

L # of time slices
Iwmax # of Matsubara frequencies
Nom # of Matsubara frequencies + 1 (zero point)
Nlm # of bands (orbitals)
Nd # Number of spin-orbitals
Nf # of auxiliary Ising fields (used only in QMC code but not in FT)
Ns # of spins (1 is for paramagnetic case)


DIRECT FOURIER TRANSFORMATION



SCHEME N1:

SUBROUTINE nfourier1(FD1,FD2,rindata,coutdata)

Input:

DIMENSION rindata(L)
G(tau_i), i=1,L
REAL*8 FD1,FD2
G'(0+), G'(\beta-)

Output:

COMPLEX*16 coutdata(0:Iwmax)
G(omega_n), n=0,Iwmax

 

USES info from:

SUBROUTINE FDeS( eft,G0,G,FM_DOS,U,zef,nn, FDA1,FDA2 )

Input:

REAL*8 eft
the chemical potential
COMPLEX*16 G(nlm,nom,ns)
Green function (G)
COMPLEX*16 G0(nlm,nom,ns)
Weiss function (G0)
REAL FM_DOS(nlm,ns)
Array of first moments of non-interaction DOS
REAL*8 U(Nd,Nd)
Coulomb repulsion matrix
REAL*8
zef(nlm,2) is occupancies matrix
REAL*8
nn(Nd,Nd) is double occupancies matrix

 

Output:

REAL*8 FDA1(Nd), FDA2(Nd)
Arrays of derivatives G'(0+), G'(\beta-)


SCHEME N2:

SUBROUTINE nfourier2(disc, xmom2, xmom3, RIndata,COutdata)

Input:

REAL*8 rindata(L)
G(tau_i), i=1,L
REAL*8 xmom2, xmom3, disc
disc =1, M2 & M3 are the moments

 

Output:

COMPLEX*16 coutdata(0:Iwmax)
G(omega_n), n=0,Iwmax

USES info from:

SUBROUTINE moments(U, ef, zef, nn, FM_DOS, Vk2, FMA, SMA)

Input:

REAL*8 U(Nd,Nd)
Coulomb repulsion matrix
REAL*8 ef
the chemical potential
REAL*8 zef(nlm,2)
occupancies matrix
REAL*8 nn(Nd,Nd)
double occupancies matrix
REAL FM_DOS(nlm,ns)
Array of first moments of non-interaction DOS
REAL*8 Vk2(nlm,ns) Sum of Vk^2 (see Eq.(13))

 

 

Output:

REAL*8 FMA(Nd), SMA(Nd)
First and Second Moments Arrays


SCHEME N3:

SUBROUTINE nfourier(rindata,coutdata)

Input:

REAL*8 rindata(L)
G(tau_i), i=1,L

 

Output:

COMPLEX*16 coutdata(0:Iwmax)
G(omega_n), n=0,Iwmax


INVERSE FOURIER TRANSFORMATION



SCHEME N1 & 2:

SUBROUTINE InvFourierNew(xmur,cindata,routdata)

Input:

COMPLEX*16 cindata(0:Iwmax)
G(omega_n), n=0,Iwmax
REAL*8 xmur
the chemical potential

 

Output:

REAL*8 routdata(L)
G(tau_i), i=1,L


SCHEME N3:

SUBROUTINE invfourier(cindata,routdata)

Input:

COMPLEX*16 cindata(0:Iwmax)
G(omega_n), n=0,Iwmax

 

Output:

REAL*8 routdata(L)
G(tau_i), i=1,L


 


Last update @ June 24, 2003