-
Notifications
You must be signed in to change notification settings - Fork 142
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
1 body reduced density matrix estimator produces incorrect results #1052
Comments
Is the trace correct? |
Oh, also I know that there are currently some issues regarding OMP support so all calculations were performed on a desktop workstation with multiple MPI ranks each with 1 thread. |
Have not done that. Will see what I can do. |
Any updates on this? |
Is this fixed by #1509 or are there still problems to be resolved? |
I will look into this soon. I suspect it may be a real vs. complex issue. The real orbitals are not orthogonal in general and might lead to the pattern in the 1rdm seen above. |
Could we measure using a distinct complex-valued orbital set or an orthogonal real-valued set even with the real build? |
If the set of orbitals is orthogonal within QMCPACK, then everything should work fine. I would prefer to require orthogonal orbitals within QMCPACK overall. |
Is there any update on this issue? I still get 11 and 0 as the traces for the 1RDMs of up and down electrons using Josh's example above.
|
I recall: (1) it is still an issue (2) there are no spin polarized 1RDM tests (statistical or deterministic) (3) no one complained enough to get this fixed sooner. I recall that we do check the trace these days. Clearly a plumbing issue. |
@Paul-St-Young have you tried with the complex build of QMCPACK? |
Also, would you report the output with |
@jtkrogel this run was performed using complex build. |
But VMC w/o a Jastrow does not yield the identity in the same channel as the selected basis? |
correct. |
Would you mind uploading an ascii file containing the mean of the sampled density matrices? |
Here are the means of the up and down DMs |
Interesting. Possibly not a coincidence that the diagonal dominance of the sub-blocks fits a 2x2 pattern (i.e. falling in exactly the last half of the 30 orbitals). I agree this looks like an indexing problem. |
@jtkrogel I tested out the commit from #1021. The RDMs still look the same as above so I did not attach them.
I did find that the problem goes away if the evaluator is switched from "loop" to "matrix". |
In |
NVM, moving |
If loop is still the default, it should be switched to matrix. Loop is the original implementation, and matrix is much more efficient (it's what I've always used). In light of future ports (i.e. gpu/offload compatibility) perhaps not taking the full matrix approach, I think loop should remain, but an abort added noting the current bug. We can make the decision later if fixing the loop implementation makes sense. Thanks for determining the difference. |
Sharing some results to isolate the problem. Using recent builds #4060, 8-atom Si supercell with 16-up + 16-down electrons, the following is the trace summary for various
Both Including Jastrow introduces the "smearing" of the diagonal as expected. Therefore, the Runs: |
What is printed when you run with |
Collecting the "dm1b" estimator on a VMC calculation of FeO with a single determinant PBE orbital basis with no Jastrow factor should produce a diagonal density matrix. This system contains 22 electrons per spin channel, so a visualization of the 1rdm for, say, the "up" channel should show a strongly diagonal structure for the first 22 states. Yet, for QMCPACK built on 04 Sept. (#1046) it does not:
The salient input block is in the specification of the hamiltonian:
And the VMC calculation was specified by:
What is strange is that for commit #1021 the same input blocks produce something more expected:
In fact, these effects persist regardless of the presence of a Jastrow, and also persist at the DMC level.
Minimal working example included.
feo-mwe-1rdm.gz
The text was updated successfully, but these errors were encountered: