-
Notifications
You must be signed in to change notification settings - Fork 150
[WIP] Degenerated CI Optimization #5582
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
base: develop
Are you sure you want to change the base?
Conversation
|
I don't feel the necessity to introduce an option for both converter and qmcpack Maybe I misunderstood the intention of this added input tag. Let us know. |
|
Hello @ye-luo I'm not sure I fully understood your comment. The idea behind this option is to allow (or not allow) constrained optimization. In my case—for benzene—I want to preserve the degeneracy of the CI coefficients (so This flexibility not only reduces the amount of modification needed in the code, but also gives users the opportunity to study how maintaining degeneracy in the CI during optimization might impact the results. Because so far, the code has optimized each CI coefficient independently of its degeneracy. |
|
How does the multideterminant xml node look like with your change when degenerated=yes? |
|
This current work does not modify the optimization (yet), so the nodes are not affected regardless of whether it is set to true or false. |
|
@NastaMauger Thanks for starting this PR. It looks like a really useful feature to have. Being able to handle/preserve symmetries (#5581 ) is a big step forward. |
|
@jtkrogel I realize now that my title was misleading. The goal is not to preserve the symmetry per se, but rather to preserve the degeneracy of the CSFs. If one wants to use GAMESS alongside GUGA algorithm for specific reasons, it would be beneficial to retain the degeneracy of the corresponding CSFs as found by GAMESS. So far, QMCPACK treats each CSF as independent, regardless of their coefficients (and thus their degeneracy) @ye-luo gave some insight into how one might modify the input XML to handle such a case. I'm still concerned, however, about whether this is truly equivalent to a constrained optimization. |
|
Thanks for starting on this. Q. Will searching on equal coefficients suffice? e.g. Is the situation where there are coefficients c and -c infrequent? Some more complex description or grouping of the coefficients could be needed. What is state of the art in different codes? |
|
Hello,
Please let me know if anything else is needed To answer @prckent, I genuitly dont know how it is handle in other code as I am unfamiliar with them. |
|
Could you add converter tests under <tests/converter> for both cases? |
|
With or without degeneracy. The total determinant count should remain the same. |
|
@ye-luo I naively removed the ones that appeared more than once to avoid redundancy, but I am still confused about what the correct syntax should be. |
|
@ye-luo If I remove the determinant part and update the manual to state that the degeneracy of the CI works only for CSFs, would that help to merge this branch? |
I'm sorry that I missed your precious reply. If you didn't hear a reply in a week, feel free to ping. @NastaMauger I sent you a slack message |
Proposed changes
This PR is related to an issue where I requested the ability to add constrained optimization for degenerate CI coefficients.
What type(s) of changes does this code introduce?
convert4qmcnow accepts the-degeneratedargument. A corresponding flag to enable reading this option has also been added.Updated the convert4qmc usage documentation to include the new
-degeneratedargument for users.Does this introduce a breaking change?
Checklist
I would like to take this further by implementing constrained optimization for degenerate CI coefficients. However, I’m currently unsure where in the code this should be done and how to proceed. Any guidance or insights would be greatly appreciated.
Thanks