Skip to content

Inconsistency in the calculation of the time-displaced Green's function

According to the documentation (sec. 8.4.5, page 86, tex source here), the routine Predefined_Obs_tau_Green_measure measures

<c^dag(i,tau,s)c(j,0,s)>

The actual code in Predefined_Obs_mod.F90 here contains

                    Z = cmplx(0.d0,0.d0,Kind(0.d0))
                    Do nf = 1, N_FL
                       Z = Z +  GT0(I1,J1,nf)
                    enddo

But GT0 (Documentation, page 69) is actually

GT0(i,j,s) = <c(i,tau,s)c^dag(j,0,s)>

Notice however that the equal-time routine computes the <c^dag(i,s)c(j,s)>, consistent with the documentation. So, we have two options:

  • We fix the routine Predefined_Obs_tau_Green_measure, substituting here GT0(I1, J1, nf) with -G0T(J1, I1, nf). This will however change the output of the program
  • We change the documentation. But this would be somehow inconsistent with the equal-time routines.

I would prefer the first solution.

Edited by Francesco Parisen Toldin