Brauer Characters

Magma provides some tools for the construction of individual Brauer characters and has an intrinsic that can compute all of the p-modular characters. These intrinsics are described in this section.

A Brauer character modulo p in Magma is represented as a class function (that is, element of a character ring) which is zero for p-singular group elements. In this format the standard character operations of addition, multiplication, induction and restriction all apply directly to Brauer characters as they do to other class functions.

It should be emphasised that for a Brauer character x, the operation x[i] returns the value of x on the ith conjugacy class of the group, and that a printed Brauer character omits values on the p-singular classes.

Contents

Structure Creation

CharacterRing(G, p) : Grp, RngIntElt -> AlgChtr
Given a finite group G, create the ring of complex-valued class functions on p-regular elements of G. This function will trigger the computation of the conjugacy classes of G if these are not yet known.
CharacterRing(R, p) : AlgChtr, RngIntElt -> AlgChtr
Given a character ring, create the ring of complex-valued class functions on p-regular elements of the domain of R.
BrauerCharacteristic(R) : AlgChtr -> RngIntElt
The prime associated with the Brauer characters in R, returns zero for the ordinary character ring.

Element Creation

R ! [ a1, ..., ak ] : AlgChtr, SeqEnum -> AlgChtrElt
Given the ring of class functions R of a finite group G with k p-regular conjugacy classes and k elements ai contained in some common cyclotomic field, create a class function on G for which the value on the i-th class is equal to the i-th term ai.
Id(R) : AlgChtr -> AlgChtrElt
Identity(R) : AlgChtr -> AlgChtrElt
One(R) : AlgChtr -> AlgChtrElt
Given the ring of class functions R, create the principal character (which takes on the value 1 on every p-regular element of G).
Zero(R) : AlgChtr -> AlgChtrElt
Given a ring of class functions R create its zero element (which is the class function that takes on the value 0 on every element of the group).
BrauerCharacter(x, p) : AlgChtrElt, RngIntElt -> AlgChtrElt
The Brauer character modulo the prime p obtained by setting the value of x on p-singular elements to be zero.
BrauerCharacter(M) : ModGrp -> AlgChtrElt
The Brauer character of the G-module M over GF(q).

The choice of lifting from finite field elements to complex values uses a Conway polynomial for the finite field of order q, and lifts a root of the polynomial to exp(2π i/(q - 1)).

BrauerCharacterTable(G, p) : Chtr -> SeqEnum
Construct the table of irreducible mod p Brauer characters for the group G. For soluble groups this is deduced from the ordinary character table. For insoluble groups the absolutely irreducible mod p representations are constructed and their characters computed.

Arithmetic

The basic arithmetic operations for ordinary characters are also available for Brauer characters.

In the list of arithmetic operations below x and y denote Brauer characters in the same ring, and a denotes a scalar, which is any element coercible into a cyclotomic field. Also, j denotes an integer.

+ y : AlgChtrElt -> AlgChtrElt
- y : AlgChtrElt -> AlgChtrElt
x + y : AlgChtrElt, AlgChtrElt -> AlgChtrElt
x - y : AlgChtrElt, AlgChtrElt -> AlgChtrElt
x * y : AlgChtrElt, AlgChtrElt -> AlgChtrElt
a * x : FldCycElt, AlgChtrElt -> AlgChtrElt
x ^ j : AlgChtrElt, RngIntElt -> AlgChtrElt

Induction, Restriction and Lifting

Induction(x, G) : AlgChtrElt, Grp -> AlgChtrElt
Induction(Q, G) : SeqEnum[AlgChtrElt], Grp -> SeqEnum[AlgChtrElt]
Given a Brauer character x on the subgroup H of the group G, construct the Brauer character obtained by induction of x to G.

The Induction command may also be used to induce a sequence of Brauer characters of a particular subgroup to the given supergroup.

LiftCharacter(c, f, G) : AlgChtrElt, Map, Grp -> AlgChtrElt
Given Brauer character c of the quotient group Q of the group G and the natural homomorphism f : G -> Q, lift c to a class function of G.
LiftCharacters(T, f, G) : [AlgChtrElt], Map, Grp -> AlgChtrElt
Given a sequence T of Brauer characters of the quotient group Q of the group G and the natural homomorphism f : G -> Q, lift T to a sequence of corresponding class functions of G.
Restriction(x, H) : AlgChtrElt, Grp -> AlgChtrElt
Restriction(Q, H) : SeqEnum[AlgChtrElt], Grp -> SeqEnum[AlgChtrElt]
Given a Brauer character x on the group G and a subgroup H of G, construct the restriction of x to H (a Brauer character).

The Restriction intrinsic may also be applied to a sequence of Brauer characters.

Blocks(T, p) : SeqEnum[AlgChtrElt], RngIntElt -> SeqEnum, SeqEnum
When T is the full ordinary character table of a group, return the partition of T into p-blocks, where p is a given prime. The partition is returned as a sequence of sets of integers which give the blocks by the positions of the characters in T. The second return value is the corresponding sequence of defects of the blocks. The blocks are ordered first by decreasing defect, second by first character in the block.
DefectGroup(T, b, p) : SeqEnum[AlgChtrElt], SetEnum[RngIntElt], RngIntElt -> Grp
Returns a subgroup of the group associated with the character table T which is a defect group for the p-modular block b.
DefectGroup(x, p) : AlgChtrElt, RngIntElt -> Grp
Returns a subgroup of the group associated with the ordinary character x which is a defect group for the p-modular block containing x. Note that x must be an ordinary character of the group.

Example Chtr_brauer (H98E9)

We give an example of the use of these Brauer character functions. We consider the 3-modular characters of the Higman-Sims simple group.
> load hs176;
> T := CharacterTable(G);
> Blocks(T,3);
[
  { 1, 2, 5, 10, 18, 19, 21, 23, 24 },
  { 3, 4, 6, 7, 11, 12, 14, 15, 20 },
  { 8, 13, 16 },
  { 9 },
  { 17 },
  { 22 }
]
[ 2, 2, 1, 0, 0, 0 ]
The characters T[8], T[13], T[16] are the ordinary irreducible characters in a 3-block of defect one. In such a small block the two ordinary irreducibles of minimal degree will restrict to modular irreducibles.
> [Degree(T[i]): i in [8, 13, 16]];
[ 231, 825, 1056 ]
> BrauerCharacter(T[8], 3);
( 231, 7, -9, 15, -1, -1, 6, 1, 1, 0, -1, -1, -1, 2, 1, 0, 0, 0, 0 )
> BrauerCharacter(T[13], 3);
( 825, 25, 9, -15, 1, 1, 0, -5, 0, -1, 1, 1, 1, 0, -1, 0, 0, 0, 0 )
> $1 + $2 eq BrauerCharacter(T[16], 3);
true
The projective indecomposable characters (as ordinary characters) corresponding to these Brauer irreducible characters are as follows.
> T[8] + T[16];
( 1287, 39, -9, 0, 15, -1, -1, 12, -3, 2, 0, 0, -1, -1, -1,
-1, 4, 1, 0, 0, 0, 0, 0, 0 )
> T[13] + T[16];
( 1881, 57, 9, 0, -15, 1, 1, 6, -9, 1, 0, 0, -2, 1, 1, 1, 2,
-1, 0, 0, 0, 0, 0, 0 )
> BrauerCharacter(T[8] + T[16],3);
( 1287, 39, -9, 15, -1, -1, 12, -3, 2, -1, -1, -1, -1, 4, 1, 0, 0, 0, 0 )
> chi := BrauerCharacter(T[5],3)^2;
> chi;
( 23716, 100, 100, 4, 36, 4, 16, 16, 1, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4 )
> chi_p := BlockProjections(G, chi);
> chi_p;
[
  ( 13708, -20, -8, -20, 28, 0, 8, -2, -2, 2, 2, -4, 2, 0, 2, 2, 2, 0, 0 ),
  ( 3969, 33, 45, -15, 1, 5, -6, 9, 4, 0, -1, 1, -1, -2, 5, -2, -2, 0, 0 ),
  ( 1881, 57, 9, -15, 1, 1, 6, -9, 1, -2, 1, 1, 1, 2, -1, 0, 0, 0, 0 ),
  ( 1386, 42, 18, 42, 10, 2, -14, 6, -4, 0, -2, 2, -2, 2, -2, 0, 0, 2, 2 ),
  ( 2772, -12, 36, 12, -4, -4, 22, 12, 2, 0, 0, 0, 0, -2, -4, 0, 0, 2, 2 ),
  ( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 )
]
> chi_p[3] eq BrauerCharacter(T[8],3) + 2*BrauerCharacter(T[13],3);
true
V2.28, 13 July 2023