Hi everyone,
My goal is to investigate the ground-state energy of a spinful Hubbard ladder versus the total SzT per site (E_0 vs. SzT).
In the case of spin-1/2 Heisenberg models, I only need to consider the total magnetization per site as a conserved quantity that ranges from zero to N/2. To achieve this, I define the lattice sites as follows:
sites = siteinds("S=1/2",N; conserve_sz=true)
I initialize the state statei
as:
statei = ["Dn" for n in 1:N] # all spins down
for j in 1:Int(N/2) # producing antiferromagnetic state
statei[j] = "Up"
This setup creates a fully antiferromagnetic state with SzT = 0. To calculate the quantity Szi, I define the following function:
# Sz(i) operator
function Szi_op(i,sites)
ampo = AutoMPO()
ampo += 1.,"Sz",i
Szi = MPO(ampo,sites)
return Szi
end
The main part of the dmrg code for the Heisenberg spin model can be summarized as:
spin_up = 0
for i in Int(N/2)+1: N
spin_up += 1
for j in i # in each step a Dn in statei changes to Up
statei[j] = "Up"
end
ψi = randomMPS(sites,statei,linkdim)
Szi = [Szi_op(szi,sites) for szi in 1:N]
H = H_Spin_Model(N,J,sites) # Typical Hamiltonian's Function
E0,ψ0 = dmrg(H,ψi,sweeps)
println()
E_GS[spin_up] = E0
# on-site total magnetization of the ground state ψ0 which is a conserved quantity
for k in 1:N
SzT[m_up] += inner(ψ0,Szi[k],ψ0)
end
end
In this setup, the dmrg code runs successfully for Heisenberg spin models, producing the ground-state energy and on-site total magnetization for a sequence of states transitioning from fully antiferromagnetic to fully polarized (first for loop).
Now, I am attempting to extend the same methodology to the spinful Hubbard model. However, when I apply the previously described code, I am encountering an issue where the calculated ground-state energy turns out to be always zero.
In fact, I observe an array containing N/2 zeros representing the ground-state energy.
I am seeking guidance on how to address this issue and obtain accurate results for ground-state energy and the on-site magnetization of the spinful Hubbard model. Any insights or suggestions would be greatly appreciated.