triqs_modest.misc.discover_symmetries

triqs_modest.misc.discover_symmetries()

Dispatched C++ function(s).

[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 (\(H_0 = \sum_k P(k) H_{\nu\nu'} P^\dagger(k)\)), which represents the block structure of the TRIQS Gf.

Parameters:
Hloc0ndarray[ndarray[complex, 2], 2]

The \(R = 0\) part of the Hamiltonian as a vector of [n_atoms, n_sigma].

atomic_shells[AtomicOrbs]

The list of atomic shells used to index \(H_{\text{loc}}\).

block_thresholdfloat

The threshold of accuracy at which a symmetry is considered found.

diagonalize_hlocbool

Whether or not to diagonalize \(H_{\text{loc}}\).

Returns:
tuple[ndarray[[int], 2], ndarray[ndarray[complex, 2], 2]]

Decomposition, \(U_{\text{rotation}}\) describing the block structure of GF based on \(H_{\text{loc}}\).