Linear representation theory of M16

This article discusses the linear representation theory of the group M16, a group of order 16 given by the presentation:

$$G = M_{16} := \langle a,x \mid a^8 = x^2 = e, xax^{-1} = a^5 \rangle$$

Summary information
Below is summary information on irreducible representations that are absolutely irreducible, i.e., they remain irreducible in any bigger field, and in particular are irreducible in a splitting field. We assume that the characteristic of the field is not 2, except in the last column, where we consider what happens in characteristic 2.

Below are representations that are irreducible over a non-splitting field, but split over a splitting field.

Character table
Below is the character table over a splitting field. Here $$i$$ denotes a square root of $$-1$$ in the field.

Below are the size-degree-weighted characters, obtained by multiplying each character value by the size of the conjugacy class and dividing by the degree of the irreducible representation:

Degrees of irreducible representations
The degrees of irreducible representation can be computed using the CharacterDegrees function:

gap> CharacterDegrees(SmallGroup(16,6)); [ [ 1, 8 ], [ 2, 2 ] ]

Character table
The character table can be computed using the Irr and CharacterTable functions:

gap> Irr(CharacterTable(SmallGroup(16,6))); [ Character( CharacterTable(  ),   [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ] ), Character( CharacterTable(  ),   [ 1, -1, 1, 1, 1, -1, -1, 1, 1, -1 ] ), Character( CharacterTable(  ),   [ 1, 1, -1, 1, 1, -1, 1, -1, 1, -1 ] ), Character( CharacterTable(  ),   [ 1, -1, -1, 1, 1, 1, -1, -1, 1, 1 ] ), Character( CharacterTable(  ),   [ 1, E(4), 1, -1, 1, E(4), -E(4), -1, -1, -E(4) ] ), Character( CharacterTable(  ),   [ 1, -E(4), 1, -1, 1, -E(4), E(4), -1, -1, E(4) ] ), Character( CharacterTable(  ),   [ 1, E(4), -1, -1, 1, -E(4), -E(4), 1, -1, E(4) ] ), Character( CharacterTable(  ),   [ 1, -E(4), -1, -1, 1, E(4), E(4), 1, -1, -E(4) ] ), Character( CharacterTable(  ),   [ 2, 0, 0, 2*E(4), -2, 0, 0, 0, -2*E(4), 0 ] ), Character( CharacterTable(  ),   [ 2, 0, 0, -2*E(4), -2, 0, 0, 0, 2*E(4), 0 ] ) ]

A nicer display can be achieved using the Display function:

gap> Display(CharacterTable(SmallGroup(16,6))); CT3

2 4  3  3  4  4  3  3  3  4  3

1a 8a 2a 4a 2b 8b 8c 4b 4c 8d

X.1     1  1  1  1  1  1  1  1  1  1 X.2     1 -1  1  1  1 -1 -1  1  1 -1 X.3     1  1 -1  1  1 -1  1 -1  1 -1 X.4     1 -1 -1  1  1  1 -1 -1  1  1 X.5     1  A  1 -1  1  A -A -1 -1 -A X.6     1 -A  1 -1  1 -A  A -1 -1  A X.7      1  A -1 -1  1 -A -A  1 -1  A X.8      1 -A -1 -1  1  A  A  1 -1 -A X.9     2. . B -2. . . -B. X.10    2. . -B -2. . .  B.

A = E(4) = ER(-1) = i B = 2*E(4) = 2*ER(-1) = 2i

Irreducible representations
The irreducible representations can be computed explicitly using the IrreducibleRepresentations function:

gap> IrreducibleRepresentations(SmallGroup(16,6)); [ Pcgs([ f1, f2, f3, f4 ]) -> [ [ [ 1 ] ], [ [ 1 ] ], [ [ 1 ] ], [ [ 1 ] ] ], Pcgs([ f1, f2, f3, f4 ]) -> [ [ [ -1 ] ], [ [ 1 ] ], [ [ 1 ] ], [ [ 1 ] ] ], Pcgs([ f1, f2, f3, f4 ]) -> [ [ [ 1 ] ], [ [ -1 ] ], [ [ 1 ] ], [ [ 1 ] ] ], Pcgs([ f1, f2, f3, f4 ]) -> [ [ [ -1 ] ], [ [ -1 ] ], [ [ 1 ] ], [ [ 1 ] ] ], Pcgs([ f1, f2, f3, f4 ]) -> [ [ [ E(4) ] ], [ [ 1 ] ], [ [ -1 ] ], [ [ 1 ] ] ], Pcgs([ f1, f2, f3, f4 ]) -> [ [ [ -E(4) ] ], [ [ 1 ] ], [ [ -1 ] ], [ [ 1 ] ] ], Pcgs([ f1, f2, f3, f4 ]) -> [ [ [ E(4) ] ], [ [ -1 ] ], [ [ -1 ] ], [ [ 1 ] ] ], Pcgs([ f1, f2, f3, f4 ]) -> [ [ [ -E(4) ] ], [ [ -1 ] ], [ [ -1 ] ], [ [ 1 ] ] ], Pcgs([ f1, f2, f3, f4 ]) -> [ [ [ 0, E(4) ], [ 1, 0 ] ], [ [ 1, 0 ], [ 0, -1 ] ], [ [ E(4), 0 ], [ 0, E(4) ] ], [ [ -1, 0 ], [ 0, -1 ] ] ] , Pcgs([ f1, f2, f3, f4 ]) -> [ [ [ 0, -E(4) ], [ 1, 0 ] ], [ [ 1, 0 ], [ 0, -1 ] ], [ [ -E(4), 0 ], [ 0, -E(4) ] ], [ [ -1, 0 ], [ 0, -1 ] ] ] ]