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

Detailed Description

Mesh types for real time and frequency domains.

Classes

class  triqs::mesh::refreq
 Real frequency mesh type. More...
class  triqs::mesh::refreq_log
 Logarithmic real frequency mesh type. More...
class  triqs::mesh::refreq_pts
 Real frequency mesh type from arbitrary sorted frequency points. More...
class  triqs::mesh::retime
 Real time mesh type. More...

Functions

auto triqs::mesh::evaluate (refreq const &m, auto const &f, double w)
 Linear interpolation of a function \( f \) defined on a triqs::mesh::refreq mesh at a real frequency \(\omega \in [\omega_{\text{min}}, \omega_{\text{max}}] \).
auto triqs::mesh::evaluate (refreq_log const &m, auto const &f, double w)
 Linear interpolation of a function \( f \) defined on a triqs::mesh::refreq_log mesh at a real frequency \( \omega \).
auto triqs::mesh::evaluate (refreq_pts const &m, auto const &f, double w)
 Linear interpolation of a function \( f \) defined on a triqs::mesh::refreq_pts mesh at a real frequency \( \omega \).
auto triqs::mesh::evaluate (retime const &m, auto const &f, double t)
 Linear interpolation of a function \( f \) defined on a triqs::mesh::retime mesh at a real time point \(t \in [t_{\mathrm{min}}, t_{\mathrm{max}}] \).
retime triqs::mesh::make_adjoint_mesh (refreq const &m, bool shift_half_bin=false)
 Create the adjoint real-time mesh to a given real-frequency mesh.
refreq triqs::mesh::make_adjoint_mesh (retime const &m, bool shift_half_bin=false)
 Create the adjoint real-frequency mesh to a given real-time mesh.

Function Documentation

◆ evaluate() [1/4]

auto triqs::mesh::evaluate ( refreq const & m,
auto const & f,
double w )

#include <triqs/mesh/refreq.hpp>

Linear interpolation of a function \( f \) defined on a triqs::mesh::refreq mesh at a real frequency \(\omega \in [\omega_{\text{min}}, \omega_{\text{max}}] \).

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

Parameters
mtriqs::mesh::refreq mesh.
fCallable object \( f \) containing the function values \( f_n = f(\omega(n)) \) at the mesh points.
wReal frequency \( \omega \) at which to interpolate the function.
Returns
Linear interpolation of \( f(\omega) \).

Definition at line 150 of file refreq.hpp.

◆ evaluate() [2/4]

auto triqs::mesh::evaluate ( refreq_log const & m,
auto const & f,
double w )
inline

#include <triqs/mesh/refreq_log.hpp>

Linear interpolation of a function \( f \) defined on a triqs::mesh::refreq_log mesh at a real frequency \( \omega \).

We find the bracketing mesh points using binary search and calculate

\[ f(\omega) \approx f_{i_l} \cdot w_l + f_{i_r} \cdot w_r \]

where \( i_l \) and \( i_r \) are the indices of the mesh points bracketing \( \omega \), and \( w_l \) and \( w_r \) are the interpolation weights.

Parameters
mtriqs::mesh::refreq_log mesh.
fCallable object containing the function values at the mesh points.
wReal frequency at which to interpolate.
Returns
Linear interpolation of \( f(\omega) \).

Definition at line 401 of file refreq_log.hpp.

◆ evaluate() [3/4]

auto triqs::mesh::evaluate ( refreq_pts const & m,
auto const & f,
double w )
inline

#include <triqs/mesh/refreq_pts.hpp>

Linear interpolation of a function \( f \) defined on a triqs::mesh::refreq_pts mesh at a real frequency \( \omega \).

We find the bracketing mesh points using binary search and calculate

\[ f(\omega) \approx f_{i_l} \cdot w_l + f_{i_r} \cdot w_r \]

where \( i_l \) and \( i_r \) are the indices of the mesh points bracketing \( \omega \), and \( w_l \) and \( w_r \) are the interpolation weights.

Parameters
mtriqs::mesh::refreq_pts mesh.
fCallable object containing the function values at the mesh points.
wReal frequency at which to interpolate.
Returns
Linear interpolation of \( f(\omega) \).

Definition at line 370 of file refreq_pts.hpp.

◆ evaluate() [4/4]

auto triqs::mesh::evaluate ( retime const & m,
auto const & f,
double t )

#include <triqs/mesh/retime.hpp>

Linear interpolation of a function \( f \) defined on a triqs::mesh::retime mesh at a real time point \(t \in [t_{\mathrm{min}}, t_{\mathrm{max}}] \).

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

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

Definition at line 145 of file retime.hpp.

◆ make_adjoint_mesh() [1/2]

retime triqs::mesh::make_adjoint_mesh ( refreq const & m,
bool shift_half_bin = false )
inlinenodiscard

#include <triqs/mesh/adjoint.hpp>

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

The resulting time mesh is defined on the interval \( [t_{\text{min}}, t_{\text{max}}] \) with \( t_{\text{max}} = \pi (N - 1) / (N \Delta) \) and \( t_{\text{min}} = -t_{\text{max}} \), where \( N \) and \( \Delta \) are the size and step size of the given real frequency mesh, respectively.

If shift_half_bin is true, the time mesh is shifted by half a bin to the right, i.e. by \( \pi / (N \Delta) \).

Parameters
mInput mesh.
shift_half_binIf true, shift the time mesh by half a bin to the right.
Returns
Real time mesh on the interval \( [t_{\text{min}}, t_{\text{max}}] \) with \( N \) equally spaced mesh points.

Definition at line 133 of file adjoint.hpp.

◆ make_adjoint_mesh() [2/2]

refreq triqs::mesh::make_adjoint_mesh ( retime const & m,
bool shift_half_bin = false )
inlinenodiscard

#include <triqs/mesh/adjoint.hpp>

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

The resulting frequency mesh is defined on the interval \( [\omega_{\text{min}}, \omega_{\text{max}}] \) with \( \omega_{\text{max}} = \pi (N - 1) / (N \Delta) \) and \( \omega_{\text{min}} = -\omega_{\text{max}} \), where \( N \) and \( \Delta \) are the size and step size of the given real time mesh, respectively.

If shift_half_bin is true, the frequency mesh is shifted by half a bin to the right, i.e. by \( \pi / (N \Delta) \).

Parameters
mInput mesh.
shift_half_binIf true, shift the frequency mesh by half a bin to the right.
Returns
Real frequency mesh on the interval \( [\omega_{\text{min}}, \omega_{\text{max}}] \) with \( N \) equally spaced mesh points.

Definition at line 110 of file adjoint.hpp.