Description
I try to reproduce my results on the J1-J2 model at finite temperature using PEPSKit. I use the 3 site simple update code from #171. An example of script can be found at https://github.com/ogauthe/BenchmarkPEPS/blob/main/run/run_j1j2.jl.
The simple update Hamiltonian is defined as
terms = [CartesianIndex.(t) => h_pa for t in nearest_neighbours(lattice)] # 1st order SU, 1st neighbor
append!(
terms,
[CartesianIndex.(t) => J2 * h_pa for t in next_nearest_neighbours(lattice)],
)
su_hamilt = LocalOperator(physical_spaces, terms...)
The rest of the code is nearly the same for the first neighbor.
For J2=0.0, the results look correct and match those obtained with both frostspin
and run_heisenberg.jl
. However, for J2 > 0
, the results do not match frostspin. I am pretty confident in frostspin results as they match high temperature series expansion. It is unclear to me where the difference comes from. It is pretty easy to get a factor 2 wrong, so I computed several data points. There is no match outside of J2=0
:
D=7
, chi=49
, beta=1.0
J2 / energy | PEPSKit 1sntei | frostspsin 1stnei | PEPSKit 2nd | frostspin 2nd |
---|---|---|---|---|
J2 = 0.0 | -0.1927 | -0.1928 | 0.07598 | 0.07599 |
J2 = 0.15 | -0.0941 | -0.1742 | 0.00836 | 0.04712 |
J2 = 0.30 | -0.0877 | -0.1561 | -0.00695 | 0.01630 |
J2 = 0.60 | -0.075 | -0.1196 | -0.0386 | -0.04736 |
D=7
, chi=49
, beta=2.0
J2 / energy | PEPSKit 1sntei | frostspsin 1stnei | PEPSKit 2nd | frostspin 2nd |
---|---|---|---|---|
J2 = 0.0 | -0.29060 | -0.29060 | 0.1576 | 0.1576 |
J2 = 0.15 | -0.175 | -0.267 | 0.04728 | 0.125 |
J2 = 0.30 | -0.156 | -0.2371 | 0.0158 | 0.0769 |
J2 = 0.60 | -0.117 | -0.166 | -0.0527 | -0.03637 |
There are some similarities when matching PEPSKit at beta=2 with frostspin at beta=1, so I thought about a double counting problem, but then considering J2/2
or J2*2
should fix it. Also the case J2=0
matches precisely for both values of beta
.
Comparing different values for the bond energies in the unit cell, the results are much more asymmetric (breaking rotation/translation) with PEPSKit. This may be explained by 1st order Trotter vs 2nd order in frostspin, but maybe there is something more.
@Yue-Zhengyuan do you have any clue?