Skip to content
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

Adds ADC(2) reference implementations #105

Merged
merged 11 commits into from Nov 22, 2020
Merged

Adds ADC(2) reference implementations #105

merged 11 commits into from Nov 22, 2020

Conversation

obackhouse
Copy link
Contributor

@obackhouse obackhouse commented Nov 14, 2020

Description

This PR adds reference implementations for the ADC(2) method, with a separate implementation for ionization potentials, electron affinities and excitation energies. The implementations are based on an RHF reference, but use spin-orbitals as the equations are nicer there. There is also a helper script with a function to perform the Davidson algorithm for an arbitrary matrix, or function defining a matrix-vector product. The latter is adapted from the EOM-CCSD implementation. These are not particularly efficient, but should be a simple enough showcase of the iterative eigensolver to keep the scaling down.

I have tested these scripts against PySCF for the IP and EA, and against adcc for the EE. The codes will not account for degeneracy in n_states nor separate singlets and triplet EEs as adcc does, but the energies themselves match.

What are your new additions? Please provide a brief list.

  • New Features
    • ADC(2) for ionization potentials
    • ADC(2) for electron affinities
    • ADC(2) for excitation energies

Any questions for the community?

  • Should the Davidson solver from CI and EOM-CCSD (and now here) be standardised throughout the repository, or is it better that the modules remain self-contained?

@codecov-io
Copy link

codecov-io commented Nov 14, 2020

Codecov Report

Merging #105 (40d8c84) into master (3847966) will not change coverage.
The diff coverage is n/a.

Copy link
Member

@dgasmith dgasmith left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This looks really great overall! I don't have much ADC experience. Do you have any recommendations for reviewers? If not we can ping the rest of the maintainers here.

Algebraic-Diagrammatic-Construction/EA_ADC2.py Outdated Show resolved Hide resolved
Algebraic-Diagrammatic-Construction/EE_ADC2.py Outdated Show resolved Hide resolved
Algebraic-Diagrammatic-Construction/EA_ADC2.py Outdated Show resolved Hide resolved
@obackhouse
Copy link
Contributor Author

This looks really great overall! I don't have much ADC experience. Do you have any recommendations for reviewers? If not we can ping the rest of the maintainers here.

I can ask either of the adcc developers, who I believe are familiar with psi4? Up to you. I will get to your review comments this weekend.

@dgasmith
Copy link
Member

@obackhouse That would be fantastic on the adcc developers! Someone closer to these codes is always very welcome.

@dgasmith
Copy link
Member

@maxscheurer Thanks for the review! Can you approve and merge?

@maxscheurer
Copy link

I have no privileges to merge PRs 😄

Copy link
Member

@dgasmith dgasmith left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks again for the contribution!

@dgasmith dgasmith merged commit db0cd3e into psi4:master Nov 22, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants