How to make opsum for 2D VUMPS ?
My system is 2D lattice system as like SSH chian.
(x-directional hopping strength is alternative.)
In square lattice, atom coordinates (x, y) and the bonding strength (t1, t2) is described as follows.
(1,4) - t2 - (2,4) - t1 - (3,4)
(1,3) - t1 - (2,3) - t2 - (3,3)
(1,2) - t2 - (2,2) - t1 - (3,2)
(1,1) - t1 - (2,1) - t2 - (3,1)
x-directional periodicity is 2.
y-directional hopping is same between (x, y), (x,y+1)
I have written it in code below.
os = OpSum()
t1 = 1.2
t2 = 0.8
ty = 1.0
# N_a2 is even integer due to periodicity
for x = 1:(2*N_a1)
for y = 1:N_a2
# site numbering for MPS from coordinate (x,y)
s = (x-1)*N_a2 + y
su = s+1 # Vertical interaction
sr = s + N_a2 # Horizontal interaction
if (y == N_a2) # periodicity for y-direction. (Cylinder)
su -= N_a2
end
if iseven( mod(x+y) ,2 ) # alternative hopping strength
tx = t1
else
tx = t2
end
# vertical hopping
os .+= -ty, "Cdag", s, "C", su
os .+= -ty, "Cdag", su, "C", s
# Horizontal hopping
os .+ = -tx, "Cdag", s, "C" sr
os .+ = -tx, "Cdag", sr, "C" s
end
end