TRIQS/TRIQS 4.0.0
Researching Interacting Quantum Systems
Loading...
Searching...
No Matches
gf_expr.hpp
#include "./gf.hpp"
#include "../../mesh/dlr_imtime.hpp"
#include "../../mesh/imtime.hpp"
#include "../../utility/concept_tools.hpp"
#include "../../utility/exceptions.hpp"
#include "../../utility/expression_template_tools.hpp"
#include <cmath>
#include <optional>
#include <ostream>
#include <type_traits>
#include <utility>

Detailed Description

Provides the lazy expression templates that fuse arithmetic operations on Green's functions.

Definition in file gf_expr.hpp.

Go to the source code of this file.

Classes

struct  triqs::gfs::gf_expr< Tag, L, R >
 Lazy expression node representing a binary operation between two Green's function operands. More...
struct  triqs::gfs::gf_unary_m_expr< L >
 Lazy expression node representing the unary minus of a Green's function operand. More...
struct  triqs::gfs::is_gf_expr< T >
 Trait to detect whether a type is a Green's function expression node. More...
struct  triqs::gfs::remove_rvalue_ref< T >
 Strip rvalue references from T while turning lvalue references into const &. More...

Functions

template<Mesh M>
void triqs::gfs::operator+= (gf_view< M > g, dcomplex a)
 In-place addition of a scalar (times the identity) to a matrix-valued Green's function.
template<Mesh M, nda::MemoryMatrix Mat>
void triqs::gfs::operator+= (gf_view< M > g, Mat const &mat)
 In-place addition of a matrix to every mesh point of a matrix-valued Green's function.
template<Mesh M>
void triqs::gfs::operator+= (gf_view< M, scalar_valued > g, dcomplex a)
 In-place addition of a scalar to a scalar-valued Green's function.
template<typename A1>
requires (GreenFunction<A1>::value)
auto triqs::gfs::operator- (A1 &&a1)
 Unary minus operator returning a lazy triqs::gfs::gf_unary_m_expr node.
template<Mesh M>
void triqs::gfs::operator-= (gf_view< M > g, dcomplex a)
 In-place subtraction of a scalar (times the identity) from a matrix-valued Green's function.
template<Mesh M, nda::MemoryMatrix Mat>
void triqs::gfs::operator-= (gf_view< M > g, Mat const &mat)
 In-place subtraction of a matrix from every mesh point of a matrix-valued Green's function.
template<Mesh M>
void triqs::gfs::operator-= (gf_view< M, scalar_valued > g, dcomplex a)
 In-place subtraction of a scalar from a scalar-valued Green's function.