TRIQS/TRIQS 4.0.0
Researching Interacting Quantum Systems
Loading...
Searching...
No Matches
Imaginary time and frequency meshes

Detailed Description

Mesh types for imaginary time and frequency domains.

Topics

 Matsubara frequencies
 Tools to represent and manipulate Matsubara frequencies.

Classes

class  triqs::mesh::chebyshev
 Chebyshev imaginary time mesh type. More...
class  triqs::mesh::dlr_imfreq
 Imaginary frequency discrete Lehmann representation (DLR) mesh type. More...
class  triqs::mesh::dlr_imtime
 Imaginary time discrete Lehmann representation (DLR) mesh type. More...
class  triqs::mesh::imfreq
 Imaginary frequency mesh type. More...
class  triqs::mesh::imtime
 Imaginary time mesh type. More...

Functions

auto triqs::mesh::evaluate (chebyshev const &m, auto const &f, double tau)
 Barycentric interpolation of a function \( f \) at an imaginary time point \( \tau \in [0, \beta] \).
double triqs::mesh::evaluate (dlr_imfreq const &m,...)=delete
 Evaluating a function \( f \) at a given Matsubara frequency \( i\omega_n \) is deleted for triqs::mesh::dlr_imfreq meshes.
double triqs::mesh::evaluate (dlr_imtime const &m,...)=delete
 Evaluating a function \( f \) at a given imaginary time point \( \tau \in [0, \beta] \) is deleted for triqs::mesh::dlr_imtime meshes.
auto triqs::mesh::evaluate (imfreq const &m, auto const &f, matsubara_freq const &iw)
 Evaluate a function \( f \) defined on a triqs::mesh::imfreq mesh at a given Matsubara frequency \(i\omega_n\).
auto triqs::mesh::evaluate (imtime const &m, auto const &f, double tau)
 Linear interpolation of a function \( f \) defined on a triqs::mesh::imtime mesh at an imaginary time point \( \tau \in [0, \beta] \).
dlr_imtime triqs::mesh::make_adjoint_mesh (dlr_imfreq const &m)
 Create the adjoint imaginary-time DLR mesh to a given imaginary-frequency DLR mesh.
dlr_imfreq triqs::mesh::make_adjoint_mesh (dlr_imtime const &m)
 Create the adjoint imaginary-frequency DLR mesh to a given imaginary-time DLR mesh.
imtime triqs::mesh::make_adjoint_mesh (imfreq const &m, long n_tau=-1)
 Create the adjoint imaginary-time mesh to a given imaginary-frequency mesh.
imfreq triqs::mesh::make_adjoint_mesh (imtime const &m, long n_iw=-1)
 Create the adjoint imaginary-frequency mesh to a given imaginary-time mesh.

Function Documentation

◆ evaluate() [1/3]

auto triqs::mesh::evaluate ( chebyshev const & m,
auto const & f,
double tau )
inline

#include <triqs/mesh/chebyshev.hpp>

Barycentric interpolation of a function \( f \) at an imaginary time point \( \tau \in [0, \beta] \).

Uses the barycentric interpolation formula:

\[ f(\tau) = \frac{\sum_{i=0}^{N-1} \frac{w_i}{x - x_i} f_i}{\sum_{i=0}^{N-1} \frac{w_i}{x - x_i}} \]

where \( x = 2\tau/\beta - 1 \) is the scaled coordinate, \( x_i \) are the Chebyshev points, \( w_i \) are the barycentric weights, and \( f_i = f(i) \) are the function values.

Parameters
mtriqs::mesh::chebyshev mesh.
fCallable object \( f \) containing the function values \( f_n = f(\tau_n) \) at the mesh points.
tauImaginary time point \( \tau \in [0, \beta] \) at which to interpolate the function.
Returns
Barycentric interpolation of \( f(\tau) \).

Definition at line 459 of file chebyshev.hpp.

◆ evaluate() [2/3]

auto triqs::mesh::evaluate ( imfreq const & m,
auto const & f,
matsubara_freq const & iw )

#include <triqs/mesh/imfreq.hpp>

Evaluate a function \( f \) defined on a triqs::mesh::imfreq mesh at a given Matsubara frequency \(i\omega_n\).

Parameters
mtriqs::mesh::imfreq mesh.
fCallable object \( f \) containing the function values \( f_n = f(i\omega_n) \) at the mesh points.
iwtriqs::mesh::matsubara_freq \( i\omega_n \) at which to evaluate the function.
Returns
Function value \( f(i\omega_n) \).

Definition at line 470 of file imfreq.hpp.

◆ evaluate() [3/3]

auto triqs::mesh::evaluate ( imtime const & m,
auto const & f,
double tau )

#include <triqs/mesh/imtime.hpp>

Linear interpolation of a function \( f \) defined on a triqs::mesh::imtime mesh at an imaginary time point \( \tau \in [0, \beta] \).

It simply calls the triqs::mesh::imtime::evaluate method of the mesh.

Parameters
mtriqs::mesh::imtime mesh.
fCallable object \( f \) containing the function values \( f_n = f(\tau(n)) \) at the mesh points.
tauImaginary time point \( \tau \) at which to interpolate the function.
Returns
Linear interpolation of \( f(\tau) \).

Definition at line 178 of file imtime.hpp.

◆ make_adjoint_mesh() [1/4]

dlr_imtime triqs::mesh::make_adjoint_mesh ( dlr_imfreq const & m)
inlinenodiscard

#include <triqs/mesh/adjoint.hpp>

Create the adjoint imaginary-time DLR mesh to a given imaginary-frequency DLR mesh.

It constructs the imaginary-time DLR mesh from the given imaginary-frequency DLR mesh.

Parameters
mInput mesh.
Returns
Imaginary time DLR mesh.

Definition at line 92 of file adjoint.hpp.

◆ make_adjoint_mesh() [2/4]

dlr_imfreq triqs::mesh::make_adjoint_mesh ( dlr_imtime const & m)
inlinenodiscard

#include <triqs/mesh/adjoint.hpp>

Create the adjoint imaginary-frequency DLR mesh to a given imaginary-time DLR mesh.

It constructs the imaginary-frequency DLR mesh from the given imaginary-time DLR mesh.

Parameters
mInput mesh.
Returns
Imaginary frequency DLR mesh.

Definition at line 81 of file adjoint.hpp.

◆ make_adjoint_mesh() [3/4]

imtime triqs::mesh::make_adjoint_mesh ( imfreq const & m,
long n_tau = -1 )
inlinenodiscard

#include <triqs/mesh/adjoint.hpp>

Create the adjoint imaginary-time mesh to a given imaginary-frequency mesh.

If \( N = -1 \), the size of the imaginary time mesh is set to \( N = 6 (n_{\text{max}} + 1) + 1 \), where \( n_{\text{max}} \) is the largest positive Matsubara index in the given imaginary frequency mesh.

Parameters
mInput mesh.
n_tauSize of the imaginary time mesh.
Returns
Imaginary time mesh with the same \( \beta \) and particle statistics as the given imaginary frequency mesh and size \( N \).

Definition at line 67 of file adjoint.hpp.

◆ make_adjoint_mesh() [4/4]

imfreq triqs::mesh::make_adjoint_mesh ( imtime const & m,
long n_iw = -1 )
inlinenodiscard

#include <triqs/mesh/adjoint.hpp>

Create the adjoint imaginary-frequency mesh to a given imaginary-time mesh.

If \( N_{i\omega_n} = -1 \), the number of positive Matsubara frequencies is set to \( N_{i\omega_n} = N / 6 \), where \( N \) is the size of the given imaginary time mesh.

Parameters
mInput mesh.
n_iwNumber of positive Matsubara frequencies, i.e. \( N_{i\omega_n} \).
Returns
Imaginary frequency mesh with the same \( \beta \) and particle statistics as the given imaginary time mesh and \( N_{i\omega_n} \) positive Matsubara frequencies.

Definition at line 50 of file adjoint.hpp.