_images/logo_shadow.png

What is QuantNBody ?

The QuantNBody package is a Python toolkit for quantum chemists/physicists interested in methods development to study quantum many-body problems ranging from electronic structure to condensed matter theory. It provides a quick and easy way to build matrix representations of bosonic and fermionic quantum many-body operators (e.g. Hamiltonians, spin or excitation operators) and get access to quantities/objects of interest (e.g. energies, reduced density matrices, many-body wavefunctions). The code includes various native functions and it is flexible enough to help users in building their own numerical tools to implement new methods.

Note

QuantNBody: a package for whom ? 🧐

alternate text

A research-friendly package: with QuantNBody, we want to facilitate the implementation of quantum many-body systems composed of fermions or bosons for theoretical research and method developments. It provides a quick and easy way to build many-body operators and wavefunctions and get access to quantities and objects of interest (in a few python lines).

alternate text

A teaching-friendly package: with QuantNBody, we want to provide a tool to help teach theoretical concepts in chemistry and physics associated with quantum many-body systems. Indeed, we believe that this package can be useful for pedagogical purposes and to help illustrate numerical methods for fermionic or bosonic systems.

Brief illustration of what is possible

Beyond this, the QuantNBody package has also been designed to provide flexibility to experimented users to develop their own tools to implement/test their own methods. We provide below a non-exhaustive list of the various possibilities offered by the package:

  • Visualizing the structure of any wavefunction in a given many-body basis (for fermionic and bosonic systems)

  • Building 1-body, 2-body (…) reduced density matrices (for fermionic and bosonic systems)

  • Building Spin operators \(\hat{S}^2, \hat{S}_Z, \hat{S}_+\) expressed in a many-body basis (for fermionic system)

  • Building model Hamiltonians \(\hat{H}\) (e.g. Bose-Hubbard, Fermi-Hubbard)

  • Building molecular ab initio Hamiltonians \(\hat{H}\) (Psi4 provides the electronic integrals)

Below we show some results one can produce with QuantNBody for the hydrogen molecule, a Fermi-Hubbard dimer and a Bose-Hubbard dimer. To generate these data, the package was used to code (from scratch) each many-body Hamiltonian and to analyze their associated groundstate \(|\Psi_0\rangle\).

_images/figure_fermion.png

Left column: Ground state energy and many-body decomposition of the hydrogen molecule groundstate in a minimal basis (STO-3G). Right column: similar properties for the Fermi-Hubbard dimer as a function of the on-site repulsion U (2 electrons on 2 sites).

_images/figure_boson.png

Left column: Bose-Hubbard dimer with two bosons. Right column: ground state energy and many-body decomposition for the Bose-Hubbard dimer as a function of the on-site repulsion U.

Note

To illustrate how to use the package, several tutorials are shown in the section ‘’Tutorials and examples’’.

How to contribute

We’d love to accept your contributions and patches to QuantNBody. There are a few small guidelines you need to follow.

All submissions require review. We use GitHub pull requests for this purpose. Consult GitHub Help for more information on using pull requests. Furthermore, please make sure your new code comes with documentation.

Support

If you are having issues, please let us know by posting the issue on our Github issue tracker.