TRIQS/triqs_modest 3.3.0
Modular Electronic Structure Toolkit
Loading...
Searching...
No Matches
Analyze Green's functions

Detailed Description

Methods to analyze the degenerate blocks of a Green's function and use those blocks to symmetrize the Green's function object.

Functions

template<typename Mesh>
std::vector< std::vector< long > > triqs::modest::analyze_degenerate_blocks (block_gf< Mesh, matrix_valued > const &Gimp, double threshold=1.e-5)
 Find the generate blocks of a block GF by analyzing \( G(\tau=0) \) or \( G(i\omega_0) \) using the union-find algorithm.
template<typename Mesh>
block_gf< Mesh, matrix_valued > triqs::modest::symmetrize (block_gf< Mesh, matrix_valued > const &g, std::vector< std::vector< long > > deg_bls)
 Symmetrize the blocks of a block Green's function given a list of it's degenerate blocks.
template<typename Mesh>
gf< Mesh, matrix_valued > triqs::modest::symmetrize (gf< Mesh, matrix_valued > const &g, std::vector< std::vector< long > > deg_bls)
 Symmetrize the blocks of a block Green's function given a list of it's degenerate blocks.
std::vector< nda::matrix< dcomplex > > triqs::modest::symmetrize (std::vector< nda::matrix< dcomplex > > const &bl_mat, std::vector< std::vector< long > > deg_bls)
 Symmetrize the blocks of a block matrix given a list of it's degenerate blocks.

Function Documentation

◆ analyze_degenerate_blocks()

template<typename Mesh>
std::vector< std::vector< long > > triqs::modest::analyze_degenerate_blocks ( block_gf< Mesh, matrix_valued > const & Gimp,
double threshold = 1.e-5 )

#include <triqs_modest/degenerate_blocks.hpp>

Find the generate blocks of a block GF by analyzing \( G(\tau=0) \) or \( G(i\omega_0) \) using the union-find algorithm.

We use the union-find algorithm to group the blocks of the block GF (matrices) into equivalence classes based on approximate numerical equality. If two matrices are approximately equal, their blocks are united into the same set. The final result is a partitioning of the blocks (matrices) into degenerate groups.

Template Parameters
MeshThe mesh type.
Parameters
GimpBlock Green's function.
thresholdTolerance for equivalent of blocks.
Returns
A list of equivalent blocks.

Definition at line 28 of file degenerate_blocks.hpp.

◆ symmetrize() [1/3]

template<typename Mesh>
block_gf< Mesh, matrix_valued > triqs::modest::symmetrize ( block_gf< Mesh, matrix_valued > const & g,
std::vector< std::vector< long > > deg_bls )

#include <triqs_modest/degenerate_blocks.hpp>

Symmetrize the blocks of a block Green's function given a list of it's degenerate blocks.

Average the degenerate blocks and replace the degenerate ones with their average.

Template Parameters
MeshThe mesh type.
Parameters
gBlock Green's function.
deg_blsA list of the degenerate blocks.
Returns
The symmetrized Green's function.

Definition at line 78 of file degenerate_blocks.hpp.

◆ symmetrize() [2/3]

template<typename Mesh>
gf< Mesh, matrix_valued > triqs::modest::symmetrize ( gf< Mesh, matrix_valued > const & g,
std::vector< std::vector< long > > deg_bls )

#include <triqs_modest/degenerate_blocks.hpp>

Symmetrize the blocks of a block Green's function given a list of it's degenerate blocks.

Average the degenerate blocks and replace the degenerate ones with their average.

Template Parameters
MeshThe mesh type.
Parameters
gBlock Green's function.
deg_blsA list of the degenerate blocks.
Returns
The symmetrized Green's function.

Definition at line 108 of file degenerate_blocks.hpp.

◆ symmetrize() [3/3]

std::vector< nda::matrix< dcomplex > > triqs::modest::symmetrize ( std::vector< nda::matrix< dcomplex > > const & bl_mat,
std::vector< std::vector< long > > deg_bls )
inline

#include <triqs_modest/degenerate_blocks.hpp>

Symmetrize the blocks of a block matrix given a list of it's degenerate blocks.

Average the degenerate blocks and replace the degenerate ones with their average.

Parameters
gA block matrix (list of matrices).
deg_blsA list of the degenerate blocks.
Returns
The symmetrized block matrix.

Definition at line 149 of file degenerate_blocks.hpp.