71.8 Organization of the Character Table Library

The files of the GAP character table library --if they are installed-- reside in the tbl directory of the GAP installation.

The filenames start with ct (for ``character table''), followed by either o (for ``ordinary''), b (for ``Brauer''), or g (for ``generic''), then a description of the contents (up to 5 characters, e.g., alter for the tables of alternating and related groups), and the suffix .tbl.

The file ctbdescr.tbl contains the known Brauer tables corresponding to the ordinary tables in the file ctodescr.tbl.

Each data file of the table library is supposed to consist of

1.
comment lines, starting with in the first column,
2.
assignments to ALN (short for ``add library name'', see NotifyNameOfCharacterTable) and to a component of Revision, at the beginning of the file, for example in the file with name ctoalter.tbl a value is assigned to Revision.ctoalter_tbl,
3.
assignments to ALN and to a component of LIBTABLE.LOADSTATUS, at the end of the file, and
4.
function calls of the form SET_TABLEFILENAME( filename );, MBT( name, data ); (``make Brauer table''), MOT( name, data ); (``make ordinary table''), ALF( from, to, map );, ALF( from, to, map, textlines ); (``add library fusion''), ALN( name, listofnames );, and ARC( name, component, compdata ); (``add record component'').

Here filename must be a string corresponding to the filename but without suffix, for example "ctoalter" if the file has the name ctoalter.tbl; name must be the identifier value of the ordinary character table corresponding to the table to which the command refers; data must be a comma separated sequence of GAP objects; from and to must be identifier values of ordinary character tables, map a list of positive itegers, textlines and listofnames lists list of strings, component a string, and compdata any GAP object.

MOT, ALF, ALN, and ARC occur only in files containing ordinary character tables, and MBT occurs only in files containing Brauer tables.

Besides the above calls, the data in files containing ordinary and Brauer tables may contain only the following GAP functions. (Files containing generic character tables may contain arbitrary GAP functions.)

ACM, Concatenation, ConstructClifford, ConstructDirectProduct, ConstructFactor, ConstructGS3, ConstructIsoclinic, ConstructMixed, ConstructPermuted, ConstructProj, ConstructSubdirect, ConstructV4G, E, EvalChars, GALOIS, NotifyCharTableName, TENSOR, and TransposedMat.

The awk script maketbl in the etc directory of the GAP distribution expects the file format described above, and to some extent this format is checked by this script.

The function calls may be continued over several lines of a file. The ; is assumed to be the last character in its line if and only if it terminates a function call.

Names of character tables are strings (see Chapter Strings and Characters), i.e., they are enclosed in double quotes; strings in table library files must not be split over several lines, because otherwise the awk script may get confused. Additionally, no character table name is allowed to contain double quotes.

The knowledge of GAP about the ordinary tables in the table library is contained in the file ctprimar.tbl (the ``primary file'' of the table library). This file is automatically produced from the library files by the script maketbl in the etc directory of the GAP distribution. The information is stored in the global variable LIBLIST, which is a record with the following components.

firstnames
the list of Identifier values of the ordinary tables,

files
the list of filenames containing the data of ordinary tables,

filenames
a list of positive integers, value j at position i means that the table whose identifier is the i--th in the firstnames list is contained in the j-th file of the files component,

fusionsource
a list containing at position i the list of names of tables that store a fusion into the table whose identifier is the i--th in the firstnames list,

allnames
a list of all admissible names of ordinary library tables,

position
a list that stores at position i the position in firstnames of the identifier of the table with the i--th admissible name in allnames,

projections
a list of triples [ name , factname , map ] describing a factor fusion map from the table with identifier name to the table with identifier factname (this is used to construct the table of name using the data of the table of factname),

simpleinfo
a list of triples [ m , name , a ] describing the tables of simple groups in the library; name is the identifier of the table, m.name and name.a are admissible names for its Schur multiplier and automorphism group, respectively,

sporadicSimple
a list of identifiers of the tables of the 26 sporadic simple groups, and

GENERIC
a record with information about generic tables (see Generic Character Tables).

There are three different ways how the table data can be stored in the file.

Full ordinary tables are encoded by a call to the function MOT, where the arguments correspond to the relevant attribute values; each fusion into another library table is added by a call to ALF, values to be stored in components of the table object are added with ARC, and admissible names are notified with ALN. The argument of MOT that encodes the irreducible characters is abbreviated as follows. For each subset of characters that differ just by multiplication with a linear character or by Galois conjugacy, only the first one is given by its values, the others are replaced by [TENSOR,[i,j]] (which means that the character is the tensor product of the i-th and the j-th character in the list) or [GALOIS,[i,j]] (which means that the character is obtained from the i-th character by applying GaloisCyc( ., j ) to it.

Brauer tables are stored relative to the corresponding ordinary tables; attribute values that can be got by restriction from the ordinary table to p--regular classes are not stored, and instead of the irreducible characters the files contain (inverses of) decomposition matrices or Brauer trees for the blocks of nonzero defects.

Ordinary construction tables have a component construction, with value a function of one argument that is called by CharacterTable when the table is constructed (not when the file containing the table is read). The aim of this mechanism is to store structured character tables such as tables of direct products and tables of central extensions of other tables in a very compact way.

[Top] [Previous] [Up] [Next] [Index]

GAP 4 manual
February 2000