.. _main: ``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 :ref:`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 :ref:`installation page`. - If you are unfamiliar with the DLR, you can read the :ref:`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 :ref:`background page` for important information about the library. - To begin using ``cppdlr`` in your application, the :ref:`examples page` provides a good starting point. - If you need more specific information about ``cppdlr`` classes and functions, take a look at the :ref:`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). `_ .. _otherlibraries: Related libraries ----------------- Libraries implementing the DLR are available in other languages: - Python, via `pydlr `_ - Fortran, via `libdlr `_ - Julia, via `Lehmann.jl `_ ``cppdlr`` is also used to implement the DLR in the `Toolbox for Research on Interacting Quantum Systems (TRIQS) `_. .. toctree:: :maxdepth: 2 :caption: Contents: install.rst background.rst examples.rst documentation.rst issues.rst