cppdlr: Imaginary time calculations using the discrete Lehmann representation

cppdlr is a C++ library implementing the discrete Lehmann representation (DLR) of imaginary time single-particle Green’s functions and other imaginary time quantities, including standard operations. It can be downloaded from GitHub.

The DLR has been implemented in other programming languages (see the related libraries below). cppdlr offers a particularly simple high-level user interface, enabled by the use of C++ templating and the nda library for array types and BLAS/LAPACK compatibility. This facilitates its use both in small-scale applications and in existing large-scale software projects such as the TRIQS library for quantum many-body calculations, which has incorporated the DLR via cppdlr.

Getting started

  • Install the library by following the instructions on the installation page.
  • If you are unfamiliar with the DLR, you can read the background page for a brief introduction, or the references below for more detail. If you are familiar with the DLR, you should still take a brief look at the background page for important information about the library.
  • To begin using cppdlr in your application, the examples page provides a good starting point.
  • If you need more specific information about cppdlr classes and functions, take a look at the reference documentation page.

References

If you use cppdlr in your software or published research works, please mention this, and cite the following references. Citations help to encourage the development and maintainence of open-source scientific software.