Orbital rotation optimization test for Be atom - #4619
Conversation
Test Be atom with STO basis. The coefficient matrix is partially optimized, taken from an optimizer run that started from the identity coefficient matrix. This tests the remainder of the optimization.
|
I assume the optimal |
|
The second graph shows there is still failure with |
|
Two possibilities:
|
And default minwalkers. Seems stable.
Still worth adding in a later PR imo. All of our vmc tests with jastrows and all our dmc tests have this issue, but it does help us catch new breakage. |
|
Just a comment, but isn't it interesting that we see only ~two sets of energies on the first optimization step and not a continuum of possible results? Why would that be? (Assuming the updated test gets through CI, I suggest we merge it and then keep an eye on the pass/fail rate and adjust the acceptable error bar accordingly) |
|
Test this please |
|
I think the discrete splits are due to rejected parameter moves. |
|
So the higher split set of energies after one iteration actually uses the same parameters as the zeroth iteration? |
|
Test this please |
|
Yes, the same variational parameters get used. I would expect it would have the same distribution as in the first iteration. There's only 4 runs that had the first move rejected, so it's a very small sample size. |

Test Be atom with STO basis. The coefficient matrix is partially optimized, taken from an optimizer run that started from the identity coefficient matrix. This tests the remainder of the optimization.
The test takes about a minute on a Broadwell CPU.
The input file does 3 iterations with minwalkers=0.1, and 3 iterations with minwalkers=0.95 (for reference, default minwalkers is 0.3). After new parameters are calculated, a correlated sampling run is done and the effective number of walkers is computed. If it is less than minwalkers, the new parameters are rejected, and the next optimizer loop iterations proceeds.
A run using the default parameters produces large variations in later optimizer iterations.

It could be that this is such a small system that parameter moves with a large overlap can still produce a poor energy. Using stricter minwalkers cutoff in the last 3 iterations seems to alleviate the issue.
It could also relate to the intrinsic noise. Adding more samples helps (at the cost of a longer test). A run using these orbitals with an e-e Jastrow factor had an order of magnitude less variance in the energy, and did not show optimizer histories with poor energies.
In both graphs, the last iteration is a VMC run.
What type(s) of changes does this code introduce?
Delete the items that do not apply
Does this introduce a breaking change?
What systems has this change been tested on?
desktop
Checklist
Update the following with a yes where the items apply. If you're unsure about any of them, don't hesitate to ask. This is
simply a reminder of what we are going to look for before merging your code.