triqs_modest.embedding.Embedding.split_imp_block

Embedding.split_imp_block()

Dispatched C++ function(s).

[1] (imp_idx: int, gamma: int, new_dims: [int])
  -> Embedding

Split a single \(\gamma\) block of an impurity into multiple blocks.

Splits block gamma of impurity imp_idx into multiple blocks whose sizes are given by new_dims. The sum of new_dims must equal the original dimension of the block. For example, a block of dimension 5 could be split into blocks of dimensions 2 (e.g.) and 3 (t2g).

Parameters:
imp_idxint

The index of the impurity to operate on.

gammaint

The block index of the impurity to split.

new_dims[int]

New dimensions of the split blocks; must sum to the original block dimension.

Returns:
Embedding

New embedding with the updated impurity structure and \(\psi\) mapping.