subroutine DFT(nmax,mmax,g,gf) integer nmax, mmax real g(0:nmax) complex gf(-mmax/2:mmax/2) complex W, i real pi pi=3.14159 i=(0.0,1.0) W=exp(-2.0*i*pi/(nmax+1)) do 10 j=-mmax/2,mmax/2 gf(j)=g(0) do 20 k=1,nmax gf(j)=gf(j)+g(k)*(W**(j*k)) 20 continue gf(j)=gf(j)/(real(nmax+1)) 10 continue return end