TRIQS (Toolbox for Research on Interacting Quantum Systems) is a scientific software library providing various building blocks that facilitate the implementation and developement of new tools and algorithms for the study of interacting quantum systems.

TRIQS provides efficient implementations in C++ and exposes its functionality through high-level interfaces in Python. This paradigm allows our users to quickly develop new ideas and algorithms, while benefiting from the performance of a compiled language.

TRIQS started in 2005 as a collaboration between IPhT Saclay and Ecole Polytechnique, and has since seen contributions from a large number of research groups around the world. The initial publication Comput. Phys. Commun. 196 398 has been cited by more than 300 peer-reviewed publications.

TRIQS is free software distributed under the GPL license.

TRIQS applications

Within the broader TRIQS ecosystem we provide various TRIQS applications that assemble the TRIQS library components to provide full-fleged 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.

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

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.

TRIQS Community

Connect with fellow users and developers through our TRIQS Slack Workspace, where you can share insights, ask questions, and get involved in the development of TRIQS and applications. We also provide information about new software releases and events such as summer schools and our annual TRIQS Community Meeting. We look forward to welcoming you to our community!

Where to start?

First, visit our Install section to obtain the TRIQS library.

We then strongly recommend first-time users to go through the extensive set of Jupyter Notebook tutorials provided on GitHub. You can run the notebooks either in an interactive Binder Session on the web or run them locally after setting up TRIQS on your computer.

To get an overview of the main TRIQS classes and their organizations, you can browse through the ready-to-use code snippets of our User guide section.

After those steps, you will be familiar with the library and can use the complete Documentation to answer your questions.

If you experience any problem with the library, we have set up a platform for discussions with other users and developers through the Github Discussions forum. You can also post an issue on the TRIQS GitHub.

Finally, if you want to contribute to the project, please check our Contributing section.

_images/logo_cea.png _images/logo_x.png _images/logo_cnrs.png _images/logo_erc.jpg _images/logo_flatiron.png _images/logo_simons.jpg