triqs_modest.embedding.Embedding
- class triqs_modest.embedding.Embedding
The embedding class.
The embedding class encodes the mapping between impurities and the correlated space \(\mathcal{C}\) (cf. ModEST implementation notes). In particular, it maps the individual “blocks” within an impurity self-energy to a block and spin of the embedded self-energy function, which can then be upfolded (downfolded) to obtain the lattice self-energy and the local Green’s function.
Dispatched C++ constructor(s).
[1] (sigma_embed_decomposition: [int], imp_decompositions: [[int]], psi: ndarray[ImpBlockT, 2], sigma_names: [str]) [2] ()
[1] Construct an embedding object.
[2] Default constructor for reading from HDF5.
- Parameters:
- sigma_embed_decomposition[int]
Decomposition (list of block sizes) for \(\Sigma_{\text{embed}}\): \([ \alpha ] =\) block size. Note that the decompositions are given for \(\alpha\), \(\gamma\) index, and are independent of \(\sigma\).
- imp_decompositions[[int]]
List of decomposition of solvers: [n_imp][\(\gamma\)] = block size.
- psindarray[ImpBlockT, 2]
The mapping \(\psi[\alpha,\sigma]\) -> n_imp, \(\gamma\), \(\tau\).
- sigma_names[str]
Names for the values of the \(\sigma\) index (e.g., “up”, “down”).
Attributes
Block structure (names and dimensions) for each impurity solver.
Merge consecutive \(\alpha\) blocks belonging to the same impurity into a single block.
Number of blocks in \(\alpha\) for the \(\Sigma_{\text{embed}}\).
Number of impurities.
Number of blocks in \(\sigma\) for the \(\Sigma_{\text{embed}}\).
The mapping table \(\psi\).
The names of the sigma indices.
Slice the embedding to a single \(\sigma\) channel ("ud").
Methods
Summarize the embedding object.
Remove an impurity from the embedding table \(\psi\).
Embed impurity data into the full correlated space.
Extract impurity data from embedded arrays.
The impurity decomposition.
Create zero-initialized impurity self-energies.
Number of blocks in \(\gamma\) for the \(\Sigma_{\text{imp}}\) [imp_idx].
Redirect all \(\psi\) entries from one impurity to another.
Split impurity imp_idx using a predicate.
Split a single \(\gamma\) block of an impurity into multiple blocks.
Swap the \(\sigma\) (spin) assignment for \(\alpha\) block alpha.