Page 1 of 1

DMRG sweep problems

Posted: 13 Jun 2019, 01:42
by lww
I recently did some calculations on fractional Chern insulator in infinite cylinder following arXiv:1208.2623 and noticed a recurrent sweep problem in iDMRG. Instead of gradually converging to ground state, the sweep process seems to jump between two distinct states as shown below. This sometimes happens when I add interactions or set Nmax>1. I'm not sure why this happens and how can I solve this optimization problem? I really hope you can give me some advice :D
sweep_E_S_Ly8_chi1000.dat.png
sweep_E_S_Ly8_chi1000.dat.png (48.42 KiB) Viewed 5850 times

Re: DMRG sweep problems

Posted: 13 Jun 2019, 15:41
by Leon
Problems with convergence could be due to a setup that is badly suited to DMRG. For example, in arXiv:1407.6985, convergence is bad for a weakly interacting system (which is in a metallic phase).

That said, the behaviour you report seems different from the case I mention. Did you try using a mixer?

Re: DMRG sweep problems

Posted: 14 Jun 2019, 01:50
by lww
I'll try adding a mixer to see whether it works. This also happens when the system setup is surely in FCI phase, so I suspect that I miss some parameter tweaks in tenpy. You once mentioned that arXiv:1407.6985 used an old version of tenpy, could you provide a link to the code? Thanks.

Re: DMRG sweep problems

Posted: 14 Jun 2019, 15:50
by bart
I am also having convergence problems getting the FCI phase from arxiv:1407.6985. I have tried it for bosons, every permutation of the initial product state, different system sizes, with/without mixer, etc. Without interaction everything works fine for me, and I get the same figures as in the paper (Fig 2.a,b). Since the parameters for the FCI case are clearly specified in the paper, and it was done using a previous version of TeNPy, surely it should just work when interactions are turned on... :?: I too would really appreciate an answer to this!

Re: DMRG sweep problems

Posted: 17 Jun 2019, 09:14
by Leon
lww wrote: 14 Jun 2019, 01:50 You once mentioned that arXiv:1407.6985 used an old version of tenpy, could you provide a link to the code? Thanks.
Unfortunately, that version is not open source, so I cannot give you a link.

There is a possibility this problem with convergence is caused by some issue deep in DMRG, which does not behave like we expect. If the local optimization for the two-site problem finds a state that is highly entangled, the subsequent SVD will raise the energy. This would be consistent with the plots you showed earlier.

I am doing some testing to see if this is indeed the case, and if so, how to resolve it. I hope to discuss this with Johannes as well.

Re: DMRG sweep problems

Posted: 28 Jun 2019, 09:25
by Johannes
This jumping sure looks very wrong and strange. Any chance you could provide a simple example code where this happens?
Do you expect a (nearly) degenerate ground state in this case? Than it might just be jumping around between different solutions.
It might help to use 'chi_list' to gradually increase chi, such that the environments pin-point the state you use.

Also I'd recommend to play around with the 'update_env' parameter and the geometry of the system, i.e. the number of rings 'Lx' in your model geometry.
I had the case that the system tried to dimerize bonds, such that a single ring wasn't enough.
It might also be that the Single-Site DMRG which [mention]Leon[/mention] is writing right now is better suited. I hope we can merge it into the master branch very soon.