TRIQS Software Stack

TRIQS is organized as a layered software stack: a set of general-purpose core libraries at the bottom, the TRIQS library with its physics-oriented containers and numerical algorithms in the middle, and a rich ecosystem of applications built on top.

Core libraries

The TRIQS library is built on a set of stand-alone core libraries providing important functionalities:

  • TRIQS/h5 : a high-level C++ interface to the hdf5 library

  • TRIQS/mpi : a high-level C++ interface to the Message Passing Interface

  • TRIQS/itertools : a C++ library to create and adapt C++ ranges

  • TRIQS/nda : a C++ library providing an efficient and flexible multi-dimensional array class

  • TRIQS/app4triqs : a skeleton project to bootstrap new TRIQS-based applications

  • flatironinstitute/cppdlr : a C++ library implementing the Discrete Lehmann Representation (DLR) of imaginary-time Green’s functions

  • flatironinstitute/c2py : a runtime library that exposes C++ types and functions to Python

  • flatironinstitute/clair : a Clang-based tool that generates the Python bindings from the C++ source (used together with c2py)

These libraries are developed and released independently and have their own documentation.

The TRIQS library

On top of the core libraries, the TRIQS library itself provides the physics-oriented building blocks used throughout the ecosystem: Green’s function containers and their meshes, second-quantization operators, lattice and tight-binding tools, exact diagonalization, Monte Carlo tools, and more. These are documented in the User guide and the API Documentation.

Numerical Algorithms

TRIQS provides implementations of advanced numerical algorithms that are directly relevant to the study of interacting quantum systems, for example:

Please cite the relevant papers when using these algorithms in your research.

Applications

Within the broader TRIQS ecosystem we provide various TRIQS applications that assemble the TRIQS library components to provide full-fledged and cutting-edge implementations of different many-body algorithms. They allow for example to solve a generic quantum impurity model or to run a complete DFT+DMFT calculation.

The TRIQS library and applications have enabled researchers to address topics as diverse as:

Various other TRIQS related research publications can be found through a targeted Google Scholar search.

The complete list of applications is provided on the following page: