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

Remove excessive basis set normalisation #2850

Merged
merged 11 commits into from Jul 28, 2022
Merged

Remove excessive basis set normalisation #2850

merged 11 commits into from Jul 28, 2022

Conversation

soranjh
Copy link
Contributor

@soranjh soranjh commented Jul 21, 2022

Context:
This PR removes repetitive basis set normalisation steps in the DHF solver and modifies how the permutational symmetries are applied to avoid repetitive electron repulsion integral calculations. These modifications increase the efficiency of the non-differentiable workflow.

Description of the Change:

  • The basis functions are normalised in the molecule class.
  • The basis function normalisation in integrals.py functions is skipped if the contraction coefficients are not differentiable.
  • The repulsion_tensor function uses a more efficient method to keep track of permutational symmetries.

Benefits:
The timing for performing Hartree-Fock calculations is improved significantly. The results are for computing the HF energy for water (26 spin-orbitals), ammonia (30 spin-orbitals) and methane (34 spin-orbitals) with the 6-31g basis set.

image

Possible Drawbacks:

Related GitHub Issues:

@soranjh soranjh added WIP 🚧 Work-in-progress qchem ⚛️ Related to the QChem package labels Jul 21, 2022
@github-actions
Copy link
Contributor

Hello. You may have forgotten to update the changelog!
Please edit doc/releases/changelog-dev.md with:

  • A one-to-two sentence description of the change. You may include a small working example for new features.
  • A link back to this PR.
  • Your name (or GitHub username) in the contributors section.

@codecov
Copy link

codecov bot commented Jul 21, 2022

Codecov Report

Merging #2850 (87ae8e4) into master (e450d49) will increase coverage by 0.00%.
The diff coverage is 100.00%.

@@           Coverage Diff           @@
##           master    #2850   +/-   ##
=======================================
  Coverage   99.63%   99.63%           
=======================================
  Files         252      252           
  Lines       20993    21004   +11     
=======================================
+ Hits        20917    20928   +11     
  Misses         76       76           
Impacted Files Coverage Δ
pennylane/qchem/integrals.py 100.00% <100.00%> (ø)
pennylane/qchem/matrices.py 100.00% <100.00%> (ø)
pennylane/qchem/molecule.py 100.00% <100.00%> (ø)

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update e450d49...87ae8e4. Read the comment docs.

@soranjh soranjh changed the title [WIP] remove excessive basis set normalisation Remove excessive basis set normalisation Jul 22, 2022
@soranjh soranjh removed the WIP 🚧 Work-in-progress label Jul 22, 2022
@soranjh soranjh marked this pull request as ready for review July 22, 2022 17:42
@soranjh soranjh merged commit 1f1418d into master Jul 28, 2022
@soranjh soranjh deleted the qchem_basis_norm branch July 28, 2022 18:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
qchem ⚛️ Related to the QChem package
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants