Hi,ITensor
After running the example program in ITenorInfiniteMPS of vumps_2d_heisenberg.jl with unit cell size N =6 ,l get
It can be seen that in each sweep , the energy in one unit cell has a counterpart in the other cell.For example, They all have energies -1.0313, -0.6743, -0.6497…, but it seems not translational invariance completely,because the energy are in a different order.
Check with code:
@show norm(contract(ψ.AL[1:N]..., ψ.C[N]) - contract(ψ.C[0], ψ.AR[1:N]...))
the result is
norm(contract(ψ.AL[1:N]..., ψ.C[N]) - contract(ψ.C[0], ψ.AR[1:N]...)) = 3.453725333109013e-5
3.453725333109013e-5
Then I get two different results if calculating entanglement with C[0] and C[1],the code likes
i0, j0 = inds(ψ.C[0])
_, C0, _ = svd(ψ.C[0], i0)
C0 = matrix(C0)
entropy0 = compute_entropy(C0)
println("\n entropy is ", entropy0)
the entropy is different
entropy0 = compute_entropy(C0)
1.9000955318623045
entropy1 = compute_entropy(C1)
2.0716893105344707
How to interpret this result ? Any answers and suggestions from you will be of great help for me!!!
