Challenges
Datasets
Workspaces
Papers
Discussions
Leaderboard
Log inSign up
Challenges
Datasets
Workspaces
Papers
Discussions
Leaderboard
Blog
Job Board
Q3AS

© 2026 Aqora Quantum S.A.S.

TermsPrivacyLegal Notice

arXiv:2106.06850 · Molecular Physics

p † q : a tool for prototyping many-body methods for quantum chemistry

Nicholas C. Rubin, A. Eugene DePrince

Published Jul 23, 2021• 25 citations
arXivHTMLPDF

Abstract

p†q is a C++ accelerated Python library designed to generate equations for many-body quantum chemistry methods and to realise proof-of-concept implementations of these equations for rapid prototyping. Central to this library is a simple interface to define strings of second-quantised creation and annihilation operators and to bring these strings to normal order with respect to either the true vacuum state or the Fermi vacuum. Tensor contractions over fully-contracted strings can then be evaluated using standard Python functions (e.g. NumPy's einsum). Given one- and two-electron integrals, these features allow for the rapid implementation and assessment of a wide array of many-body quantum chemistry methods.

DOI
10.1080/00268976.2021.1954709

Related papers

Automated Quantum Chemistry Code Generation with the p†q Package

Marcus D. Liebenthal, Stephen H. Yuwono, Lauren N. Koulias +3 more

This article summarizes recent updates to the p † q package, which is a C++ accelerated Python library for generating equations and computer code corresponding to singly referenced many-body quantum chemistry methods such as coupled-cluster (CC) and equation-of-motion (EOM) CC theory. Since 2021, the functionality in p † q has expanded to include boson operators, coupled fermion-boson operators, unitary cluster operators, non-particle-conserving EOM operators, spin tracing, multiple single-particle subspaces, and more. Additional developments allow for the generation of C++ and Python code that minimizes floating-point operations via contraction order optimization, subexpression elimination, and the fusion of similar terms.

The Journal of Physical Chemistry A•Jul 14, 2025•10 citations

Automated Quantum Chemistry Code Generation with the p$^\dagger$q Package

Marcus D. Liebenthal, Stephen H. Yuwono, Lauren N. Koulias +3 more

This article summarizes recent updates to the p$^\dagger$q package, which is a C++ accelerated Python library for generating equations and computer code corresponding to singly-reference many-body quantum chemistry methods such as coupled-cluster (CC) and equation-of-motion (EOM) CC theory. Since 2021, the functionality in \pq has expanded to include boson operators, coupled fermion-boson operators, unitary cluster operators, non-particle-conserving EOM operators, spin tracing, multiple single-particle subspaces, and more. Additional developments allow for the generation of C++ and Python code that minimizes floating-point operations via contraction order optimization, sub-expression elimination, and the fusion of similar terms.

arXiv:2501.08882•Jan 15, 2025•0 citations

P si 4N um P y : An Interactive Quantum Chemistry Programming Environment for Reference Implementations and Rapid Development

Daniel G. A. Smith, Lori A. Burns, Dominic A. Sirianni +24 more

Psi4NumPy demonstrates the use of efficient computational kernels from the open-source Psi4 program through the popular NumPy library for linear algebra in Python to facilitate the rapid development of clear, understandable Python computer code for new quantum chemical methods, while maintaining a relatively low execution time. Using these tools, reference implementations have been created for a number of methods, including self-consistent field (SCF), SCF response, many-body perturbation theory, coupled-cluster theory, configuration interaction, and symmetry-adapted perturbation theory. Furthermore, several reference codes have been integrated into Jupyter notebooks, allowing background, underlying theory, and formula information to be associated with the implementation. Psi4NumPy tools and associated reference implementations can lower the barrier for future development of quantum chemistry methods. These implementations also demonstrate the power of the hybrid C++/Python programming approach employed by the Psi4 program.

Journal of Chemical Theory and Computation•May 17, 2018•163 citations

QCManyBody: A flexible implementation of the many-body expansion

Lori A. Burns, C. David Sherrill, Benjamin P. Pritchard

While the many-body expansion (MBE) and counterpoise treatments are commonly used to mitigate the high scaling of accurate ab initio methods, researchers may need to piece together tools and scripts if their primary chosen software does not support targeted features. To further modular software in quantum chemistry, the arbitrary-order, multiple-model-chemistry, counterpoise-enabled MBE implementation from Psi4 has been extracted into an independent, lightweight, and open-source Python module, QCManyBody, with new schema underpinning, application programming interface, and software integrations. The package caters to direct users by facilitating single-point and geometry optimization MBE calculations backed by popular quantum chemistry codes through the QCEngine runner and by defining a schema for requesting and reporting many-body computations. It also serves developers and integrators by providing minimal, composable, and extensible interfaces. The design and flexibility of QCManyBody are demonstrated via integrations with geomeTRIC, OptKing, Psi4, QCEngine, and the QCArchive project.

The Journal of Chemical Physics•Oct 15, 2024•3 citations

Quantum computing library for quantum chemistry applications

Konstantin M. Makushin, Mariia D. Sapova, Aleksey K. Fedorov

Abstract Quantum computing is aimed to solve tasks, which are believed to be exponentially hard to existing computational devices and tools. A prominent example of such classically hard problems is simulating complex quantum many-body systems, in particular, for quantum chemistry. However, solving realistic quantum chemistry problems with quantum computers encounters various difficulties, which are related, first, to limited computational capabilities of existing quantum devices and, second, to the efficiency of algorithmic approaches. In the present work, we address the algorithmic side of quantum chemistry applications by introducing a Python 3 code library, whose primary objective is to speed up the development of variational quantum algorithms for electronic structure problems. We describe the various features and capabilities of this library, including its ease in constructing customized versions of variational quantum algorithms. We elucidate how the developed library allows one to design quantum circuits and enable for the efficient execution of quantum algorithms. Furthermore, the library facilitates the integration of classical and quantum algorithms for hybrid computations and helps to realize the cross-verification of data with traditional computational methods, thereby enhancing the overall reliability of quantum chemistry simulations.

Journal of Physics Conference Series•Feb 1, 2024•5 citations

PyCC: A Reference Quantum Chemistry Python Package for Education, Validation, and Rapid Prototyping

T. Daniel Crawford, Benjamin G. Peyton, Zhe Wang +6 more

PyCC is a Python-based quantum chemistry package that emphasizes coupled cluster and related methods. Developed over the last five years, PyCC's purpose is to provide a clear reference implementation that will serve as a validation suite for production code, a platform for rapid prototyping and testing of new methods, and an educational resource for newcomers to the field. The package covers both closed- and open-shell single-determinant references in spatial- and spin-orbital formulations for the coupled cluster hierarchy through triples-including methods such as CC3, as well as for MP2 and CI methods. PyCC provides a broad range of molecular properties such as analytic first and second energy derivatives including gradients, Hessians, polarizabilities and atomic polar tensors, as well as non-energy-derivative properties, such as velocity-gauge atomic polar tensors and diagonal Born-Oppenheimer corrections, plus dynamic linear response functions, and excitation energies. The package includes a number of unique capabilities, such as real-time CC propagation (up through CC3), atomic axial tensors for simulating vibrational circular dichroism spectra at the MP2 and CI levels, and local correlation methods including perturbation-aware correlation domains. The code is designed around a shared Wavefunction base and a method-agnostic derivative layer that enables a new method to inherit the full property set once it supplies its reduced densities and their first-order responses. PyCC is fully open source and available on GitHub under the BSD 3-clause license.

physics.chem-phCross-listedarXiv:2610.04107•Oct 6, 2026
p†q is a C++ accelerated Python library designed to generate equations for many-body quantum chemistry methods and to realise proof-of-concept implementations of these equations for rapid prototyping. Central to this library is a simple interface to define strings of second-quantised creation and annihilation operators and to bring these strings to normal order with respect to either the true vacuum state or the Fermi vacuum. Tensor contractions over fully-contracted strings can then be evaluated using standard Python functions (e.g. NumPy's einsum). Given one- and two-electron integrals, these features allow for the rapid implementation and assessment of a wide array of many-body quantum chemistry methods.
This article summarizes recent updates to the p † q package, which is a C++ accelerated Python library for generating equations and computer code corresponding to singly referenced many-body quantum chemistry methods such as coupled-cluster (CC) and equation-of-motion (EOM) CC theory. Since 2021, the functionality in p † q has expanded to include boson operators, coupled fermion-boson operators, unitary cluster operators, non-particle-conserving EOM operators, spin tracing, multiple single-particle subspaces, and more. Additional developments allow for the generation of C++ and Python code that minimizes floating-point operations via contraction order optimization, subexpression elimination, and the fusion of similar terms.
Automated Quantum Chemistry Code Generation with the p†^\dagger†q Package
This article summarizes recent updates to the p†^\dagger†q package, which is a C++ accelerated Python library for generating equations and computer code corresponding to singly-reference many-body quantum chemistry methods such as coupled-cluster (CC) and equation-of-motion (EOM) CC theory. Since 2021, the functionality in \pq has expanded to include boson operators, coupled fermion-boson operators, unitary cluster operators, non-particle-conserving EOM operators, spin tracing, multiple single-particle subspaces, and more. Additional developments allow for the generation of C++ and Python code that minimizes floating-point operations via contraction order optimization, sub-expression elimination, and the fusion of similar terms.
Psi4NumPy demonstrates the use of efficient computational kernels from the open-source Psi4 program through the popular NumPy library for linear algebra in Python to facilitate the rapid development of clear, understandable Python computer code for new quantum chemical methods, while maintaining a relatively low execution time. Using these tools, reference implementations have been created for a number of methods, including self-consistent field (SCF), SCF response, many-body perturbation theory, coupled-cluster theory, configuration interaction, and symmetry-adapted perturbation theory. Furthermore, several reference codes have been integrated into Jupyter notebooks, allowing background, underlying theory, and formula information to be associated with the implementation. Psi4NumPy tools and associated reference implementations can lower the barrier for future development of quantum chemistry methods. These implementations also demonstrate the power of the hybrid C++/Python programming approach employed by the Psi4 program.
While the many-body expansion (MBE) and counterpoise treatments are commonly used to mitigate the high scaling of accurate ab initio methods, researchers may need to piece together tools and scripts if their primary chosen software does not support targeted features. To further modular software in quantum chemistry, the arbitrary-order, multiple-model-chemistry, counterpoise-enabled MBE implementation from Psi4 has been extracted into an independent, lightweight, and open-source Python module, QCManyBody, with new schema underpinning, application programming interface, and software integrations. The package caters to direct users by facilitating single-point and geometry optimization MBE calculations backed by popular quantum chemistry codes through the QCEngine runner and by defining a schema for requesting and reporting many-body computations. It also serves developers and integrators by providing minimal, composable, and extensible interfaces. The design and flexibility of QCManyBody are demonstrated via integrations with geomeTRIC, OptKing, Psi4, QCEngine, and the QCArchive project.
Abstract Quantum computing is aimed to solve tasks, which are believed to be exponentially hard to existing computational devices and tools. A prominent example of such classically hard problems is simulating complex quantum many-body systems, in particular, for quantum chemistry. However, solving realistic quantum chemistry problems with quantum computers encounters various difficulties, which are related, first, to limited computational capabilities of existing quantum devices and, second, to the efficiency of algorithmic approaches. In the present work, we address the algorithmic side of quantum chemistry applications by introducing a Python 3 code library, whose primary objective is to speed up the development of variational quantum algorithms for electronic structure problems. We describe the various features and capabilities of this library, including its ease in constructing customized versions of variational quantum algorithms. We elucidate how the developed library allows one to design quantum circuits and enable for the efficient execution of quantum algorithms. Furthermore, the library facilitates the integration of classical and quantum algorithms for hybrid computations and helps to realize the cross-verification of data with traditional computational methods, thereby enhancing the overall reliability of quantum chemistry simulations.
PyCC is a Python-based quantum chemistry package that emphasizes coupled cluster and related methods. Developed over the last five years, PyCC's purpose is to provide a clear reference implementation that will serve as a validation suite for production code, a platform for rapid prototyping and testing of new methods, and an educational resource for newcomers to the field. The package covers both closed- and open-shell single-determinant references in spatial- and spin-orbital formulations for the coupled cluster hierarchy through triples-including methods such as CC3, as well as for MP2 and CI methods. PyCC provides a broad range of molecular properties such as analytic first and second energy derivatives including gradients, Hessians, polarizabilities and atomic polar tensors, as well as non-energy-derivative properties, such as velocity-gauge atomic polar tensors and diagonal Born-Oppenheimer corrections, plus dynamic linear response functions, and excitation energies. The package includes a number of unique capabilities, such as real-time CC propagation (up through CC3), atomic axial tensors for simulating vibrational circular dichroism spectra at the MP2 and CI levels, and local correlation methods including perturbation-aware correlation domains. The code is designed around a shared Wavefunction base and a method-agnostic derivative layer that enables a new method to inherit the full property set once it supplies its reduced densities and their first-order responses. PyCC is fully open source and available on GitHub under the BSD 3-clause license.