Skip to content

DerWeh/gftools

Repository files navigation

GfTool

master Build status master Coverage master Documentation Status master
develop Build status develop Coverage develop Documentation Status

PyPI release conda-forge release DOI

Collection of commonly used Green's functions and utilities. The main purpose of this module is to have a tested and thus reliable basis to do numerics. It happened to me too often, that I just made a mistake copying the Green's function and was then wondering what was wrong with my algorithm. For example, a selection of lattice Green's functions or rather the corresponding DOSs:

Selection of DOSs

Also have a look at the tutorial to get an idea.

The main use case of GfTool was DMFT and its real space generalization, in particular using CT-QMC algorithms.

Installation

The package is available on PyPI:

$ pip install gftool

For conda users, GfTool is also available on conda-forge

$ conda install -c conda-forge gftool

Alternatively, it can be installed via GitHub. You can install it using

$ pip install https://github.com/DerWeh/gftools/archive/VERSION.zip

where VERSION can be a release (e.g. 0.5.1) or a branch (e.g. develop). (As always, it is not advised to install it into your system Python, consider using pipenv, venv, conda, pyenv, or similar tools.) Of course, you can also clone or fork the project.

If you clone the project, you can locally build the documentation:

$ pip install -r requirements-doc.txt
$ python setup.py build_sphinx

Documentation

The documentation and API is on ReadTheDocs. The documentation of specific branches can also be accessed: master doc, develop doc. There is also a GitHub page: documentation.

Currently, the package's main content is

gftool
  • Collection of non-interacting Green's functions and spectral functions, see also the lattice submodule.
  • Utility functions like Matsubara frequencies and Fermi functions.
  • Reliable calculation of particle numbers via Matsubara sums.
cpa/beb
  • Single site approximation to disorder.
  • Diagonal disorder only (CPA) and diagonal and off-diagonal (BEB).
  • Average local Green's function and component Green's functions.
fourier
  • Fourier transforms from Matsubara frequencies to imaginary time and back, including the handling of high-frequencies moments (especially important for transforms from Matsubara to imaginary time).
  • Laplace transform from real times to complex frequencies.
matrix
  • Helper for Green's functions in matrix form.
pade
  • Analytic continuation via the Padé algorithm.
    • Calculates a rational polynomial as interpolation of the data points.
    • Note: the module is out-dated, so it's not well documented at a bit awkward to use. Consider using polepade instead.
polepade
  • Analytic continuation via a pole-based variant of the Padé algorithm.
    • Based on explicit calculation of the pole in a least-squares sense.
    • Allows including uncertainties as weights.
siam
  • Basic Green's functions for the non-interacting Single Impurity Anderson model.