-
Notifications
You must be signed in to change notification settings - Fork 8
Tensor hypercontraction #433
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
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This PR adds tensor hypercontraction (THC) functionality to decompose 4-center 2-electron integral tensors into products of five rank-2 tensors, and fixes bugs in the existing density fitting implementation related to auxiliary index construction.
Key Changes:
- Introduces THC decomposition via new
tensor_hypercontractfunction that converts 4-center tensors into products of collocation and Coulomb matrices - Fixes missing
aux_spaceparameter in density fitting Index construction - Updates
TensorFactorizationQNSenum to include THC tag using bit 6
Reviewed changes
Copilot reviewed 6 out of 6 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
| SeQuant/domain/mbpt/rules/thc.hpp | New header declaring tensor_hypercontract function for THC decomposition |
| SeQuant/domain/mbpt/rules/thc.cpp | New implementation of THC decomposition with support for symmetric and antisymmetric tensors |
| SeQuant/domain/mbpt/rules/df.cpp | Bug fixes for auxiliary index construction in density fitting |
| SeQuant/domain/mbpt/space_qns.hpp | Adds THC quantum number tag and updates mask to include bits 5 and 6 |
| tests/unit/test_mbpt.cpp | Comprehensive tests for THC decomposition covering symmetric and antisymmetric cases |
| CMakeLists.txt | Registers new THC source and header files in build system |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
ajay-mk
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please rebase with the latest changes from master.
evaleev
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@obackhouse It will be nice to extend to the many-particle case (e.g., for rank-reduced CC), but that would require some thought about how to dealing with antisymmetry ... good for now. thanks.
I added a separate entry to
TensorFactorizationQNSand made it now use the 5th and 6th rightmost bits.