Helper functions

pytriqs.operators.util.op_struct.get_mkind(off_diag, map_operator_structure)[source]

Set function that makes the index for operators and GF blocks for a given spin and orbital name.

Parameters:
  • off_diag (boolean) – Do we have (orbital) off-diagonal elements? If yes, the operators and blocks are denoted by (‘spin’, ‘orbital’), otherwise by (‘spin_orbital’,0).
  • map_operator_structure (dict) – Mapping of names of GF blocks names from one convention to another, e.g. {(‘up’, 0): (‘up_0’, 0), (‘down’, 0): (‘down_0’,0)}. If provided, the operators and blocks are denoted by the mapping of ('spin', 'orbital').
Returns:

mkind – The function mapping spin and orbital names to a tuple.

Return type:

lambda

pytriqs.operators.util.op_struct.set_operator_structure(spin_names, orb_names, off_diag)[source]

Set the operator_structure for given spin and orbital names, according to whether or not the Green’s functions contain off-diagonal blocks.

Parameters:
  • spin_names (list of strings) – Names of the spins, e.g. [‘up’,’down’].
  • orb_names (list of strings or int) – Names of the orbitals, e.g. [0,1,2] or [‘t2g’,’eg’].
  • off_diag (boolean) – Do we have (orbital) off-diagonal elements? If yes, the operators and blocks are denoted by (‘spin’, ‘orbital’), otherwise by (‘spin_orbital’,0).
Returns:

op_struct – The structure of the operators [block:[inner], … ].

Return type:

list