Time evolution Green's Function on 1D tight binding model

I was tried simple tight binding calculation of green’s function by using TEBD

but it was failed.

H = -tcos(ka)(c^{\dagger}_{k\uparrow}c_{k\uparrow} + c^{\dagger}_{k\downarrow}c_{k\downarrow} )
G^{0}(t) = \langle\psi | c_{k\downarrow}(t)c^{\dagger}_ {k\downarrow}| \psi\rangle
= \langle\psi|e^{itH} c_{k\downarrow}e^{-itH}c^{\dagger}_ {k\downarrow}| \psi\rangle
\langle\phi| \equiv c^{\dagger}_ {k\downarrow}| \psi\rangle \quad\quad\quad\quad\quad\quad\quad\quad\quad |\phi(\tau)\rangle = e^{-i\tau h_{j}}| \phi\rangle
e^{-i\tau h}|\psi\rangle = |\psi(\tau)\rangle \quad\quad\quad\quad\quad\quad\quad\quad\quad\quad |\alpha(t)\rangle \equiv c^{\dagger}_ {k\downarrow}|\psi(t)\rangle \

so,

G^{0}(\tau) = \langle\psi | c_{k\downarrow}(\tau)c^{\dagger}_ {k\downarrow}| \psi\rangle = \langle\alpha(\tau)|\phi(\tau)\rangle

(I think this equation is wrong)

tau = 0.01
N = 20
sites = siteinds("Electron",N,conserve_nf = false,conserve_sz = false)
os = OpSum()
k = LinRange(0,pi,N)
t = 0.5
U = 1

for i = 1:N
    T = -2*t*cos(k[i])
    os += T,"Cdagup",i,"Cup",i
    os += T,"Cdagdn",i,"Cdn",i    
end

H = MPO(os,sites)
Rpsi = randomMPS(sites)

nsweeps = 20
maxdim = [10,20,30,40,50,1000,1500,2000,3000]
cutoff = 1E-18
energy,psi = dmrg(H,Rpsi;nsweeps,maxdim,cutoff,outputlevel = 1)

gates = ITensor[]
for i in 1:N
    T = -2*t*cos(k[i])
    s1 = sites[i]
    hj = 
    T*op("Nup",s1)+T*op("Ndn",s1)
    #+U*op("Nup",s1)*op("Ndn",s1) 
    
    Gj = exp(-im * tau /  2 * hj)
    push!(gates, Gj)
end

append!(gates, reverse(gates))


Glst = []

site_num = 1

cdn = op("Cdagdn",sites[site_num])
cn = op("Cdn",sites[site_num])


phi = apply(cn,psi)
phi_t = phi

alpha_t = psi

@showprogress for t = LinRange(0,5,500)
    phi_t = apply(gates,phi_t; cutoff=1e-13)
    
    alpha_t = apply(gates,alpha_t)
    normalize!(alpha_t)
    normalize!(phi_t)
    ksi_t = apply(cn,alpha_t)
    G = inner(ksi_t',phi_t)
    
    
    
    push!(Glst,G) 

end

please let me know what I wrong

thank you

What went wrong?

Sorry for not telling what was wrong

After i got green’s function and i did fourier transform to domain ⍵, and then I was checked my spectral function, but there’s negative value.

A starting point could be to check that the evolution matches what you expect from a free fermion calculation, before you perform the Fourier transform.