Skip to content

Irreducible representations

Real irreducible-representation and intertwiner utilities used by the spin-space-group enumerators.

irreps

RealIrrepType dataclass

RealIrrepType(dim: int)

dim instance-attribute

dim: int

get_orientation_preserving_real_intertwiner

get_orientation_preserving_real_intertwiner(rep1: NDArrayFloat, rep2: NDArrayFloat, table: NDArrayInt, *, atol: float = ATOL, max_num_random_generations: int = MAX_NUM_RANDOM_GENERATIONS) -> NDArrayFloat | None

Return an orientation-preserving intertwiner matrix such that rep1 @ matrix == matrix @ rep2 if they are equivalent and such a matrix exists.

get_real_intertwiner

get_real_intertwiner(rep1: NDArrayFloat, rep2: NDArrayFloat, *, atol: float = ATOL, max_num_random_generations: int = MAX_NUM_RANDOM_GENERATIONS) -> NDArrayFloat | None

Calculate intertwiner matrix between rep1 and rep2 such that rep1 @ matrix == matrix @ rep2 if they are equivalent.

Returns:

Name Type Description
matrix (array, (dim, dim))

get_real_irreps

get_real_irreps(irreps: list[NDArrayComplex]) -> list[tuple[NDArrayFloat, RealIrrepType]]

get_regular_representation

get_regular_representation(table: NDArrayInt) -> NDArrayInt

multi_direct_sum

multi_direct_sum(representations: list[tuple[NDArrayFloat, RealIrrepType]], combination: list[int]) -> tuple[NDArrayFloat, list[RealIrrepType]]