triqs_dft_tools.block_structure.BlockStructure.pick_gf_struct_sumk

BlockStructure.pick_gf_struct_sumk(new_gf_struct)[source]

Pick selected orbitals within blocks.

This throws away parts of the Green’s function that (for some reason - be sure that you know what you’re doing) shouldn’t be included in the calculation.

To drop an entire block, just don’t include it. To drop a certain index within a block, just don’t include it.

If it was before:

[{‘up’:[0,1],’down’:[0,1],’left’:[0,1]}]

to choose the 0th index of the up block and the 1st index of the down block and drop the left block, the new_gf_struct would have to be

[{‘up’:[0],’down’:[1]}]

Note that the indices will be renamed to be a 0-based sequence of integers.

For dropped indices, sumk_to_solver will map to (None,None).

Parameters:
new_gf_structlist of dict

new_gf_struct[ish][block]=list of indices in that block.

However, the indices are not according to the solver Gf but the sumk Gf.