Green’s function utilities
Helpers for detecting and enforcing (symmetrizing) the block structure of Green’s functions. Typically used to symmetrize impurity-solver output before feeding it into the next DMFT iteration.
Analyzing degenerate blocks
analyze_degenerate_blocks
scans the matrix-valued blocks of a block Green’s function and
partitions them into degenerate groups — sets of blocks that are
numerically equal (up to a user-set threshold) when compared at
\(\tau = 0\) or \(i\omega_0\). This decomposes the Green’s
function into smaller, independent blocks so that the TRIQS impurity
solver can treat each unique block on its own rather than carrying
redundant copies through the calculation.
Symmetrizing a block Green’s function
Given a partition \(\{ \mathcal{D}_g \}\) of degenerate blocks
returned by analyze_degenerate_blocks,
symmetrize
replaces every block in a group by the average over the group:
This enforces the degeneracy exactly, removing any residual numerical breaking introduced by the impurity solver.
Find the generate blocks of a block GF by analyzing \(G(\tau=0)\) or \(G(i\omega_0)\) using the |
|
Symmetrize the blocks of a block Green's function given a list of it's degenerate blocks. |