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.
- The original reference on the DLR: J. Kaye, K. Chen, O. Parcollet, “Discrete Lehmann representation of imaginary time Green’s functions”, Phys. Rev. B, 105, 235115 (2022). [arXiv:2107.13094]
- The companion paper to
cppdlr
: J. Kaye, H. U. R. Strand, N. Wentzell, “cppdlr: Imaginary time calculations using the discrete Lehmann representation”, arXiv:2404.02334 (2024).