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.

  1. 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.