Hi Miles,
I found something really strange for a free fermion model as simple as this:
using ITensors
let
N = 4
numb_sweeps = 10
sweeps = Sweeps(numb_sweeps)
maxdim!(sweeps,10,20,100)
cutoff!(sweeps,1e-10)
sites = siteinds("Fermion",N)
states = ["Occ","Emp","Emp","Emp"]
psi0 = productMPS(sites,states)
ampo = AutoMPO()
ampo += "C",1,"Cdag",3
ampo += "C",3,"Cdag",1
H = MPO(ampo,sites)
energy,psi = dmrg(H,psi0,sweeps)
return
end
This is a 4-site system with only one fermion put on the 1st site and it only hops between site 1 and site 3. However, the DMRG doesn't give the correct GS energy. Same thing happens when the hopping is between site 1 and site 4. It's only when the hopping is between site 1 and site 2 that the correct GS energy is obtained. From my understanding, all the three cases should give exactly the same result. Am I actually missing something trivial?
Thanks a lot for your time
-Mason