How to use the ITensorInfiniteMPS.jl package to calculate the entanglement spectrum of the Heisenberg model

Hi,ITensor

According to this answer, after reading the PhysRevB.81.064439, I try to calculate the entanglement spectrum with Bx=0 and Uxx=0 (that is, the Heisenberg model). This result should correspond to Figure 2 in this article.

I understand the calculation method of entanglement spectrum of finite dmrg, and the calculation method is similar to the process of calculating entanglement entropy. But I don’t know how to put the method of computing entanglement spectrum using infinite dmrg method.

Since there are almost no tutorials on using ITensorInfininteMPS.jl, it is almost difficult for me to write the code calculating the entanglement spectrum . Can ITensor provide a sample code that allows me to learn how to calculate the entanglement spectrum or similar codes that tell me what calculation can do after getting the ground state with this package? I think this is very useful and important for all beginners of ITensorInfiniteMPS.jl package! ! !

Thanks for any help.

2 Likes

Hi,ITensor

Following the above question, I have used ITensorInfiniteMPS.jl to directly calculate the entanglement spectrum for ψ.C[0] (ψ is the ground state obtained by calculation).

I found that compared with the data in this paper FIG.2, it seems that for Z2 phase and Haldane phase, the result obtained by calculation is correct.

However, when entering the TRI phase, such as Uzz/J=2, the degeneracy and values of the spectrum are completely wrong. I’m curious about the reason for this error.

Sincerely hope to get your help!!

I think l have soloved it!

Glad you figured out your issue, could you give a brief summary of what the issue was and how you solved it in case someone else has a similar issue?

Okey, here are some naive idea of mine. Following the above answer, we can compare the result of finite dmrg with infinite dmrg. After I tried it, I found that some entanglement spectrum was wrong. Later, I found out that the precision of the parameters I used was not large enough. When I increased the precision of the parameters, I obtained the correct entanglement spectrum. In fact, this may be due to my lack of knowledge of this algorithm.

Thanks for the report. I was going to suggest double checking that both calculations were properly converged, and it sounds like the issue was related to the VUMPS calculation not being properly converged/run with a high enough precision.

I would also second Matt’s request about if you could please share a short example code for computing the entanglement spectrum. Then we could include that in the ITensorInfiniteMPS example codes or documentation in the future. Thanks!

1 Like