Hi,
I am working on a two-leg ladder model to find the ground state energy using the VUMPS algorithm in Julia. For this, I have chosen a custom unit cell of 4 sites . The unit cell Hamiltonian given below.
function ITensorInfiniteMPS.unit_cell_terms(::Model"BH_ladder";
J,U,V,Uab)
ampo = OpSum()
ampo += (-J,"Adag",1,"A",2)
ampo += (-J,"Adag",2,"A",1)
ampo += (-J,"Adag",3,"A",4)
ampo += (-J,"Adag",4,"A",3)
ampo += (V,"N",1,"N",2)
ampo += (V,"N",3,"N",4)
ampo += (Uab, "N", 1, "N", 3)
ampo += (Uab, "N", 2, "N", 4)
ampo +=(0.5*U,"N",1,"N",1)
ampo +=(-0.5*U,"N",1)
ampo +=(0.5*U,"N",2,"N",2)
ampo +=(-0.5*U,"N",2)
ampo +=(0.5*U,"N",3,"N",3)
ampo +=(-0.5*U,"N",3)
ampo +=(0.5*U,"N",4,"N",4)
ampo +=(-0.5*U,"N",4)
ampo += (-J,"Adag",2,"A",5)
ampo += (-J,"Adag",5,"A",2)
ampo += (-J,"Adag",4,"A",6)
ampo += (-J,"Adag",6,"A",4)
return ampo
end
The unit cell Hamiltonian given below.
However, I encountered some problems.
(1)The energy obtained from VUMPS is[-0.8490833784482964, -0.9489517614405596, -1.7752741144863176, -1.4883144291789279],I believe that the energy in the unit cell should be symmetrical, the energy in the two legs should be the same, and the energy between the two legs should also be the same. So I think I got the wrong result.
(2)When I calculate the ground state wave function using VUMPS algorithm,Julia gave
The two-site subspace expansion produced a zero-norm expansion at (2, 3). This is likely due to the long-range nature of the QN conserving Hamiltonian.
What is this mistake? Did it lead to an erroneous result?
The details of the calculations are based on the examples in ITensorInfiniteMPS.jl.
I think there might be a problem with my unit cell, but I don’t know what my mistake is.
Thanks for any help in advance!