decompose_representation#

decompose_representation(G, rep)[source]#

Block-diagonalize \(\rho:\mathbb{G}\to\mathrm{GL}(\mathcal{X})\) into invariant subspaces.

Finds a unitary matrix \(\mathbf{Q}\) such that

\[\mathbf{Q}\rho(g)\mathbf{Q}^H = \operatorname{blockdiag}(\rho_1(g), \ldots, \rho_m(g)), \quad \forall g\in\mathbb{G},\]

where each \(\rho_i\) is an invariant subrepresentation. The algorithm recursively uses commuting-Hermitian witnesses and graph connected-components to obtain contiguous block structure.

Parameters:
Returns:

  • subreps (list[Callable]): Decomposed subrepresentations (not guaranteed sorted by dimension).

  • Q (ndarray): Unitary change-of-basis matrix.

Return type:

tuple