# Representation Theory

A set of functions are provided for computing with the characters of a group. Full details of these functions may be found in Chapter [Characters of Finite Groups](../../RepresentationTheory/CharactersOfFiniteGroups/index-characters-of-finite-groups.md#chapchtr). For convenience we include here two of the more useful character functions. Also, functions are provided for computing with the modular representations of a group. Full details of these functions may be found in Chapter [Modules over an Algebra and Group Representations](../../RepresentationTheory/ModulesOverAnAlgebraAndGroupRepresentations/index-modules-over-an-algebra-and-group-representations.md#chapmodalg). For the reader’s convenience we include here the functions which may be used to define a $R[G]$-module for a permutation group.

## `CharacterTable(G: parameters): GrpPerm -> TabChtr`

```magma
Al         : MonStgElt                    Default: "Default"
DSSizeLimit: RngIntElt                    Default: 0
```

Construct the table of ordinary irreducible characters for the group $G$.

This parameter controls the algorithm used. The string `"DS"` forces use of the Dixon-Schneider algorithm. The string `"IR"` forces the use of Unger’s induction/reduction algorithm [[Unger, 2006](../../references.md#cite-chtr-table-unger)]. The `"Default"` algorithm is to use Dixon-Schneider for groups of order $\le 5000$ and Unger’s algorithm for larger groups. This may change in future.

When the default algorithm is selected, a positive value $n$ for `DSSizeLimit` means that before using Unger’s algorithm, the full character space is split by some passes of Dixon-Schneider, restricted to using class matrices corresponding to conjugacy classes with size at most $n$.

## `PermutationCharacter(G): GrpPerm -> AlgChtrElt`

Given a group $G$ represented as a permutation group, construct the character of $G$ afforded by the defining permutation representation of $G$.

## `PermutationCharacter(G, H): GrpPerm, GrpPerm -> AlgChtrElt`

Given a group $G$ and some subgroup $H$ of $G$, construct the ordinary character of $G$ afforded by the permutation representation of $G$ given by the action of $G$ on the coset space of the subgroup $H$ in $G$.

## `GModule(G, S): Grp, AlgMat -> ModGrp`

Let $G$ be a group defined on $r$ generators and let $S$ be a subalgebra of the matrix algebra $M_n(R)$, also defined by $r$ non-singular matrices. It is assumed that the mapping from $G$ to $S$ defined by $\phi(G.i) \rightarrow S.i$, for $i = 1, \ldots, r$, is a group homomorphism. Let $M$ be the natural module for the matrix algebra $S$. The function `GModule` gives $M$ the structure of an $S[G]$-module, where the action of the $i$-th generator of $G$ on $M$ is given by the $i$-th generator of $S$.

## `GModule(G, A, B): Grp, Grp, Grp -> ModGrp, Map`

Given a finite group $G$, a normal subgroup $A$ of G and a normal subgroup $B$ of $A$ such that the section $A/B$ is elementary abelian of order $p^n,$ create the $K[G]$-module $M$ corresponding to the action of $G$ on $A/B$, where $K$ is the field ${\bf F}_{p}$. If $B$ is trivial, it may be omitted. The function returns

**(a)**
the module $M$; and

**(b)**
the homomorphism $\phi : A/B \rightarrow M$.

## `PermutationModule(G, H, R): Grp, Grp, Rng -> ModGrp`

Given a finite group $G$ and a ring $R$, create the $R[G]$-module for $G$ corresponding to the permutation action of $G$ on the cosets of $H$.

## `PermutationModule(G, R): GrpPerm, Rng -> ModGrp`

Given a finite permutation group $G$ and a ring $R$, create the natural permutation module for $G$ over $R$.

## `Example: G Module (ex-7c0920)`

We refine an elementary abelian normal subgroup of a permutation group to a sequence of normal subgroups.

```magma
> G := PermutationGroup<24 |
>  [ 3, 4, 1, 2,23,24, 7, 8, 9,10,12,11,14,13,16,15,18,17,22,21,
>    20,19, 5, 6 ],
>  [ 7, 8,11,12,13,14,22,21,20,19,15,16,17,18, 6, 5, 4, 3, 1, 2,23,
>    24, 9,10 ] >;
> N := sub<G |
>  [ 24, 23, 6, 5, 4, 3, 10, 9, 8, 7, 14, 13, 12, 11, 18, 17, 16, 15, 22, 21,
>    20, 19, 2, 1 ],
>  [ 23, 24, 5, 6, 3, 4, 8, 7, 10, 9, 12, 11, 14, 13, 15, 16, 17, 18, 19, 20,
>    21, 22, 1, 2 ],
>  [ 2, 1, 4, 3, 6, 5, 7, 8, 9, 10, 11, 12, 13, 14, 17, 18, 15, 16, 21, 22, 19,
>    20, 24, 23 ]>;
> #N;
8
> IsNormal(G, N);
true
> IsElementaryAbelian(N);
true
> M, f := GModule(G, N);
> SM := Submodules(M);
> #SM;
4
> refined := [ x @@ f : x in SM ];
> forall{x : x in refined | IsNormal(G, x) };
true;
> [ #x : x in refined];
[ 1, 2, 4, 8 ]

```

The original elementary abelian normal subgroup of order 8 is the top of a chain of normal subgroups of length 3.
