Abstract
pq 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.
GRAPHICAL ABSTRACT
![](/cms/asset/df99d474-b62d-484f-9ac3-971e1709001a/tmph_a_1954709_uf0001_oc.jpg)
Disclosure statement
No potential conflict of interest was reported by the author(s).