triqs_modest.embedding.Embedding.extract
- Embedding.extract()
Dispatched C++ function(s).
[1] (X: [ndarray[complex, 2]]) -> [[ndarray[complex, 2]]] [2] (X: [ndarray[complex, 3]]) -> [[ndarray[complex, 3]]] [3] (X: [ndarray[complex, 4]]) -> [[ndarray[complex, 4]]] [4] (X: [ndarray[complex, 5]]) -> [[ndarray[complex, 5]]] [5] (g_loc: Block2Gf[MeshImFreq, 2]) -> [BlockGf[MeshImFreq, 2]] [6] (g_loc: Block2Gf[MeshReFreq, 2]) -> [BlockGf[MeshReFreq, 2]] [7] (g_loc: Block2Gf[MeshDLRImFreq, 2]) -> [BlockGf[MeshDLRImFreq, 2]] [8] (matrix_C: ndarray[ndarray[complex, 2], 2]) -> [[ndarray[complex, 2]]]
[1, 2, 3, 4] Extract impurity data from embedded arrays.
This method performs the inverse of the embed operation: it takes data in the full correlated space and extracts the individual impurity blocks using the reverse mapping \(\psi^{-1}\).
The algorithm proceeds in two steps: 1. For each \((\alpha, \sigma)\) pair, extract the diagonal block from the input array X
using the sigma_embed_decomp decomposition.
For each impurity, use the reverse_psi mapping to gather the appropriate blocks into the impurity’s block structure, indexed by \((\gamma, \tau)\).
The template parameter Rank determines the dimensionality of the underlying data arrays. For frequency-dependent quantities (Rank ∈ {3,5}), the first dimension is interpreted as the frequency index.
[5, 6, 7] Extract Green’s function containers.
[8] Extract block matrices from the embedded representation.
Extracts static (frequency-independent) impurity data from the embedded \((\alpha, \sigma)\)-indexed representation back into per-impurity block matrices. This is the inverse of the block matrix embed operation.
- Parameters:
- X[ndarray[complex, 2]], [ndarray[complex, 3]], [ndarray[complex, 4]], [ndarray[complex, 5]]
Vector of arrays in the embedded space, one per spin channel \(\sigma\).
- g_locBlock2Gf[MeshImFreq, 2], Block2Gf[MeshReFreq, 2], Block2Gf[MeshDLRImFreq, 2]
Block2Gf of gloc in \(M \times M\) space.
- matrix_Cndarray[ndarray[complex, 2], 2]
Embedded block2 matrix in \(\mathcal{C}\) space.
- Returns:
- [1][[ndarray[complex, 2]]]
Nested vector [n_imp][block] of extracted impurity data arrays.
- [2][[ndarray[complex, 3]]]
Nested vector [n_imp][block] of extracted impurity data arrays.
- [3][[ndarray[complex, 4]]]
Nested vector [n_imp][block] of extracted impurity data arrays.
- [4][[ndarray[complex, 5]]]
Nested vector [n_imp][block] of extracted impurity data arrays.
- [5][BlockGf[MeshImFreq, 2]]
Local impurity Green’s function.
- [6][BlockGf[MeshReFreq, 2]]
Local impurity Green’s function.
- [7][BlockGf[MeshDLRImFreq, 2]]
Local impurity Green’s function.
- [8][[ndarray[complex, 2]]]
List of block matrices, one per impurity.