/TPSC

Primary LanguagePython

TPSC

A Python library that allows the computation of Hubbard model related functions and quantities (such as the self-energy and Green's function) using the Two-Particle-Self-Consistent (TPSC) approach first described in [Vilk and Tremblay, 1997]. See additional references in the documentation.

Table of contents

Installation

This package will be soon available on PyPI. Meanwhile, you can install it by cloning this repository and using pip:

git clone https://github.com/amstremblay/TPSC
cd TPSC
pip install .

Documentation and tutorials

Online documentation is living on ReadTheDocs: https://tpsc.readthedocs.io

Documentation can also be build locally with the sources located in the docs folder. To build the documentation locally:

pip install .[docs]
cd docs
make html

You can access the documentation in your browser by opening docs/build/html/index.html.

Examples

The examples/ directory contains some examples for you to experiment with and get familiar with different use cases.

The quickest way to start doing calculations using TPSC is to call the TPSC executable from the command line and provide input parameters in a JSON para.json file (see the examples directory):

TPSC para.json

TPSC could also be use in Python scripts for a finner control over input parameters or to post-process the results of TPSC calculations such as plotting observables.

Tests

The tests folder provides automated tests that can be run to ensure TPSC is behaving correctly on your system. To run the tests:

pip install .[tests]
cd tests
pytest

Every test should pass. If not, please create an issue with the output of the above code and a description of your system.

Citations

See About_TPSC.rst

TODO

  • Release on PyPi
  • Automated tests with pytest
  • More examples
  • Inclure TPSC+ ?
  • Inclure binding avec TRIQS ?

License and citation

This software is released under the MIT License. See LICENSE.txt for details.

If you find the intermediate representation, sparse sampling, or this software useful in your research, please consider citing the following papers:

Hiroshi Shinaoka et al., Phys. Rev. B 96, 035147 (2017) Jia Li et al., Phys. Rev. B 101, 035144 (2020) Markus Wallerberger et al., SoftwareX 21, 101266 (2023) If you are discussing sparse sampling in your research specifically, please also consider citing an independently discovered, closely related approach, the MINIMAX isometry method (Merzuk Kaltak and Georg Kresse, Phys. Rev. B 101, 205145, 2020).