triqs_modest.embedding.make_embedding

triqs_modest.embedding.make_embedding()

Dispatched C++ function(s).

[1] (spin_names: [str], block_decomposition: ndarray[[int], 2], atom_to_imp: [int])
  -> Embedding

[2] (spin_names: [str], block_decomposition: [[int]], atom_to_imp: [int])
  -> Embedding

[3] (C_space: LocalSpace,
     use_atom_equivalences: bool = True,
     use_atom_decomp: bool = False)
  -> Embedding

[1, 2] Construct an embedding from spin names, a block decomposition per atom, and an atom-to-impurity mapping.


[3] Make an embedding from the local space.

This function creates an embedding object from the local space, which is typically used in ModEST for embedding calculations. The default behavior is to use the equivalences between different atoms when constructing the embedding and to use the irrep decomposition of the atomic orbitals. Instead of the irrep decomposition, one can use the atomic decomposition.


Parameters:
spin_names[str]

The names of the spin indices (e.g., {“up”, “down”}).

block_decompositionndarray[[int], 2]

Block sizes for each atom: block_decomposition(atom, sigma) is a vector of block sizes.

atom_to_imp[int]

Mapping from atom index to impurity index. Atoms with the same value share a solver.

C_spaceLocalSpace

The local space from a one-body elements (on grid/tight-binding).

use_atom_equivalencesbool

Use the equivalences between different atoms when constructing the embedding.

use_atom_decompbool

Use the atomic decomposition instead of the atomic orbital decomposition.

Returns:
Embedding

Embedding object.