Linear representation theory of unitriangular matrix group of degree three over quotient of polynomial ring over F2 by square of indeterminate

GAP implementation
Since the group is difficult to construct directly, we use the SmallGroup function and write it as SmallGroup(64,215) in the implementations below. You can replace this by any construction.

Degrees of irreducible representations
We use the CharacterDegrees function:

gap> CharacterDegrees(SmallGroup(64,215)); [ [ 1, 16 ], [ 2, 4 ], [ 4, 2 ] ]

Character table
We use the CharacterTable function.

In record/list form:

gap> Irr(CharacterTable(SmallGroup(64,215))); [ Character( CharacterTable(  ),   [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ] ), Character( CharacterTable(  ),   [ 1, -1, 1, 1, 1, 1, 1, -1, -1, -1, 1, 1, 1, 1, 1, 1, -1, -1, -1, 1, 1,      -1 ] ), Character( CharacterTable(  ), [ 1, 1, -1, 1, 1, 1, 1, -1, 1, 1, -1, -1, -1, 1, 1, 1,     -1, -1, 1, -1, -1, -1 ] ), Character( CharacterTable(  ),   [ 1, -1, -1, 1, 1, 1, 1, 1, -1, -1, -1, -1, -1, 1, 1, 1, 1, 1, -1, -1,      -1, 1 ] ), Character( CharacterTable(  ), [ 1, 1, 1, -1, 1, 1, 1, 1, -1, 1, -1, 1, 1, -1, 1, 1,     -1, 1, -1, -1, 1, -1 ] ), Character( CharacterTable(  ), [ 1, -1, 1, -1, 1, 1, 1, -1, 1, -1, -1, 1, 1,     -1, 1, 1, 1, -1, 1, -1, 1, 1 ] ), Character( CharacterTable(  ),   [ 1, 1, -1, -1, 1, 1, 1, -1, -1, 1, 1, -1, -1, -1, 1, 1, 1, -1, -1, 1,      -1, 1 ] ), Character( CharacterTable(  ), [ 1, -1, -1, -1, 1, 1, 1, 1, 1, -1, 1, -1, -1, -1, 1,     1, -1, 1, 1, 1, -1, -1 ] ), Character( CharacterTable(  ),   [ 1, 1, 1, 1, -1, 1, 1, 1, 1, -1, 1, -1, 1, -1, -1, 1, 1, -1, -1, -1,      -1, -1 ] ), Character( CharacterTable(  ), [ 1, -1, 1, 1, -1, 1, 1, -1, -1, 1, 1, -1, 1, -1, -1,     1, -1, 1, 1, -1, -1, 1 ] ), Character( CharacterTable(  ),   [ 1, 1, -1, 1, -1, 1, 1, -1, 1, -1, -1, 1, -1, -1, -1, 1, -1, 1, -1, 1,      1, 1 ] ), Character( CharacterTable(  ), [ 1, -1, -1, 1, -1, 1, 1, 1, -1, 1, -1, 1, -1, -1, -1,     1, 1, -1, 1, 1, 1, -1 ] ), Character( CharacterTable(  ),   [ 1, 1, 1, -1, -1, 1, 1, 1, -1, -1, -1, -1, 1, 1, -1, 1, -1, -1, 1, 1,      -1, 1 ] ), Character( CharacterTable(  ), [ 1, -1, 1, -1, -1, 1, 1, -1, 1, 1, -1, -1, 1, 1, -1,     1, 1, 1, -1, 1, -1, -1 ] ), Character( CharacterTable( <pc group of size 64 with 6 generators> ),   [ 1, 1, -1, -1, -1, 1, 1, -1, -1, -1, 1, 1, -1, 1, -1, 1, 1, 1, 1, -1,      1, -1 ] ), Character( CharacterTable( <pc group of size 64 with 6 generators> ), [ 1, -1, -1, -1, -1, 1, 1, 1, 1, 1, 1, 1, -1, 1, -1, 1,     -1, -1, -1, -1, 1, 1 ] ), Character( CharacterTable( <pc group of size 64 with 6 generators> ), [ 2, 0, 2, 0, 2, 2, -2, 0, 0, 0, 0, 2, -2, 0,     -2, -2, 0, 0, 0, 0, -2, 0 ] ), Character( CharacterTable( <pc group of size 64 with 6 generators> ),   [ 2, 0, -2, 0, 2, 2, -2, 0, 0, 0, 0, -2, 2, 0, -2, -2, 0, 0, 0, 0, 2, 0     ] ), Character( CharacterTable( <pc group of size 64 with 6 generators> ), [ 2, 0, 2, 0, -2, 2, -2, 0, 0, 0, 0, -2, -2, 0, 2, -2,     0, 0, 0, 0, 2, 0 ] ), Character( CharacterTable( <pc group of size 64 with 6 generators> ), [ 2, 0, -2, 0, -2, 2, -2, 0, 0, 0, 0, 2, 2, 0,     2, -2, 0, 0, 0, 0, -2, 0 ] ), Character( CharacterTable( <pc group of size 64 with 6 generators> ),   [ 4, 0, 0, 0, 0, -4, 4, 0, 0, 0, 0, 0, 0, 0, 0, -4, 0, 0, 0, 0, 0, 0 ] ), Character( CharacterTable( <pc group of size 64 with 6 generators> ),   [ 4, 0, 0, 0, 0, -4, -4, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0 ] ) ]

In display form:

gap> Display(CharacterTable(SmallGroup(64,215))); CT2

2 6  4  5  4  5  6  6  4  4  4  4  5  5  4  5  6  4  4  4  4  5  4

1a 2a 2b 2c 2d 2e 2f 4a 4b 4c 4d 2g 2h 2i 2j 2k 4e 2l 4f 4g 2m 4h

X.1     1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1 X.2     1 -1  1  1  1  1  1 -1 -1 -1  1  1  1  1  1  1 -1 -1 -1  1  1 -1 X.3     1  1 -1  1  1  1  1 -1  1  1 -1 -1 -1  1  1  1 -1 -1  1 -1 -1 -1 X.4     1 -1 -1  1  1  1  1  1 -1 -1 -1 -1 -1  1  1  1  1  1 -1 -1 -1  1 X.5     1  1  1 -1  1  1  1  1 -1  1 -1  1  1 -1  1  1 -1  1 -1 -1  1 -1 X.6     1 -1  1 -1  1  1  1 -1  1 -1 -1  1  1 -1  1  1  1 -1  1 -1  1  1 X.7     1  1 -1 -1  1  1  1 -1 -1  1  1 -1 -1 -1  1  1  1 -1 -1  1 -1  1 X.8     1 -1 -1 -1  1  1  1  1  1 -1  1 -1 -1 -1  1  1 -1  1  1  1 -1 -1 X.9     1  1  1  1 -1  1  1  1  1 -1  1 -1  1 -1 -1  1  1 -1 -1 -1 -1 -1 X.10    1 -1  1  1 -1  1  1 -1 -1  1  1 -1  1 -1 -1  1 -1  1  1 -1 -1  1 X.11    1  1 -1  1 -1  1  1 -1  1 -1 -1  1 -1 -1 -1  1 -1  1 -1  1  1  1 X.12    1 -1 -1  1 -1  1  1  1 -1  1 -1  1 -1 -1 -1  1  1 -1  1  1  1 -1 X.13    1  1  1 -1 -1  1  1  1 -1 -1 -1 -1  1  1 -1  1 -1 -1  1  1 -1  1 X.14    1 -1  1 -1 -1  1  1 -1  1  1 -1 -1  1  1 -1  1  1  1 -1  1 -1 -1 X.15    1  1 -1 -1 -1  1  1 -1 -1 -1  1  1 -1  1 -1  1  1  1  1 -1  1 -1 X.16    1 -1 -1 -1 -1  1  1  1  1  1  1  1 -1  1 -1  1 -1 -1 -1 -1  1  1 X.17    2. 2 .  2  2 -2  .  .  .  .  2 -2  . -2 -2  .  .  .  . -2  . X.18     2. -2 .  2  2 -2  .  .  .  . -2  2  . -2 -2  .  .  .  .  2  . X.19     2. 2 . -2  2 -2  .  .  .  . -2 -2  .  2 -2  .  .  .  .  2  . X.20     2. -2 . -2  2 -2  .  .  .  .  2  2  .  2 -2  .  .  .  . -2  . X.21     4. . .  . -4  4  .  .  .  .  .  .  .  . -4  .  .  .  .  .  . X.22     4. . .  . -4 -4  .  .  .  .  .  .  .  .  4  .  .  .  .  ..

Irreducible representations
We use the IrreducibleRepresentations function.

gap> IrreducibleRepresentations(SmallGroup(64,215)); [ Pcgs([ f1, f2, f3, f4, f5, f6 ]) -> [ [ [ 1 ] ], [ [ 1 ] ], [ [ 1 ] ], [ [ 1 ] ], [ [ 1 ] ], [ [ 1 ] ] ], Pcgs([ f1, f2, f3, f4, f5, f6 ]) -> [ [ [ -1 ] ], [ [ 1 ] ], [ [ 1 ] ], [ [ 1 ] ], [ [ 1 ] ], [ [ 1 ] ] ], Pcgs([ f1, f2, f3, f4, f5, f6 ]) -> [ [ [ 1 ] ], [ [ -1 ] ], [ [ 1 ] ], [ [ 1 ] ], [ [ 1 ] ], [ [ 1 ] ] ], Pcgs([ f1, f2, f3, f4, f5, f6 ]) -> [ [ [ -1 ] ], [ [ -1 ] ], [ [ 1 ] ], [ [ 1 ] ], [ [ 1 ] ], [ [ 1 ] ] ], Pcgs([ f1, f2, f3, f4, f5, f6 ]) -> [ [ [ 1 ] ], [ [ 1 ] ], [ [ -1 ] ], [ [ 1 ] ], [ [ 1 ] ], [ [ 1 ] ] ], Pcgs([ f1, f2, f3, f4, f5, f6 ]) -> [ [ [ -1 ] ], [ [ 1 ] ], [ [ -1 ] ], [ [ 1 ] ], [ [ 1 ] ], [ [ 1 ] ] ], Pcgs([ f1, f2, f3, f4, f5, f6 ]) -> [ [ [ 1 ] ], [ [ -1 ] ], [ [ -1 ] ], [ [ 1 ] ], [ [ 1 ] ], [ [ 1 ] ] ], Pcgs([ f1, f2, f3, f4, f5, f6 ]) -> [ [ [ -1 ] ], [ [ -1 ] ], [ [ -1 ] ], [ [ 1 ] ], [ [ 1 ] ], [ [ 1 ] ] ], Pcgs([ f1, f2, f3, f4, f5, f6 ]) -> [ [ [ 1 ] ], [ [ 1 ] ], [ [ 1 ] ], [ [ -1 ] ], [ [ 1 ] ], [ [ 1 ] ] ], Pcgs([ f1, f2, f3, f4, f5, f6 ]) -> [ [ [ -1 ] ], [ [ 1 ] ], [ [ 1 ] ], [ [ -1 ] ], [ [ 1 ] ], [ [ 1 ] ] ], Pcgs([ f1, f2, f3, f4, f5, f6 ]) -> [ [ [ 1 ] ], [ [ -1 ] ], [ [ 1 ] ], [ [ -1 ] ], [ [ 1 ] ], [ [ 1 ] ] ], Pcgs([ f1, f2, f3, f4, f5, f6 ]) -> [ [ [ -1 ] ], [ [ -1 ] ], [ [ 1 ] ], [ [ -1 ] ], [ [ 1 ] ], [ [ 1 ] ] ], Pcgs([ f1, f2, f3, f4, f5, f6 ]) -> [ [ [ 1 ] ], [ [ 1 ] ], [ [ -1 ] ], [ [ -1 ] ], [ [ 1 ] ], [ [ 1 ] ] ], Pcgs([ f1, f2, f3, f4, f5, f6 ]) -> [ [ [ -1 ] ], [ [ 1 ] ], [ [ -1 ] ], [ [ -1 ] ], [ [ 1 ] ], [ [ 1 ] ] ], Pcgs([ f1, f2, f3, f4, f5, f6 ]) -> [ [ [ 1 ] ], [ [ -1 ] ], [ [ -1 ] ], [ [ -1 ] ], [ [ 1 ] ], [ [ 1 ] ] ], Pcgs([ f1, f2, f3, f4, f5, f6 ]) -> [ [ [ -1 ] ], [ [ -1 ] ], [ [ -1 ] ], [ [ -1 ] ], [ [ 1 ] ], [ [ 1 ] ] ], Pcgs([ f1, f2, f3, f4, f5, f6 ]) -> [ [ [ 0, 1 ], [ 1, 0 ] ], [ [ 1, 0 ], [ 0, 1 ] ],     [ [ 1, 0 ], [ 0, -1 ] ], [ [ 1, 0 ], [ 0, 1 ] ],      [ [ 1, 0 ], [ 0, 1 ] ], [ [ -1, 0 ], [ 0, -1 ] ] ],  Pcgs([ f1, f2, f3, f4, f5, f6 ]) -> [ [ [ 0, 1 ], [ 1, 0 ] ], [ [ -1, 0 ], [ 0, -1 ] ],     [ [ 1, 0 ], [ 0, -1 ] ], [ [ 1, 0 ], [ 0, 1 ] ],      [ [ 1, 0 ], [ 0, 1 ] ], [ [ -1, 0 ], [ 0, -1 ] ] ],  Pcgs([ f1, f2, f3, f4, f5, f6 ]) -> [ [ [ 0, 1 ], [ 1, 0 ] ], [ [ 1, 0 ], [ 0, 1 ] ],     [ [ 1, 0 ], [ 0, -1 ] ], [ [ -1, 0 ], [ 0, -1 ] ],      [ [ 1, 0 ], [ 0, 1 ] ], [ [ -1, 0 ], [ 0, -1 ] ] ],  Pcgs([ f1, f2, f3, f4, f5, f6 ]) -> [ [ [ 0, 1 ], [ 1, 0 ] ], [ [ -1, 0 ], [ 0, -1 ] ],     [ [ 1, 0 ], [ 0, -1 ] ], [ [ -1, 0 ], [ 0, -1 ] ],      [ [ 1, 0 ], [ 0, 1 ] ], [ [ -1, 0 ], [ 0, -1 ] ] ],  Pcgs([ f1, f2, f3, f4, f5, f6 ]) -> [ [ [ 0, 0, 1, 0 ], [ 0, 0, 0, -1 ], [ 1, 0, 0, 0 ], [ 0, -1, 0, 0 ] ],     [ [ 0, 1, 0, 0 ], [ 1, 0, 0, 0 ], [ 0, 0, 0, 1 ], [ 0, 0, 1, 0 ] ],      [ [ 1, 0, 0, 0 ], [ 0, -1, 0, 0 ], [ 0, 0, 1, 0 ], [ 0, 0, 0, -1 ] ],      [ [ 1, 0, 0, 0 ], [ 0, 1, 0, 0 ], [ 0, 0, -1, 0 ], [ 0, 0, 0, -1 ] ],      [ [ -1, 0, 0, 0 ], [ 0, -1, 0, 0 ], [ 0, 0, -1, 0 ], [ 0, 0, 0, -1 ] ],      [ [ 1, 0, 0, 0 ], [ 0, 1, 0, 0 ], [ 0, 0, 1, 0 ], [ 0, 0, 0, 1 ] ] ],  Pcgs([ f1, f2, f3, f4, f5, f6 ]) -> [ [ [ 0, 0, 0, 1 ], [ 0, 0, -1, 0 ], [ 0, -1, 0, 0 ], [ 1, 0, 0, 0 ] ],     [ [ 0, 1, 0, 0 ], [ 1, 0, 0, 0 ], [ 0, 0, 0, 1 ], [ 0, 0, 1, 0 ] ],      [ [ 1, 0, 0, 0 ], [ 0, -1, 0, 0 ], [ 0, 0, 1, 0 ], [ 0, 0, 0, -1 ] ],      [ [ 1, 0, 0, 0 ], [ 0, 1, 0, 0 ], [ 0, 0, -1, 0 ], [ 0, 0, 0, -1 ] ],      [ [ -1, 0, 0, 0 ], [ 0, -1, 0, 0 ], [ 0, 0, -1, 0 ], [ 0, 0, 0, -1 ] ],      [ [ -1, 0, 0, 0 ], [ 0, -1, 0, 0 ], [ 0, 0, -1, 0 ], [ 0, 0, 0, -1 ] ]     ] ]