A few remarks

In the following QuantNBody tutorials, we will detail how the package can be used in practice to manipulate and create many-body operators and wavefunctions for fermionic and bosonic systems. We encourage new users to follow the tutorials in the following order:

Tuto 1: first steps with the package

This tutorial explains the basics of the QuantNBody package. Focusing on fermionic systems, we explain how the encoding of a many-body basis is realized in practice in the code (spin orbitals occupied by electrons). We also detail how we encode the single-body hopping operators. The latter being a central tool for the creation of any particle number conserving operators later on.

Tuto 2: playing with many-body wavefunctions

This second tutorial illustrates how to easily manipulate many-body states. Here we detail how to create our own state (step by step) with native functions from QuantNBody. We also show how to apply excitation on these states in order to modify them and also how to visualize the resulting decomposition in the many-body basis.

Tuto 3: electronic structure Hamiltonian and spin operators

This third tutorial focuses on the construction of different spin operators (e.g. \(\hat{S}_2\)) and ab initio electronic structure Hamiltonians. We show here how to easily build both types of operator. Furthermore, we demonstrate how to combine these operators together to find specific eigenstates with a desired spin symmetry and compare the results to Psi4.

Tuto 4: the Bose-Hubbard system

For those interested in bosonic systems, we describe here equivalent features/functions to build operators, see and manipulate wavefunctions.

Tuto 5: definition of hybrid fermions-bosons systems

This fifth tutorial introduces the (new !) extension of the QuantNBody package to the computation of a hybrid “fermions+bosons” many-body basis. We show here how to encode fermionic and bosonic operators respectively, in this new hybrid many-body basis. We also present tools to build and visualize hybrid fermion-boson wavefunctions.

Tuto 6: Holstein and polaritonic systems

This last tutorial is an application of the hybrid “fermion-boson” tools to encode both Holstein and polaritonic-QED Hamiltonians. Some observables, such as the time-dependent populations of fermionic orbitals and bosonic modes (in the Holstein example) or optical spectra (in the QED system), are also computed.

Enjoy the tutorials ! 😉 👍

Note

In addition to what is presented here, we refer the interested user to our Github page where we provide a series of Jupyter-notebooks and Python scripts illustrating different types of many-body calculations. All these methods are implemented from scratch with the QuantNBody packages. The folders are named according to the type of system used as a study case: