Giter VIP home page Giter VIP logo

gftools's Introduction

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.

gftools's People

Contributors

aostlin avatar derweh avatar lgtm-migrator avatar pre-commit-ci[bot] avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

gftools's Issues

Docs render poorly

Recent docs render poorly, see e.g.

https://gftools.readthedocs.io/en/0.10.1/generated/gftool.lattice.bethe.gf_z.html

The space between the parameter name and its type is missing. Previous the version was much more readable, compare

https://gftools.readthedocs.io/en/0.10.0/generated/gftool.lattice.bethe.gf_z.html

Maybe there was some change to read the docs or its theme.

The corresponding logs are:
0.10.1: https://readthedocs.org/api/v2/build/15426406.txt
0.10.0: https://readthedocs.org/api/v2/build/14756641.txt

Another option would be trying napoleon instead of numpydoc.

Implementation of Dice lattice in GFTool

thanks for making this package as I've found the eliptic integrals for DOS very convenient. I'm wondering if you could add the "dice" lattice, dual to the Kagome to your long list of lattices?

The Hamiltonian in k-space and the resulting dispersion is given in Eq. 2 and the text beneath it of this paper. Thanks in advance!

Choice of fixed parameter is ignored in `pade_lstsq`

The implementation of pade_lstsq is incorrect, as the value of fix_q is ignored, see lgtm.

The current heuristic, however, doesn't pass the tests. Which parameter is fixed played a significant role for the accuracy of the Pade-Fourier results.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.