master | |||
develop |
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:
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.
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
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.
- Analytic continuation via the Padé algorithm.
- 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.
- Analytic continuation via a pole-based variant of the Padé algorithm.
- siam
- Basic Green's functions for the non-interacting Single Impurity Anderson model.