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
- sweep_E_S_Ly8_chi1000.dat.png (48.42 KiB) Viewed 6394 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.