TRIQS/TRIQS 4.0.0
Researching Interacting Quantum Systems
Loading...
Searching...
No Matches
dlr.hpp
#include "../gf/flatten.hpp"
#include "../gf/gf.hpp"
#include "../block/block_gf.hpp"
#include "../../utility/exceptions.hpp"
#include "../../utility/tuple_tools.hpp"
#include "../../mesh/dlr.hpp"
#include "../../mesh/dlr_imfreq.hpp"
#include "../../mesh/dlr_imtime.hpp"
#include "../../mesh/imfreq.hpp"
#include "../../mesh/imtime.hpp"
#include "../../mesh/prod.hpp"
#include <array>
#include <cmath>
#include <vector>

Detailed Description

Provides conversions between Green's functions and the Discrete Lehmann Representation (DLR).

Definition in file dlr.hpp.

Go to the source code of this file.

Functions

template<int = 0, typename G>
requires (MemoryGf<G> or is_block_gf_v<G>)
double triqs::gfs::find_w_max (G const &g, double eps=1e-10, bool symmetrize=true, double w_max_init=1.0, double w_max_max=200.0)
 Find a DLR energy cutoff \( \omega_{\mathrm{max}} \) that reproduces an imfreq Green's function within tolerance eps after a DLR round-trip.
template<int N = 0, int... Ns, typename G>
requires (MemoryGf<G> or is_block_gf_v<G>)
auto triqs::gfs::fit_gf_dlr (G const &g, double w_max, double eps, bool symmetrize=true)
 Fit an imaginary-time Green's function with a Discrete Lehmann Representation.
template<int N = 0, int... Ns, typename G>
requires (MemoryGf<G> or is_block_gf_v<G>)
auto triqs::gfs::fit_gf_dlr (G const &g, mesh::dlr const &dlr_mesh)
 Fit an imaginary-time Green's function on a given DLR coefficient mesh.
template<int N = 0, int... Ns, typename G>
requires (MemoryGf<G> or is_block_gf_v<G>)
auto triqs::gfs::make_gf_dlr (G const &g)
 Transform a DLR imaginary-time or DLR Matsubara Green's function to its DLR-coefficient representation.
template<int N = 0, int... Ns, typename G>
requires (MemoryGf<G> or is_block_gf_v<G>)
auto triqs::gfs::make_gf_dlr_imfreq (G const &g)
 Build a DLR Matsubara Green's function from a DLR-coefficient or DLR-imaginary-time input.
template<int N = 0, int... Ns, typename G>
requires (MemoryGf<G> or is_block_gf_v<G>)
auto triqs::gfs::make_gf_dlr_imfreq (G const &g, double w_max, double eps, bool symmetrize=true)
 Sample an imaginary frequency Green's function on the DLR Matsubara frequency nodes defined by (w_max, eps, symmetrize).
template<int N = 0, int... Ns, typename G>
requires (MemoryGf<G> or is_block_gf_v<G>)
auto triqs::gfs::make_gf_dlr_imtime (G const &g)
 Build a DLR imaginary-time Green's function from a DLR-coefficient or DLR-Matsubara input.
template<int N = 0, int... Ns, typename G>
requires (MemoryGf<G> or is_block_gf_v<G>)
auto triqs::gfs::make_gf_imfreq (G const &g, long n_iw)
 Build a uniform Matsubara Green's function from any DLR representation.
template<int N = 0, int... Ns, typename G>
requires (MemoryGf<G> or is_block_gf_v<G>)
auto triqs::gfs::make_gf_imtime (G const &g, long n_tau)
 Build a uniform imaginary-time Green's function from any DLR representation.
template<typename G>
requires (MemoryGf<G> or is_block_gf_v<G>)
auto triqs::gfs::tau_L2_norm (G const &g)
 Calculate the \( L^2 \) norm of a DLR Green's function.