The computation of irreducible characters of very large groups may take quite some time. On the other hand, for the expert only a few irreducible characters may be needed, since the other ones can be computed using character theoretic methods such as tensoring, induction, and restriction. Thus GAP provides also step-by-step routines for doing the calculations. These routines allow one to compute some characters and to stop before all are calculated. Note that there is no ``safety net'': The routines (being somehow internal) do no error checking, and assume the information given is correct.
When the info level of InfoCharacterTable if positive,
information about the progress of splitting is printed.
(The default value is zero.)
DixonRecord( G ) AM
The DixonRecord of a group contains information used by the routines
to compute the irreducible characters and related information via the
Dixon-Schneider algorithm such as class arrangement and character spaces
split obtained so far.
Usually this record is passed as argument to all subfunctions to avoid a
long argument list.
It has a component .conjugacyClasses which contains the classes of G
ordered as the algorithm needs them.
DixonInit( G ) F
This function does all the initializations for the Dixon-Schneider algorithm. This includes calculation of conjugacy classes, power maps, linear characters and character morphisms. It returns a record (see DixonRecord, Components of a Dixon Record) that can be used when calculating the irreducible characters of G interactively.
DixontinI( D ) F
This function ends a Dixon-Schneider calculation. It sorts the characters according to the degree and unbinds components in the Dixon record that are not of use any longer. It returns a list of irreducible characters.
DixonSplit( D ) F
This function performs one splitting step in the Dixon-Schneider algorithm. It selects a class, computes the (partial) class sum matrix, uses it to split character spaces and stores all the irreducible characters obtained that way.
DxIncludeIrreducibles( D, new[, newmod] ) F
This function takes a list of irreducible characters new, each given as a list of values (corresponding to the class arrangement in D), and adds these to a partial computed list of irreducibles as maintained by the Dixon record D. This permits one to add characters in interactive use obtained from other sources and to continue the Dixon-Schneider calculation afterwards. If the optional argument newmod is given, it must be a list of reduced characters, corresponding to new. (Otherwise the function has to reduce the characters itself.)
The function closes the new characters under the action of Galois automorphisms and tensor products with linear characters.
SplitCharacters( D, list ) F
This routine decomposes the characters given in list according to the character spaces found up to this point. By applying this routine to tensor products etc., it may result in characters with smaller norm, even irreducible ones. Since the recalculation of characters is only possible if the degree is small enough, the splitting process is applied only to characters of sufficiently small degree.
IsDxLargeGroup( G ) F
returns true if the order of the group G is smaller than the current
value of the global variable DXLARGEGROUPORDER,
and false otherwise.
In Dixon-Schneider calculations, for small groups in the above sense a
class map is stored, whereas for large groups,
each occurring element is identified individually.
[Top] [Previous] [Up] [Next] [Index]
GAP 4 manual