|
TRIQS/TRIQS 4.0.0
Researching Interacting Quantum Systems
|
Operations and utilities acting on Green's function containers.
This is a parent group collecting the building blocks of the Green's function module, organised by purpose: construction (GF factories), lazy arithmetic (GF algebra), evaluation and interpolation (GF evaluation), MPI support (GF MPI support), CLEF auto-assignment (CLEF auto-assignment), data reshaping and slicing (GF reshaping and slicing), block mapping (GF block mapping) and symmetry reduction (GF symmetries).
General utilities are placed directly in GF utilities.
Topics | |
| CLEF auto-assignment | |
| CLEF integration enabling the g(w_) << expr assignment syntax. | |
| GF MPI support | |
| MPI broadcast and reduction of Green's functions. | |
| GF algebra | |
| Lazy expression templates and arithmetic operations on Green's functions. | |
| GF block mapping | |
| Apply a function block-by-block on block Green's functions. | |
| GF evaluation | |
| Evaluation, interpolation and mesh/target introspection of Green's functions. | |
| GF factories | |
| Factory functions that construct Green's function containers. | |
| GF reshaping and slicing | |
| Reshape, flatten and slice the data of a Green's function. | |
| GF symmetries | |
| Symmetry-reduced representation of Green's functions. | |
Classes | |
| struct | triqs::gfs::is_instantiation_of< TMPLT, T > |
| Trait to detect whether a type is an instantiation of a given class template. More... | |
Typedefs | |
| template<typename G> | |
| using | triqs::gfs::block2_gf_const_view_of = block2_gf_const_view<get_mesh_t<G>, get_target_t<G>> |
| The triqs::gfs::block2_gf_const_view type matching the mesh and target of G. | |
| template<typename G> | |
| using | triqs::gfs::block2_gf_of = block2_gf<get_mesh_t<G>, get_target_t<G>> |
| The triqs::gfs::block2_gf type matching the mesh and target of G. | |
| template<typename G> | |
| using | triqs::gfs::block2_gf_view_of = block2_gf_view<get_mesh_t<G>, get_target_t<G>> |
| The triqs::gfs::block2_gf_view type matching the mesh and target of G. | |
| template<typename G> | |
| using | triqs::gfs::block_gf_const_view_of = block_gf_const_view<get_mesh_t<G>, get_target_t<G>> |
| The triqs::gfs::block_gf_const_view type matching the mesh and target of G. | |
| template<typename G> | |
| using | triqs::gfs::block_gf_of = block_gf<get_mesh_t<G>, get_target_t<G>> |
| The triqs::gfs::block_gf type matching the mesh and target of G. | |
| template<typename G> | |
| using | triqs::gfs::block_gf_view_of = block_gf_view<get_mesh_t<G>, get_target_t<G>> |
| The triqs::gfs::block_gf_view type matching the mesh and target of G. | |
| template<typename G> | |
| using | triqs::gfs::get_mesh_t = typename std::decay_t<G>::mesh_t |
| The mesh type of a block Green's function type G. | |
| template<typename G> | |
| using | triqs::gfs::get_target_t = typename std::decay_t<G>::target_t |
| The target type of a block Green's function type G. | |
| template<MemoryGf G> | |
| using | triqs::gfs::target_value_t = decltype(std::declval<G>()[std::declval<typename G::mesh_point_t>()]) |
| The type of value obtained when accessing a Green's function of type G with a mesh point. | |
Functions | |
| template<int N = 0, typename BG> requires is_block_gf_v<BG> | |
| auto const & | triqs::gfs::get_mesh (BG const &bg) |
| Get the mesh of a block Green's function, or its N-th component for a product mesh. | |
| template<int N = 0, MemoryGf G> | |
| auto const & | triqs::gfs::get_mesh (G const &g) |
| Get the mesh of a Green's function, or its N-th component for a product mesh. | |
Variables | |
| template<typename, typename = std::void_t<>> | |
| constexpr int | triqs::gfs::arity_of = -1 |
| Block arity of a type: T::arity if present, -1 otherwise. | |
| template<typename G, int n = 0> | |
| constexpr bool | triqs::gfs::is_block_gf_v = false |
| Trait to check whether a type is a block Green's function. | |
| template<typename G, typename M = void> | |
| constexpr bool | triqs::gfs::is_gf_v = false |
| Trait to check whether a type models the Green's function concept. | |
| template<template< typename... > class gf, typename T> | |
| constexpr bool | triqs::gfs::is_instantiation_of_v = is_instantiation_of<gf, std::decay_t<T>>::value |
| Variable template for triqs::gfs::is_instantiation_of, decaying the tested type first. | |
| using triqs::gfs::get_target_t = typename std::decay_t<G>::target_t |
#include <triqs/gfs/block/block_gf.hpp>
The target type of a block Green's function type G.
The target type of a Green's function type G.
Definition at line 169 of file block_gf.hpp.
| auto const & triqs::gfs::get_mesh | ( | BG const & | bg | ) |
#include <triqs/gfs/block/block_gf.hpp>
Get the mesh of a block Green's function, or its N-th component for a product mesh.
Assumes a uniform mesh across all blocks: only the 0th block (block (0,0) for a block2_gf) is inspected; the meshes of all other blocks are ignored.
Delegates to the MemoryGf overload triqs::gfs::get_mesh(G const &) for the per-block logic.
| N | Index of the mesh component to return (default 0). Ignored for non-product meshes. |
| BG | The type of the block Green's function. |
| bg | The block Green's function. |
Definition at line 158 of file block_gf.hpp.
| auto const & triqs::gfs::get_mesh | ( | G const & | g | ) |
#include <triqs/gfs/gf/gf.hpp>
Get the mesh of a Green's function, or its N-th component for a product mesh.
| N | Index of the mesh component to return (default 0). Ignored for non-product meshes. |
| G | The type of the Green's function. |
| g | The Green's function. |
|
inlineconstexpr |
#include <triqs/gfs/block/block_gf.hpp>
Trait to check whether a type is a block Green's function.
It is true if G is a triqs::gfs::block_gf or triqs::gfs::block2_gf (or a view thereof).
| G | Type to test. |
| n | Optional arity to require (0 = any, 1 = block_gf, 2 = block2_gf). |
Definition at line 119 of file block_gf.hpp.
|
inlineconstexpr |
#include <triqs/gfs/gf/gf.hpp>
Trait to check whether a type models the Green's function concept.
It is true if G (after stripping cvref-qualifiers) is one of triqs::gfs::gf, triqs::gfs::gf_view or triqs::gfs::gf_const_view.
When a second template argument M is supplied, it additionally requires the mesh type of G to be M.
| G | Type to test. |
| M | Optional mesh type to require. |
|
inlineconstexpr |
#include <triqs/gfs/gf/gf.hpp>
Variable template for triqs::gfs::is_instantiation_of, decaying the tested type first.
| gf | Class template to test against. |
| T | Type to test (cvref-qualifiers are stripped). |