Hii,
I am doing DMRG of a two leg ladder model in ITensor julia.
I have calculated the ground sate energy and spin-spin correlation in 1D Heisenberg model and 1D Hubbard model and it gives correct ground state energy and spin-spin(Total spin on each site) .
However, when i calculated DMRG for a two leg ladder model (for 48*2 sites) , it appears the ground state energy is correct, but the spin-spin correlation is antiferromagnetic while the actual correlation should be ferromagnetic.
Here is the Hamiltonian of the code with parameters
Nx=48
N= 2*Nx
sites=siteinds("Electron",N,conserve_qns=true,conserve_nf = true,conserve_sz=true,conserve_nfparity=false)
ampo =AutoMPO()
#intra-leg hopping
for j=1:2:(N-3)
ampo += -t,"Cdagup",j,"Cup",j+2
ampo += -t,"Cdagup",j+2,"Cup",j
ampo += -t,"Cdagdn",j,"Cdn",j+2
ampo += -t,"Cdagdn",j+2,"Cdn",j
ampo += -t,"Cdagup",j+1,"Cup",j+3
ampo += -t,"Cdagup",j+3,"Cup",j+1
ampo += -t,"Cdagdn",j+1,"Cdn",j+3
ampo += -t,"Cdagdn",j+3,"Cdn",j+1
end
#inter-leg hopping
p=1
for j =1:2:(N-1)
ampo += Q(p),"Cdagup",j,"Cup",j+1
ampo += conj(Q(p)),"Cdagup",j+1,"Cup",j
ampo += Q(p),"Cdagdn",j,"Cdn",j+1
ampo += conj(Q(p)),"Cdagdn",j+1,"Cdn",j
p=p+1
end
# On-site interaction
for j=1:N
ampo += U,"Nupdn",j
end
I kept the particle number fixed as i want to calculate ground sate energy at some particular electron density.
After performing the DMRG with the above Hamiltonian i calculate the spin-spin correlation in the following way
xxcorr = correlation_matrix(psi,"S+","S-")
yycorr = correlation_matrix(psi,"S-","S+")
zzcorr = correlation_matrix(psi,"Sz","Sz")
zz = 0.5* xxcorr + 0.5 * yycorr + zzcorr
I calculate the spin-spin correlation for a reference site away from the boundary.
But as i mentioned i am not getting the correct spin-spin correlations(which is ferromagnetic for some given parameters).
So ,is there anything wrong in writing the Hamiltonian or in the correlation matrix ?
Thanks