GQCG / GQCP

The Ghent Quantum Chemistry Package for electronic structure calculations
https://gqcg.github.io/GQCP/
GNU Lesser General Public License v3.0
34 stars 10 forks source link

Fix NOCI routine #1033

Closed xdvriend closed 2 years ago

xdvriend commented 2 years ago

Short description

This PR will ensure the NOCI routines in the code are verified correct. The python bindings for the Biorthogonal basis will also be enabled.

Related issues

Some NOCI results dove below FCI. This PR will go through the code and verify everything to ensure the correctness of the code.

To do

xdvriend commented 2 years ago

All classes of the LowdinPairingBasis are now checked and verified against the non-orthogonal matrix element library by H. Burton.

The next step is to verify all routines used to calculate the matrix elements.

Tagging @guacke to update on progress.

xdvriend commented 2 years ago

I am working on a way to use the reference code with generalised basis states (this was no issue for the lowdown pairing, however it is to check the matrix evaluation). Once I can generate reference data I will:

Tagging @guacke to update on progress.

EDIT: Multiple basis states and complex basis states tested for matrix evaluation in G basis and verified.

xdvriend commented 2 years ago

If all of the above is done, this PR should be ready and we can merge it. Tagging @guacke to provide update on progress.

xdvriend commented 2 years ago

All NOCI code is now conform to the reference code and each of the test suites has been updated and verified with the updated code. As such, I expect the final build to succeed. (EDIT: If, at least, I don't make any typo's before pushing...)

I will now check the biorthogonal basis python bindings. If these work, this PR should be ready to be merged.

Tagging @guacke for progress update.

xdvriend commented 2 years ago

Bindings should now be enabled and an example notebook is provided. If the build succeeds, this PR is ready to be merged.

Tagging @guacke for final update/approval for merging.