I have a phase in which, via some analytical calculations I found that the ground state must be of the form
\ket{ABCDABCD....}. i.e, it is repeating in 4-sites.
When I do DMRG, it appears that for whatever point in this phase I run the calculation, I only get convergence upto 3-4 decimal places. After that, the change in energy is constant after each iteration, and the energy approximately increases at a constant rate. I have run the code up for up to 40 sweeps, and after about 6-7 sweeps I get stuck in this pattern. Furthermore, calculating the central charge for this state using Cardy-Calabrese also gives me unexpected results (instead of a straight line, I appear to get a chaotic sinusoidal pattern for S(x) vs log(x)).
Has anyone come across something like this before? Does DMRG not work well in phases where the translational invariance is broken down to \mathbb{Z}_N?
Note: The ground state energy I do get from these calculations does agree with ED calculations for small system sizes and analytical results (up to 3-4 decimal places). Furthermore, I get good convergence in other phases, so I believe the model itself should be implemented correctly.
Sorry to hear this. The part about the energy increasing during consecutive DMRG sweeps seems like a bug of some kind to me. Whenever that happens, it is often due to an issue with the Hamiltonian not being Hermitian. Can you carefully check that it’s Hermitian?
Hi Miles,
Thanks for your reply. Sorry in the original post I meant to say that the energy appears to decrease at a constant rate (it becomes more negative).
I have since checked the code carefully to make sure it’s hermitian. As another sanity check, I decided to add an observer object to measure the maximum entanglement entropy after each sweep. It appears that in other regions of my phase diagram (where I was originally getting decent convergence), the maximum entanglement entropy grows to a maximum value and remains stable, as expected.
However, in this problematic region, it appears that the EE is growing up to a certain number of sweeps, and then suddenly drops. (See figure
)Is this sort of behaviour associated with some bugs anyone may have seen before? Any advice would be much appreciated.
Sorry for the slow reply back. I was hoping that the check for Hermitian-ness might fix things, but maybe it is another reason. I do not think it is likely to be a bug in our code, and is more likely either just an unusually challenging system to converge or still perhaps an issue in the definition of the Hamiltonian.
If you’re still having this issue, could you post a minimal working code showing how you make the Hamiltonian and initial state that you pass into DMRG?
I think my system itself if one that is particularly difficult to converge in. Some basic analysis suggests that the system should consist of multiple copies of a cft in this problematic phase.
ie. H = \bigoplus_2IsingCFT
Am I correct in assuming that DMRG convergence is expected to be poor in such a regime?
Out of curiosity, are you trying to use periodic boundary conditions?
It’s hard to answer the question about whether DMRG convergence is poor in a specific model. It depends. But a general case where DMRG may be hard to converge is if your system is literally two or more totally (or nearly) decoupled systems. For example, a two-leg spin ladder with no coupling at all between the two legs. In those cases, the bond dimension is the product of the bond dimensions of each system, so can be very large, and taking any lower bond dimension can lead to poor results. Also such systems can converge slowly with number of sweeps for other reasons.