Open JerryChen97 opened 4 years ago
I will post the verbose output of these points as soon as the recent run is finished.
One thing that often helps in this situation is to increase the size of the unit cell. I think you have been using DMRG unit cell = 1 Hamiltonian unit cell, right? If you try using 2 or 3 H unit cells as the DMRG unit cell, that may help.
One thing that often helps in this situation is to increase the size of the unit cell. I think you have been using DMRG unit cell = 1 Hamiltonian unit cell, right? If you try using 2 or 3 H unit cells as the DMRG unit cell, that may help.
Oh actually I forgot to mention that I have already applied L=2
but this issue persists.
In the meantime, I recommend that when you plot things like S and xi, you set the value to np.nan for points that ended by max_sweep, at least temporarily so you can see the reliable results separately.
If L=2 didn't fix this, I would still try L=3. If that doesn't help, I will think more about options.
I will try L=3
later
I found that for J = (0.078, 0.006, 0.997)
, this doesn't happen if an all-up initial state is given.
@aaronszasz I just found that when some specific
J
is given, DMRG falls into a strange vibrating situation with all the time alteringE
andS
which seem to never converge:This phenomenon has existed for quite a time and I remember you mentioned this once, but I immediately forgot about it since somehow both the model and DMRG worked properly at that time after we fixed something else. Yesterday after you pointed out the possibly incorrect result of some points, I realized the fact that I haven't make sure that the result given by DMRG is always converging and correct. Then I noticed that for some points the maximum sweeps will be reached and this means they don't really know whether or not they have converged before that. I found this issue when the
max_sweep
was set to10000
in order to avoid such cases and for some specific points, e.g.J = (0.078, 0.006, 0.997)
and(0.969, 0.076, 0.233)
the seemingly permanent vibrating shows up. I tried your trick to feed the outcome wave function to the next neighboring point, and this helped some points but not everyone. Some points like(0.969, 0.076, 0.233)
gets stuck in the same dilemma.Now I am also trying lower but still reasonable criteria for entropy to be considered as convergent, e.g.
max_S_err=1.e-3
, so that DMRG can still finish and return a result that is not that wrong. But anyway I think this is an issue that deserves a lot of attention and we should find out the real cause.