Open beddalumia opened 2 years ago
NEWS (relative to fit_overhaul
branch)
Commits 1bab32abf5295a43e58d54453268829bd249daf3 and 3240d4002ac08eef9bb3ee48e02b2779ebd88eba have shown that the issue is wider (hence the title change). Here I report some evidence and try to wrap a brief recap.
Deltaˆ | Weiss | |
---|---|---|
Elemental | 🟡 | 🟢 |
Frobenius | 🟡 | 🟢 |
ˆThe Delta fits are tagged "yellow" for they have worse quality wrt the Weiss ones, if comparing with NR-CG results with DMFT_ED code (NR-CG freezes with CDMFT code, consistently. I don't know why). Yet minimize-CG results are all on the same level accross the two codes, and very similar to the "yellow" ones (so we can take them as "fairly good"). More info on the freezing in 3240d4002ac08eef9bb3ee48e02b2779ebd88eba commit message; plots of fitted functions are reported below. Note that instead minimize and NR give the very same results for the Weiss field, hence tagged green.
master
branch) and b) port analytic gradients for elemental $\chi^2$ from current version in LIB_DMFT_ED. The situation is:Delta | Weiss | |
---|---|---|
Elemental | 🔴 | 🔴 |
Frobenius | 🟡 | 🔴 |
Delta | Weiss | |
---|---|---|
Elemental | 🟡 | 🟡 |
Frobenius | 🟡 | 🔴 |
38bb300
had fixed the sign of \grad\chi^2(\Delta)
, but left untouched the sign of \grad\chi^2(g_0)
, so that applying the missing fix, we get:Delta | Weiss | |
---|---|---|
Elemental | 🟡 | 🟡 |
Frobenius | 🟡 | 🟡 |
All plots with same input other than CG options, and at one loop. Solid Line: FG Dash-Dot: Fit
What I mean with "🔴" is
Delta | Weiss |
---|---|
What I mean with "🟡" is
Delta | Weiss |
---|---|
What I mean with "🟢" is
Deltaˆ | Weiss |
---|---|
ˆThis plot is the only one generated with DMFT_ED code, for this quality appears to be unreachable with minimize-CG, and NR-CG is de facto unavailable within CDMFT_ED.
Relevant update in SciFortran: https://github.com/QcmPlab/SciFortran/commit/c742471709f059fb66baede7bff5cf985470d9f9
Effects on this issue to be tested (it could probably fix the freezing with CG_METHOD=0 and CG_GRAD=1).
edit: it does not.
What's up
As I was performing some initial tests on the incoming changes on
fit_overhaul
branch, I noticed something is wrong with the Weiss field analytical gradient, as it is currently on master. By wrong I mean that the fitted field is qualitatively different from the original one, so seriously wrong.Note that this happens only if I request the analytic gradient: switching to
CG_METHOD=1
(minimize routine) solves everything, switching onlyCG_GRAD=1
but remaining with the NR routine gives the correct fit but takes forever to compute, basically freezing for several minutes (✨holy minimize, mighty va10a✨).Also note that the hybridization gradient appears to work fine, so maybe the actual problem lies within
grad_g0and_replica
. If that's the case I'll hit the wall very soon, when testing the gradients for the new 'elemental' norm. We'll see...Evidence
<img src="https://user-images.githubusercontent.com/56808633/173280738-fdd20675-8c63-4a64-a8ab-6f3dd10bfc60.png" width="500" />
I did not include the real part in the figure for it is basically correct (but not totally: even with the numerical gradient I see some unwanted weight near the origin). Don't know if this could help, but I report it.
No restart file has been used, and here we are at one loop: we do not expect a brilliant fit, but a fair one yes.
I attach down here the input file, so that the problem could be reproduced with the current master head (dc046d84c8117d47c4e5fd623b43b03bf30316d7)
Notes
I've already added a warning for the user in commit b6351fff491015d0e0be7384fe04300803d8f493 (
fit_overhaul
), we might want to copy those lines on master without waiting for merge, if this is considered urgent.