triqs_modest.module.Embedding.split

Embedding.split()

Function dispatched to the following (C++) functions:

[1] (imp_idx: int, p: (int) -> bool)
  -> Embedding

[2] (imp_idx: int, block_list: [int])
  -> Embedding

[0] Predicate p (long block_idx) -> 0 or 1.


[1] Split impurity imp_idx based on block_list

For impurity imp_idx, split part of its blocks into a new impurity. The blocks that were split off remain mapped to their original alpha blocks with the updated imp_idx.


Parameters
imp_idx:

Impurity number

block_list:

A list of blocks of imp_idx to split off.


Returns

New embedding with the updated ψ map.