Irreps#
- spgrep.irreps.enumerate_small_representations(little_rotations, little_translations, kpoint, real=False, method='Neto', rtol=1e-05, atol=1e-08, max_num_random_generations=4)[source]#
Enumerate all unitary small representations of little group.
- Parameters:
little_rotations (array, (order, 3, 3))
little_translations (array, (order, 3))
kpoint (array, (3, ))
real (bool, default=False) –
If True, return irreps over real vector space (so called physically irreducible representations). For type-II and type-III cases, representation matrix for translation \((\mathbf{E}, \mathbf{t})\) is chosen as
\[\begin{split}\begin{pmatrix} \cos (\mathbf{k} \cdot \mathbf{t}) \mathbf{1}_{d} & -\sin (\mathbf{k} \cdot \mathbf{t}) \mathbf{1}_{d} \\ \sin (\mathbf{k} \cdot \mathbf{t}) \mathbf{1}_{d} & \cos (\mathbf{k} \cdot \mathbf{t}) \mathbf{1}_{d} \\ \end{pmatrix}\end{split}\]where \(\mathbf{k}\) is kpoint.
method (str, 'Neto' or 'random') – ‘Neto’: construct irreps from a fixed chain of subgroups of little co-group ‘random’: construct irreps by numerically diagonalizing a random matrix commute with regular representation
rtol (float) – Relative tolerance to distinguish difference eigenvalues
atol (float) – Relative tolerance to compare
max_num_random_generations (int) – Maximum number of trials to generate random matrix
- Returns:
irreps (list of unitary small representations (irreps of little group) with (order, dim, dim))
indicators (list of int) – Frobenius-Schur indicator of composed irreps of each physically irreducible representation.
- spgrep.irreps.enumerate_unitary_irreps(rotations, factor_system=None, real=False, method='Neto', rtol=1e-05, atol=1e-08, max_num_random_generations=4)[source]#
Enumerate all unitary irreps with of matrix group
rotations
withfactor_system
.
- Parameters:
rotations (array, (order, 3, 3))
factor_system (array, (order, order)) – If not specified, treat as ordinary representation.
real (bool, default=False) – If True, return irreps over real vector space (so called physically irreducible representations)
method (str, 'Neto' or 'random') – ‘Neto’: construct irreps from a fixed chain of subgroups of little co-group ‘random’: construct irreps by numerically diagonalizing a random matrix commute with regular representation
rtol (float) – Relative tolerance to distinguish difference eigenvalues
atol (float) – Relative tolerance to compare
max_num_random_generations (int) – Maximum number of trials to generate random matrix
- Returns:
irreps (list of unitary irreps with (order, dim, dim))
indicators (list of int) – Frobenius-Schur indicator of composed irreps of each physically irreducible representation.
- spgrep.irreps.enumerate_unitary_irreps_from_regular_representation(reg, rtol=1e-05, max_num_random_generations=4)[source]#
Decompose given (projective) regular representation and obtain all unitary Irreps.
- Parameters:
reg (array, (order, order, order)) – (Projective) Regular representation. reg[k] is a representation matrix for the k-th operation.
rtol (float) – Relative tolerance to distinguish difference eigenvalues
max_num_random_generations (int) – Maximum number of trials to generate random matrix
- Returns:
irreps
- Return type:
list of unitary Irreps with (order, dim, dim)
- spgrep.irreps.decompose_representation(representation, rtol=1e-05, max_num_random_generations=4)[source]#
Decompose given (projective) representation into all unitary irreps.
- Parameters:
representation (array, (order, dim0, dim0)) – (Projective) representation. representation[k] is a representation matrix for the k-th operation.
rtol (float) – Relative tolerance to distinguish difference eigenvalues
max_num_random_generations (int) – Maximum number of trials to generate random matrix
- Returns:
irreps
- Return type:
list of unitary Irreps with (order, dim, dim)
- spgrep.irreps.enumerate_unitary_irreps_from_solvable_group_chain(table, factor_system, solvable_chain_generators, atol=1e-08, max_num_random_generations=4)[source]#
Calculate symmetrized irreps from given chain of solvable group.
- Parameters:
table (array, (order, order)) – Cayley table
factor_system (array, (order, order))
solvable_group_chain (list of single generator of coset) – Let \(G_{0} := G\) and \(G_{i} := G_{i-1} / \langle\)
solvable_chain_generators[i]
\(\rangle\) (i = 0, 1, …). Then, \(G_{i}\) is normal subgroup of \(G_{i-1}\) and factor group \(G_{i-1}/G_{i}\) is Abelian.atol (float) – Absolute tolerance to distinguish difference eigenvalues
max_num_random_generations (int) – Maximum number of trials to generate random matrix
- Returns:
irreps
- Return type:
list of unitary projective irrep with (order, dim, dim)
- spgrep.irreps.get_physically_irrep(irrep, indicator, atol=1e-05, max_num_random_generations=4)[source]#
Compute physically irreducible representation (over real number) from given unitary irrep over complex number.
- Parameters:
irrep (array, (order, dim, dim)) – Unitary (projective) irrep
indicator (int) – Frobenius-Schur indicator: -1, 0, or 1
atol (float) – Relative tolerance to compare
max_num_random_generations (int) – Maximum number of trials to generate random matrix
- Returns:
real_irrep – Physically irreducible representation composed of irrep and its conjugated irrep When indicator==1, dim2 == dim. When indicator==-1 or indicator==0, dim2 == 2 * dim.
- Return type:
array, (order, dim2, dim2)