Fig.1 - Hall number as a function of hole doping (left) using the non-interacting model. (right) using 'diamond' filter on spectral weight to simulate Fermi arcs.
In order to use this repository swimmingly, Python package manager Poetry is recommended. It provides a easy dependencies managing for Python projects and gives user the ability of updating packages, build the project and even publish it on PyPI. Users having Unix based OS can install it via
curl -sSL https://install.python-poetry.org | python3 -
that obviously depends on Python3. Then, to create/sync your current environnement with the project dependencies using pyproject.toml
and poery.lock
files, you can simply use
poetry install
and Poetry will automatically create a Python virtual environnement including all1 the packages needed for the project to be functionnal.
If Poetry doesn't feel quite good, you can also install all1 dependencies in your personnal virtual environnement (or on your global Python installation...) with the "old way" using the requirements.txt
file present in the root of the repository. The command
pip install -r requirements.txt
should do the work! However, you must keep in mind that it's harder to stay up to date with the libraries by using this "old way" because you would need to reinstall every library independently then overwrite the requirements.txt
whereas Poetry takes care of everything.
pyqcm is a python module that interfaces with a library written in C++: qcm. This library provide a collection of functions that help implement quantum cluster methods. Specifically, it provides an exact diagonalization solver for small clusters on which a Hubbard-like model is defined and provides functions to define infinite-lattice models and to embed the clusters into the lattice via Cluster Pertrubation Theory (CPT). Methods like the Variational Cluster Approximation (VCA) and Cluster Dynamical Mean Field Theory (CDMFT) are then implemented from qcm by the pyqcm module, which is written in Python only.
- David Sénéchal
This library is the numeric and algorithmic core of this repository. It has been written by the unswerving hands of David Sénéchal, teacher at Université de Sherbrooke since 1992.
To access documentation about the Python functions used in this repository, you can use the makefile
by calling
make pdf
This command will generate a .pdf containing ./NQFT/nqft
submodules documentation whereas the command
make html
generates an html page containing the same documentation but with a slightly different format such as