triqs_modest.module.discover_symmetries

triqs_modest.module.discover_symmetries()

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

[1] (Hloc0: ndarray[ndarray[complex, 2], 2],
     atomic_shells: [AtomicOrbs],
     block_threshold: float,
     diagonalize_hloc: bool)
  -> tuple[ndarray[[int], 2], ndarray[ndarray[complex, 2], 2]]

Find symmetries of the R = 0 component of a Hamiltonian to determine a GF block structure.

Discovers (approximate) irreducible symmetries for Green’s function from the non-interacting part of the local Hamiltonian (H0 = ∑k P(k) Hνν’ P†(k) ), which represents the block structure of the TRIQS Gf.


Parameters
Hloc0:

the R = 0 part of the Hamiltonian as a vector of [n_atoms, n_sigma]

atomic_shells:

the list of atomic shells used to index Hloc

block_threshold:

the threshold of accuracy at which a symmetry is considered found

diagonalize_hloc:

whether or not to diagonalize hloc


Returns

decomposition, U_rotation describing the block structure of GF based on Hloc