1 Introduction to the **GAP** Character Table Library

The usefulness of **GAP** for character theoretic tasks depends on the availability of many known character tables, and there are a lot of character tables in the **GAP** table library. Of course, this library is "open" in the sense that it shall be extended. So we would be grateful for any further tables of interest sent to us for inclusion into our library. Please offer interesting new character tables via e-mail to sam@math.rwth-aachen.de.

It depends on your **GAP** installation whether the character table library is available. You can check this as follows.

gap> InstalledPackageVersion( "ctbllib" ) <> fail; true

If the result is `false`

then the library is not installed, and you may ask your system administrator for installing it, or install the library in your home directory, see Section 4.5-1.

For general information about character tables in **GAP**, see Chapter Reference: Character Tables.

The `doc`

and `htm`

directories of the **GAP** Character Table Library contain several files with examples of character theoretic computations, in PDF and HTML format. Currently these are

Ambiguous class fusions, see

`doc/ambigfus.pdf`

and`htm/ambigfus.htm`

.Constructions of character tables using table automorphisms, see

`doc/ctblcons.pdf`

and`htm/ctblcons.htm`

.Ordinary character tables, Brauer tables, and decomposition matrices, see

`doc/ctbldeco.pdf`

and`htm/ctbldeco.htm`

.Constructing the irreducible characters of J_4 from one faithful character, see

`doc/ctblj4.pdf`

and`htm/ctblj4.htm`

.Computations of possible permutation characters, see

`doc/ctblpope.pdf`

and`htm/ctblpope.htm`

.Computations of common central extensions, see

`doc/ctocenex.pdf`

and`htm/ctocenex.htm`

.Some computations concerning the classification of groups with the property that all complex irreducible characters of the same degree are Galois conjugate (together with Klaus Lux), see

`doc/dntgap.pdf`

and`htm/dntgap.htm`

.Hamiltonian cycles in the generating graphs of finite groups, see

`doc/hamilcyc.pdf`

and`htm/hamilcyc.htm`

.Multiplicity-free permutation characters of the sporadic simple groups and their automorphism groups, see

`doc/multfree.pdf`

and`htm/multfree.htm`

.Multiplicity-free permutation characters of central extensions of the sporadic simple groups, and their automorphic extensions (together with Jürgen Müller), see

`doc/multfre2.pdf`

and`htm/multfre2.htm`

.A question about the group PSO^+(8,5).S_3, see

`doc/o8p2s3_o8p5s3.pdf`

and`htm/o8p2s3_o8p5s3.htm`

.Probabilistic generation of finite simple groups, see

`doc/probgen.pdf`

and`htm/probgen.htm`

.Solvable subgroups of maximal order in sporadic simple groups

`doc/sporsolv.pdf`

and`htm/sporsolv.htm`

.Maintenance issues concerning the

**GAP**Character Table Library`doc/maintain.pdf`

and`htm/maintain.htm`

.

If you use the **GAP** Character Table Library to solve a problem then please send a short e-mail to sam@math.rwth-aachen.de about it. The **GAP** Character Table Library database should be referenced as follows.

@misc{ CTblLib1.2.1, author = {Breuer, T.}, title = {The \textsf{GAP} {C}haracter {T}able {L}ibrary, {V}ersion 1.2.1}, month = {May}, year = {2012}, note = {\textsf{GAP} package}, howpublished = {http://www.math.rwth-aachen.de/\~{}Thomas.Breuer/ctbllib} }

For referencing the **GAP** system in general, use the entry [GAP] in the bibliography of this manual, see also

The first version of the **GAP** Character Table Library was released with **GAP** 3.1 in March 1992.

It was the first aim of this library to continue the character table library of the **CAS** system (see [NPP84]) in **GAP**, as a part of the process of reimplementing the algorithms of **CAS** in **GAP**, see Reference: History of Character Theory Stuff in GAP. **GAP** 3.1 provided only very restricted methods for computing character tables from groups, so its character theory part was concerned mainly with library tables.

A second aspect of the character table library was to make all character tables shown in the **Atlas** of Finite Groups [CCNPW85] available in **GAP**. In fact **GAP** turned out to provide a very good environment for systematic checks of these character tables.

To some extent, the access to the (ordinary) character tables in [CCNPW85] was a prerequisite for storing also the corresponding Brauer character tables in the **GAP** Character Table Library. Already **GAP** 3.1 contained many of these tables. They have been computed mainly "outside of **GAP**", using the methods described in [HJLP], and part of the library has been published in the **Atlas** of Brauer Characters [JLPW95]. One of the roles of **GAP** was again to perform systematic checks.

Besides these projects, many individual character tables have been added to the **GAP** Character Table Library since the times of **GAP** 3.1. They were computed from groups or with character theoretic methods or using a combination of these two possibilities (see, e. g., [NPP84] and [LP91]).

Section 4.1 lists some of the sources. The changes in the **GAP** Character Table Library since the release of **GAP** 4.1 (in July 1999) are individually documented in the file `doc/ctbldiff.pdf`

of the package.

Currently the main focus in the development of the **GAP** Character Table Library is –besides the addition of tables that appear to be interesting– the better interaction with other databases, such as the **Atlas** of Group Representations and the **GAP** Library of Tables of Marks (see the **GAP** packages **AtlasRep** and **TomLib**) and **GAP**'s group libraries, and an improvement of the "database" aspect of the character table library itself, see the sections 3.1 and 3.5.

Until the release of **GAP** 4.3 in spring 2002, the **GAP** Character Table Library had been a part of the main **GAP** library. With **GAP** 4.3, it was "split off" as a **GAP** package.

The following bugs were fixed in version 1.2.2.

The functions

`AllCharacterTableNames`

(3.1-3) and`OneCharacterTableName`

(3.1-4) ran into an error in certain situations, if the library had been extended by private tables, see Section 4.7. (As a consequence, the description of`IsDuplicateTable`

(3.6-1) has been extended.) Thanks to Alexander Konovalov and Lukas Maas for pointing out this error.The function

`CharacterTableOfIndexTwoSubdirectProduct`

(5.5-1) returned a wrong result if the two factors were given by the same character table, for example in the case of (A_5 × A_5).2 created as a subdirect product of two copies of S_5.

Concerning character table data, we have the following.

A few bugs in character tables have been fixed.

Several class fusions stored in character tables have been changed, in order to be more consistent with related data, see Section 4.9 for reasons of such changes.

Many new character tables have been added. For example, a character table is available for each table of marks in the

**TomLib**package.

Like in earlier versions, the PDF file `doc/ctbldiff.pdf`

of the package lists the important changes, mainly related to the relevant simple groups. However, a probably more suitable overview is given by the **GAP** readable file `data/ctbldiff.dat`

, which contains a complete overview of all changes, including the additions of class fusions. (Note that each added or changed fusion is mentioned twice in this list, once for the "from" table and once for the "to" table.) This list of changes can be shown using `BrowseCTblLibDifferences`

(3.5-4) if the **Browse** package (see [BL12]) is available.

Besides these changes of the data, the following features are new.

A tutorial for beginners was added to the package manual, see Chapter 2, and the package manual was restructured. The manual is now based on the

**GAPDoc**package.Generic constructions of Brauer tables are now available if the underlying ordinary table is encoded via

`ConstructMGA`

(5.8-1),`ConstructIndexTwoSubdirectProduct`

(5.5-2), or`ConstructV4G`

(5.8-4), and if the Brauer tables of the compound tables are known.The attributes

`FusionToTom`

(3.2-4) and`Maxes`

(3.7-1) are no longer set in duplicate tables. This can be regarded as a bugfix, in the following sense. For the sake of consistency, it would in general be necessary to apply a permutation to the fusion into the table of marks, and to add the class fusions from the tables of the maximal subgroups to the duplicate table.The consistency checks for character tables have been improved and are now documented, see Section 4.8. Due to these checks, several class fusions had to be replaced.

The concept of duplicate character tables is now explicit, see Section 3.6. As a consequence, the behaviour of

`AllCharacterTableNames`

(3.1-3) has changed in situations where`IsSimple`

and`IsSporadicSimple`

(see Reference: Group Operations Applicable to Character Tables) occur, as follows. In earlier versions of the package, duplicate tables had automatically been excluded. From now on, duplicates can be excluded if one wants so, but they are not automatically excluded. This change may be regarded as a bugfix.Several attribute values for character tables, such as

`Size`

(Reference: Size) and`NrConjugacyClasses`

(Reference: NrConjugacyClasses) are now available without reading the character table data files, provided that the**Browse**package (see [BL12]) has been loaded. See the documentation of`AllCharacterTableNames`

(3.1-3) for details; this function is much faster if only these attributes appear in the conditions given. Thus it is now more reasonable to use this function for searches in the table library.**GAP**'s group libraries provide many groups for which the Character Table Library contains the character tables. Given a character table from the library, one can list and access available groups with the functions described in Section 3.3, provided that the**Browse**package (see [BL12]) has been loaded.An interactive overview of the contents is now available that is based on the

**Browse**package [BL12], see Section 3.5.Information about Deligne-Lusztig names of unipotent characters of finite groups of Lie type is now available, see Section 3.4.

An interface for reading

**Magma**tables was added, see Section 6.5.

First of all, of course several character tables were added; for an overview, see the file `doc/ctbldiff.pdf`

in the home directory of the package. Also lots of class fusions were added. This includes factor fusions onto the tables of the factor groups modulo the largest normal p-subgroups whenever the tables of the factors are available; these maps admit the automatic construction of the p-modular Brauer tables if the corresponding tables of the factors are available. For example, the 2-modular Brauer table of the maximal subgroup of the type 2^10:M_22 in the group Fi_22 is available because of the known 2-modular table of M_22 and the stored factor fusion onto the table of M_22.

Second, more information has been made more explicit, in the following sense.

`Identifier`

(Reference: Identifier (for character tables)) values of tables that are constructed from generic tables are now valid arguments of`CharacterTable`

(Reference: CharacterTable), for example`CharacterTable( "C10" )`

and`CharacterTable( "Sym(5)" )`

can be used to create the character table of the cyclic group of order 10 and of the symmetric group of degree 5, respectively.Attributes have been introduced that replace more or less hidden components (see Section 3.7); in particular, the way how many ordinary tables are encoded via the construction from other tables is no longer encapsulated in a function call but instead the name of the function and the arguments are stored as an attribute value (see

`ConstructionInfoCharacterTable`

(3.7-4)).The functions that are used for the table constructions have been documented (see Chapter 5).

Several consistency checks are now part of the package distribution, in the files

`gap4/test.gd`

and`gap4/test.gi`

. However, currently they are not documented. The new file`tst/testall.g`

lists the files that belong to the "standard test suite". Further checks involving the**GAP**Character Table Library are parts of the**GAP**packages AtlasRep (see [WPNBB07]) and TomLib.As a part of the consistency checks, class fusions between character tables and from character tables into corresponding tables of marks have been recomputed, and the

`text`

components have been standardized; this means that the texts express whether the maps are unique, unique up to table automorphisms, or ambiguous. However, currently this is not documented.One can now avoid unloading the contents of data files, which can speed up computations involving many library tables. (In version 1.1, the function

`CTblLibSetUnload`

had been provided for that. Since version 1.2, a**GAP**4.5 user preference replaces this function.)

Third, several errors have been corrected (again see `doc/ctbldiff.pdf`

). Most of them affect class fusions, and for most of those, the term "error" could be regarded as not really appropriate. See 4.9 for details.

Finally, the **GAP** functions for reading and writing other formats of character tables have been moved from the main **GAP** library to this package (see Chapter 6), because they are useful only for library tables. The **GAP** 3 format is now also supported, mainly for documentation purposes (see Section 6.3).

The development of the **GAP** Character Table Library has been supported by several DFG grants, in particular the project "Representation Theory of Finite Groups and Finite Dimensional Algebras" (until 1991), and the Schwerpunkt "Algorithmische Zahlentheorie und Algebra" (from 1991 until 1997).

The functions for the conversion of **CAS** tables to **GAP** format have been written by Götz Pfeiffer. The functions for converting the so-called "Cambridge format" (in which the original data of the **Atlas** of Finite Groups had been stored) to **GAP** format have been written by Christoph Jansen.

The generic character tables of double covers of alternating and symmetric groups were contributed by Felix Noeske, see [Noe02].

The functions in Section 3.4 (`DeligneLusztigName`

(3.4-3), `DeligneLusztigNames`

(3.4-2), and `UnipotentCharacter`

(3.4-1)) as well as the corresponding data for the finite groups of Lie type in the **GAP** Character Table Library have been contributed by Michael Claßen-Houben, see [Cla05].

Several character tables of maximal subgroups of covering groups of simple groups have been computed by Sebastian Dany, see [Dan06].

Thanks to Frank Lübeck and Max Neunhöffer for their help with solving technical problems concerning the HMTL part of the example files that belong to the package documentation, and to Ian Hutchinson whose TeX to HTML translator `TtH`

was used to provide these HTML files.

Thanks to Frank Lübeck and Max Neunhöffer also for developing the **GAPDoc** package, on which the manual of the **CTblLib** package is based. The previously available documentation format had been completely inappropriate.

generated by GAPDoc2HTML