TRIQS/TRIQS 4.0.0
Researching Interacting Quantum Systems
Loading...
Searching...
No Matches
Block Green's functions

Detailed Description

Block-diagonal Green's function containers.

Many physical problems are naturally block-diagonal (e.g. in spin or orbital sectors). triqs::gfs::block_gf and its view triqs::gfs::block_gf_view represent a vector of Green's functions grouped into named blocks, while triqs::gfs::block2_gf and triqs::gfs::block2_gf_view provide the two-index analogue. The block structure of a Green's function is described by triqs::gfs::gf_struct_t.

Classes

class  triqs::gfs::block_gf< Mesh, Target, Layout, Arity >
 The owning block Green's function container. More...
class  triqs::gfs::block_gf_view< Mesh, Target, Layout, Arity, IsConst >
 A non-owning view of a block Green's function. More...

Typedefs

template<typename Mesh, typename Target = matrix_valued, typename Layout = nda::C_layout>
using triqs::gfs::block2_gf = block_gf<Mesh, Target, Layout, 2>
 Owning two-index block Green's function (a matrix of blocks).
template<typename Mesh, typename Target = matrix_valued, typename Layout = nda::C_stride_layout>
using triqs::gfs::block2_gf_const_view = block_gf_view<Mesh, Target, Layout, 2, true>
 Const view of a two-index block Green's function.
template<typename Mesh, typename Target = matrix_valued, typename Layout = nda::C_stride_layout>
using triqs::gfs::block2_gf_view = block_gf_view<Mesh, Target, Layout, 2, false>
 Mutable view of a two-index block Green's function.
template<typename Mesh, typename Target = matrix_valued, typename Layout = nda::C_stride_layout, int Arity = 1>
using triqs::gfs::block_gf_const_view = block_gf_view<Mesh, Target, Layout, Arity, true>
 Const view alias for a block Green's function.
using triqs::gfs::gf_struct_t = std::vector<std::pair<std::string, long>>
 Type describing the structure of a block Green's function.

Typedef Documentation

◆ block2_gf

template<typename Mesh, typename Target = matrix_valued, typename Layout = nda::C_layout>
using triqs::gfs::block2_gf = block_gf<Mesh, Target, Layout, 2>

#include <triqs/gfs/block/block_gf.hpp>

Owning two-index block Green's function (a matrix of blocks).

Template Parameters
MeshMesh type of each block.
TargetTarget type of each block.
LayoutMemory layout policy of each block.

Definition at line 70 of file block_gf.hpp.

◆ block2_gf_const_view

template<typename Mesh, typename Target = matrix_valued, typename Layout = nda::C_stride_layout>
using triqs::gfs::block2_gf_const_view = block_gf_view<Mesh, Target, Layout, 2, true>

#include <triqs/gfs/block/block_gf.hpp>

Const view of a two-index block Green's function.

Template Parameters
MeshMesh type of each block.
TargetTarget type of each block.
LayoutMemory layout policy of each block.

Definition at line 92 of file block_gf.hpp.

◆ block2_gf_view

template<typename Mesh, typename Target = matrix_valued, typename Layout = nda::C_stride_layout>
using triqs::gfs::block2_gf_view = block_gf_view<Mesh, Target, Layout, 2, false>

#include <triqs/gfs/block/block_gf.hpp>

Mutable view of a two-index block Green's function.

Template Parameters
MeshMesh type of each block.
TargetTarget type of each block.
LayoutMemory layout policy of each block.

Definition at line 81 of file block_gf.hpp.

◆ block_gf_const_view

template<typename Mesh, typename Target = matrix_valued, typename Layout = nda::C_stride_layout, int Arity = 1>
using triqs::gfs::block_gf_const_view = block_gf_view<Mesh, Target, Layout, Arity, true>

#include <triqs/gfs/block/block_gf.hpp>

Const view alias for a block Green's function.

Template Parameters
MeshMesh type of each block.
TargetTarget type of each block.
LayoutMemory layout policy of each block.
ArityNumber of block indices.

Definition at line 60 of file block_gf.hpp.

◆ gf_struct_t

using triqs::gfs::gf_struct_t = std::vector<std::pair<std::string, long>>

#include <triqs/gfs/block/gf_struct.hpp>

Type describing the structure of a block Green's function.

Each entry is a pair (block name, block size); the list of entries defines the blocks of a triqs::gfs::block_gf and the matrix size of each block.

Definition at line 41 of file gf_struct.hpp.