Character Tables¶
- class sympy.combinatorics.character_table.CharacterTable(
- rep: DomainMatrix,
- conjugacy_class_reps: list[Permutation],
A class for creating the character table of a finite group.
Explanation
The character table is a complex matrix with rows corresponding to characters and columns corresponding to conjugacy classes. Each entry is the value of the character on the conjugacy class, which is the trace of the representation matrix.
The trivial character is always the first row of the character table.
Examples
The character table of a permutation group is computed by calling the \(character_table\) method on the group.
>>> from sympy.combinatorics import SymmetricGroup, AlternatingGroup >>> M = SymmetricGroup(4).character_table() >>> type(M) <class 'sympy.combinatorics.character_table.CharacterTable'>
Calling \(.as_matrix()\) on the character table returns a matrix.
>>> M.as_matrix() Matrix([ [1, 1, 1, 1, 1], [1, -1, 1, -1, 1], [2, 0, 2, 0, -1], [3, -1, -1, 1, 0], [3, 1, -1, -1, 0]])
The character table builds upon DomainMatrix, from which users can access the the values of the characters as domain elements. The domain of a character table is either ZZ or a cyclotomic field.
>>> M = AlternatingGroup(4).character_table() >>> M.as_matrix() Matrix([ [1, 1, 1, 1], [1, -1 - zeta3, zeta3, 1], [1, zeta3, -1 - zeta3, 1], [3, 0, 0, -1]]) >>> M._rep.domain QQ<zeta3> >>> M.zeta_order 3
The order of the columns matches the order of the conjugacy classes, which can be accessed with the method \(conjugacy_class_reps\).
>>> M.conjugacy_class_reps() [(3), (0 3 1), (3)(0 2 1), (0 3)(1 2)]
References
[R166]Holt, D., Eick, B., O’Brien, E. “Handbook of Computational Group Theory”
- classmethod from_perm_group(
- G: PermutationGroup,
Create a character table from a permutation group.
- Parameters:
G : PermutationGroup
The permutation group for which to create the character table.
- Returns:
CharacterTable
The character table of the permutation group.
Examples
>>> from sympy.combinatorics import CharacterTable, AlternatingGroup >>> CharacterTable.from_perm_group(AlternatingGroup(4)).as_matrix() Matrix([ [1, 1, 1, 1], [1, -1 - zeta3, zeta3, 1], [1, zeta3, -1 - zeta3, 1], [3, 0, 0, -1]])
- property zeta_order: int¶
Returns the order of the primitive root of unity of the underlying cyclotomic field.
Examples
>>> from sympy.combinatorics import AlternatingGroup >>> AlternatingGroup(3).character_table().zeta_order 3 >>> AlternatingGroup(5).character_table().zeta_order 5
It returns 1 if the character table is over ZZ.
>>> from sympy.combinatorics import SymmetricGroup >>> SymmetricGroup(4).character_table().zeta_order 1
- sympy.combinatorics.character_table.dixon_character_table(
- conjugacy_classes: Sequence[set[Permutation]],
Compute the character table of a permutation group from its conjugacy classes using Dixon’s algorithm.
- Parameters:
conjugacy_classes : Sequence[set[Permutation]]
The conjugacy classes of the group.
Examples
>>> from sympy.combinatorics.character_table import dixon_character_table >>> from sympy.combinatorics import AlternatingGroup >>> G = AlternatingGroup(4) >>> dixon_character_table(G.conjugacy_classes()).as_matrix() Matrix([ [1, 1, 1, 1], [1, -1 - zeta3, zeta3, 1], [1, zeta3, -1 - zeta3, 1], [3, 0, 0, -1]])
References