Skip to content
/ NQFT Public

This repository presents my journey through numerical methods in the context of materials endowed with strongly correlated electrons.

License

Notifications You must be signed in to change notification settings

BCarnaval/NQFT

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NQFT (Numerical Quantum Field Theory)


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.

This repository presents my journey through numerical methods in the context of materials endowed with strongly correlated electrons. There are various many-body numerical methods and some of them such as (CDMFT, VMC, etc.) will be introduced in this project.

Python LaTeX Shell Script Rust

Table of contents

Requirements

Poetry (optionnal)

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.

Project dependencies

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

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.

Documentation

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

Footnotes

  1. Except here for one library named pyqcm. It needs a specific installation because it isn't published on PyPI yet so Poetry isn't able to access it via global pip install. 2

About

This repository presents my journey through numerical methods in the context of materials endowed with strongly correlated electrons.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published