Skip to content

GSoc 2025: Improve Performance Using Screening #207

@PaulWAyers

Description

@PaulWAyers

Description

Use screening based on the overlap between basis functions to improve performance.

📚 Package Description and Impact

For large molecules, textbook expressions for quantities expanded in Gaussian basis functions (e.g., the electron density) or integrals based on Gaussian basis functions (e.g., the kinetic-energy integral) typically include many negligible terms. By screening out these terms, and only evaluating terms that are nonnegligible, the performance of GBasis can be greatly enhanced.

👷 What will you do?

In GBasis we provide a utility for screening these terms using their overlap, is_overlap_included. When this expression is small, one can also neglect other one-electron integrals. A generalization of this approach allows fast evaluation of spatial quantities and 2-electron integrals. Your main goal would be to screen 1-electron integrals and the evaluation of quantities at (grid) points using overlap screening and its generalization.

🏁 Expected Outcomes

  1. Adapt is_overlap_included to screen other one-electron integrals.
  2. Extend is_overlap_included to three functions, which allows screening spatial evaluations.
  3. Write tests to ensure correctness and assess performance.
  4. 🏆 An ambitious stretch goal is to implement screening of 2-electron integrals.
Required skills Python, OOP
Preferred skills Be comfortable with math, physics. Experience with scientific programming, quantum chemistry would be huge plus
Project size 350 hours, Large
Difficulty Medium 😉

🙋 Mentors

Marco Martínez-González mmg870630_at_gmail_dot_com @marco-2023
Esteban Vöhringer-Martinez estebanvohringer_at_qcmmlab_dot_com @evohringer
Paul Ayers ayers_at_mcmaster_dot_ca @PaulWAyers
Gabriela Sánchez-Díaz sanchezg_at_mcmaster_dot_ca @gabrielasd

📝 Notes & References

Metadata

Metadata

Assignees

No one assigned

    Labels

    gsocPossible Google Summer of Code Project

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions