-
Notifications
You must be signed in to change notification settings - Fork 23
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Large auto-correlation time (1900) after improving statistics #155
Comments
Hi @LeoGaspard , this is indeed weird. Can you plot the point-wise difference between iteration 20 and 22 G(tau)? I assume that there is almost no difference? From what you report it seems that the auto-corr time exploded only the last two iterations when you increased Since you are solving a problem including SOC, I assume you are using the complex build of cthyb? Or are you working with a real Hamiltonian transformation somehow? This information would help to narrow the cause of the problem here. P.S. : On the unstable branch we also added a comprehensive convergence tutorial: https://triqs.github.io/cthyb/unstable/guide/cthyb_convergence_tests.html in case you want to check if your warmup phase was long enough etc. Best, |
Hi @the-hampel I made a mistake in the table with the length_cycle n_cycle values, here is the correct one :
What seems strange is that the auto-correlation time exploded at iteration 20 where no parameter changed, it was the same from iteration 16 to 20. I am indeed using the complex build of CTHYB, (hybridisation_is_complex and local_hamiltonian_is_complex are True). Thank you for the tutorial, I think that I might be using cycles that are too long I will check on that. But I would be surprised if it was the reason of this sudden increase in auto-correlation time. Best, |
Thanks for the information. For now I have three ideas how to get behind the reason for this:
Best, |
The behavior described is indeed strange and should be understood. It's correct that the auto-correlation time is currently estimated only based on the perturbation order The jump from iteration I also wonder if the large estimates you see for iterations |
Hi @LeoGaspard,
There is an additional 0 in iteration 20 acceptance rate for insert two operators. If this is happening, then the increase in autocorr time makes sense to me. If not there is something special in the complex case. Is this drop in acceptance rate consistently happening? |
Hi @the-hampel , On my side, I checked the convergence of the parameters as you suggested, I found that the jump in auto-correlation time indeed happens for too large length_cycle when I use spin-orbit coupling : When I do not use spin-orbit coupling, a jump happens but it is to a very low value of auto-correlation time : |
Thanks for clarification and the detailed plots. So it seems that the determination of the autocorr time generally works with complex hamiltonians / hybridizations (the curves for smaller cycles look as expected). Since the autocorr time is either calculated from the sign or from the avg order maybe what happens is that it jumps from one estimator to the other. Whatever gives a larger value will be set as autocorr time. Can you plot for the number of cycles on the x-axis also the value of the sign (real and complex value separately) and the average order? Both are printed in the std output when the solver is finished. Maybe one of the two suddenly collapses or changes? |
Okay let me discuss this with @Wentzell . Maybe it is related to the imaginary sign change. I am not sure this is correctly handled in the complex estimation of cthyb. Putting aside all these discussions about the autocorr time your analysis of all these quantities indicates that there seems to be no problem in your measured G(tau), since average order, sign, acceptance rates look all stable. So it is safe to use the result as is. However, we will try to understand and fix the estimation of the autocorr time in the complex build. At least for me there is no reason to believe that the QMC itself is not working as expected. |
Dear TRIQS developpers,
I am trying to use CT-HYB (version 3.1) to do DMFT calculation on Ba2IrO4 including spin-orbit coupling.
Due to the sign problem (~0.6), the statistics on G(tau) is not so good :
After some iterations I decided to change the number of MC steps between each measurements and the number of measurements :
There seemed to be less noise in the measured G(tau) after the last iteration
But the problem is that the auto-correlation time given in the solver report became very large after iteration n°19
In all the iteration reports, the acceptance rates for the moves are comparable, the auto-correlation time is the only thing that significantly changed.
Such a jump in this value seems strange and I was wondering the reason it happened as something clearly went wrong at some point in the calculation.
The script and input files can be found in this gist
I would be grateful for any help to understand this issue.
Best regards,
Léo Gaspard
The text was updated successfully, but these errors were encountered: