Goto Chapter: Top 1 2 3 4 5 6 7 Bib Ind
[Top of Book] [Contents] [Previous Chapter] [Next Chapter]

[MathJax off]

1 Introduction to the GAP Character Table Library
1.1 History of the GAP Character Table Library
1.2 What's New in CTblLib, Compared to Older Versions?
1.2-1 What's New in Version 1.3.4? (April 2022)
1.2-2 What's New in Version 1.3.3? (January 2022)
1.2-3 What's New in Version 1.3.2? (March 2021)
1.2-4 What's New in Version 1.3.1? (April 2020)
1.2-5 What's New in Version 1.3.0? (December 2019)
1.2-6 What's New in Version 1.2.2? (March 2013)
1.2-7 What's New in Version 1.2.0 and 1.2.1? (May 2012)
1.2-8 What's New in Version 1.1? (November 2003)
1.3 Acknowledgements

### 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.

Examples of character theoretic computations involving the GAP Character Table Library are part of the package. They are dealing with the following aspects.

- Maintenance issues concerning the GAP Character Table Library CTblLibXpls: Maintenance Issues for the GAP Character Table Library.

- Constructions of character tables using table automorphisms, see CTblLibXpls: Using Table Automorphisms for Constructing Character Tables in GAP.

- Computations of common central extensions, see CTblLibXpls: Constructing Character Tables of Central Extensions in GAP.

- Hamiltonian cycles in the generating graphs of finite groups, see CTblLibXpls: GAP Computations Concerning Hamiltonian Cycles in the Generating Graphs of Finite Groups.

- A question about the group PSO\(^+(8,5).S_3\), see CTblLibXpls: GAP Computations with O_8^+(5).S_3 and O_8^+(2).S_3.

- Solvable subgroups of maximal order in sporadic simple groups CTblLibXpls: Solvable Subgroups of Maximal Order in Sporadic Simple Groups.

- Large Nilpotent Subgroups of sporadic simple groups CTblLibXpls: Large Nilpotent Subgroups of Sporadic Simple Groups.

- Computations of possible permutation characters, see CTblLibXpls: Permutation Characters in GAP.

- Ambiguous class fusions, see CTblLibXpls: Ambiguous Class Fusions in the GAP Character Table Library.

- 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 CTblLibXpls: GAP computations needed in the proof of [DNT13, Theorem 6.1 (ii)].

- Probabilistic generation of finite simple groups, see [Bree] or an updated version at CTblLibXpls: GAP Computations Concerning Probabilistic Generation of Finite Simple Groups.

- Ordinary character tables, Brauer tables, and decomposition matrices, see `doc/ctbldeco.pdf` and `htm/ctbldeco.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`.

- The construction of some character tables of Atlas groups, using character theoretic methods, see [Brec] or an updated version at `doc/ctblatlas.pdf` and `htm/ctblatlas.htm`.

- The verification of the character table of the Baby Monster group, see [BMW20] or an updated version at `doc/ctblbm.pdf` and `htm/ctblbm.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.3.4,
      author =       {Breuer, T.},
      title =        {The \textsf{GAP} {C}haracter {T}able {L}ibrary,
                      {V}ersion 1.3.4},
      month =        {April},
      year =         {2022},
      note =         {\textsf{GAP} package},
      howpublished = {http://www.math.rwth-aachen.de/\~{}Thomas.Breuer/ctbllib}
    }

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

http://www.gap-system.org.

#### 1.1 History of the GAP Character Table Library

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 [CCN+85] 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 [CCN+85] 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.

#### 1.2 What's New in CTblLib, Compared to Older Versions?

The PDF file `doc/ctbldiff.pdf` of the package lists the important changes to the data since October 1996, mainly related to the relevant simple groups.

A perhaps more suitable overview of these changes is given by the GAP readable file `data/ctbldiff.json`, 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 and evaluated using `BrowseCTblLibDifferences` (3.5-4) if the Browse package (see [BL18]) is available.

##### 1.2-1 What's New in Version 1.3.4? (April 2022)

The release of Version 1.3.4 was necessary for technical reasons: Now the testfile mentioned in `PackageInfo.g` exits GAP in the end.

##### 1.2-2 What's New in Version 1.3.3? (January 2022)

The reason for this release was the addition of the new example section CTblLibXpls: Generation of sporadic simple groups by π- and π'-subgroups (December 2021), which requires the new data file `data/prim_perm_M.json`. (The data had already been used before in the example section CTblLibXpls: The Monster, which has now been changed accordingly.)

The database attribute `IsQuasisimple` has been added, which describes perfect central extensions of nonabelian simple groups. It can be used for example to select the character tables of quasisimple groups with `AllCharacterTableNames` (3.1-4). Thanks to Gunter Malle for suggesting this addition.

No new character tables have been added, and there are only a few new class fusions, admissible names, and group constructions.

##### 1.2-3 What's New in Version 1.3.2? (March 2021)

The main new features of this release are technical.

- The initialization of the database (at the time when the package gets loaded) has been changed. Instead of executing GAP code in the formerly available (huge) file `data/ctprimar.tbl`, now one calls a few short GAP functions, in the new file `gap4/ctprimar.g`, which evaluate JSON format files. This was one more step on the way to make the database independent of GAP.

- Also the files with the precomputed attribute values are now in JSON format, since now the Browse supports this format.

- The "WWW table of contents" of the package has been updated in the sense that it shows the same as the functions `DisplayCTblLibInfo` (3.5-1) and `BrowseCTblLibInfo` (3.5-2); at the same time, these functions have been extended in order to link each table to its main table and to its duplicates. The code for creating the HTML files is now distributed with the package, in the `ctbltoc` directory.

- The mechanism for processing the package documentation (which contains two GAPDoc books) has been changed to a more standard way. Now it is enough to process one GAP input file in the package directory.

In several `InfoText` (3.7-5) values of character tables, information about group constructions has been added; where possible, these constructions are now also available via `GroupInfoForCharacterTable` (3.3-1); for example, this function now supports also the construction of a group as the automorphism group of a simple group. (Thanks to Gunter Malle for ideas and discussions about this feature.)

The function `BrowseAtlasImprovements` (3.5-10) can now show (also) the improvements for the Atlas of Brauer Characters [JLPW95].

The strings `"L2(49)"` and `"L2(81)"` are now valid inputs for `DisplayAtlasMap` (3.5-8) and `BrowseAtlasTable` (3.5-9), and `DisplayAtlasContents` (3.5-6) and `BrowseAtlasContents` (3.5-5) now show information about these two and `"L6(2)"` and `"S10(2)"`.

Besides these changes, a few new tables and class fusions have been added. A few new examples of applications have been added, see the sections 2.3-10, CTblLibXpls: The Character Table of 4.L_2(49).2_3 (December 2020), CTblLibXpls: The Character Table of 4.L_2(81).2_3 (December 2020).

##### 1.2-4 What's New in Version 1.3.1? (April 2020)

This release was motivated by small technical changes: A few typos were fixed, an acknowledgement was added, the directory name of the package now contains the version number (in order not to overwrite older versions), and the process to generate the package documentation was made independent of other packages.

Besides that, the function `CharacterTableComputedByMagma` (6.5-3) was made more robust.

In particular, the data part of the package was not changed at all.

##### 1.2-5 What's New in Version 1.3.0? (December 2019)

We distinguish bug fixes, new features, new character table data, new data of other kind, and changed documentation.

The following bugs were fixed.

- The \(2\)-modular Brauer table of the character table with the identifier `"3.(2x2^(1+8)):(U4(2):2x2)"` was wrong, due to an error in the GAP function that constructs this Brauer table from the known Brauer table of \(U_4(2).2\); this was the only case in the library that was affected by this bug. (Thanks to Jürgen Müller who pointed out this error.)

- The \(2\)-power map of the character table with the identifier `"2.F4(2).2"` was wrong, see Section CTblLibXpls: An Error in a Power Map of the Character Table of 2.F_4(2).2 (November 2015). (This error has been found in the context of the computations that are described in [BMO17].)

- The character table of \(E_6(2)\) was wrong w. r. t. some irrational character values and power maps on the classes of element order \(91\), see Section CTblLibXpls: An Error in the Character Table of E_6(2) (March 2016). (Thanks to Bill Unger who pointed out this error.)

- Character tables with construction info `ConstructAdjusted` (5.8-12) had immutable `ComputedPowerMaps` (Reference: ComputedPowerMaps) values, which made it impossible to add more power maps. (Thanks to Fabian Gundlach who pointed out this error.)

The following features have been added.

- The functions `AllCharacterTableNames` (3.1-4), `OneCharacterTableName` (3.1-5), and `BrowseCTblLibInfo` (3.5-2) support now the global option `OrderedBy`.

- The operation `BrauerTable` (3.1-3) now admits also a string as its first argument, and then delegates to the ordinary character table with this name.

- The operation `BrauerTable` (3.1-3) is now successful also if the ordinary character table in question has the attribute `ConstructionInfoCharacterTable` (3.7-4) set and the first entry of the attribute value is the string `"ConstructGS3"` and the Brauer tables for the character tables involved in the construction are available, see Section CTblLibXpls: Examples for the Type G.S_3.

- The function `CambridgeMaps` (6.4-1) has been improved in the sense that "relative" class names such as `"B*2"` occur whenever this is possible, where the element order does not appear in the class name, and a Galois automorphism describes the relation to another class. (The character table with identifier `"L2(13)"` is an example for which the result is now different.)

- The function `ConstructIsoclinic` (5.8-10) has been extended, according to the extended functionality of `CharacterTableIsoclinic` (Reference: CharacterTableIsoclinic). For examples, see the sections CTblLibXpls: Groups of the Structures 3.U_3(8).3_1 and 3.U_3(8).6 (February 2017) and CTblLibXpls: The Character Table of 9.U_3(8).3_3 (March 2017).

- There is now a default `InfoText` (3.7-5) method for library character tables, which returns an empty string. This admits searches for properties of the info text via `AllCharacterTableNames` (3.1-4). Similarly, also properties of `Identifier` (Reference: Identifier for character tables) can now be searched efficiently, see `AllCharacterTableNames` (3.1-4) for examples.

- With the user preference `DisplayFunction` of the AtlasRep package (see Section 4.5-3), one can configure how functions like `DisplayCTblLibInfo` (3.5-1) place their output on the screen. (Up to now, the function `Pager` (Reference: Pager) had always been called.)

- The definition of "duplicate tables" has been extended in order to get a better integration of the SpinSym package, see Section 3.6.

- A new variant of the function `GAPTableOfMagmaFile` (6.5-2) admits entering a MAGMA format string instead of the name of a file that contains this string.

- The new function `CharacterTableComputedByMagma` (6.5-3) uses the MAGMA system (if this is available) for computing the character table of a permutation group.

- The new function `NotifyCharacterTables` (4.7-6) is more efficient than `NotifyCharacterTable` (4.7-5) if one wants to add several private character tables at the same time.

- In the tables of maximal subgroups and Sylow \(p\) normalizers shown by `DisplayCTblLibInfo` (3.5-1) and `BrowseCTblLibInfo` (3.5-2), the former `Name` column has been replaced by two columns `Structure` (which tries to show information about the structures of the groups, using `StructureDescriptionCharacterTableName` (7.2-1)) and `Name` (which just shows the identifiers of the character tables). This improvement arose from a discussion with Gabriel Navarro.

- The former GAP readable text file `data/ctbldiff.dat` has been replaced by the (still GAP readable) JSON format file `data/ctbldiff.json`. (It is planned for future releases to replace more data files by JSON format files, in order to make the data independent of GAP.)

- Two filenames of the package have been changed, from `ctadmin.tbd` and `ctadmin.tbi` to `ctadmin.gd` and `ctadmin.gi`, respectively.

Concerning added character table data, the full list of differences w. r. t. earlier versions can be found in the file `data/ctbldiff.json` of the package; see `BrowseCTblLibDifferences` (3.5-4) for a way to utilize this list in a GAP session.

The following other data have been added.

- `GroupInfoForCharacterTable` (3.3-1) works now for more character tables than before.

  In particular there are representations for all Atlas groups (bicyclic extensions of simple groups whose character tables are shown in the Atlas of Finite Groups [CCN+85], up to isoclinism), except the groups \(2.B\) and \(M\); several of these representations were computed in the context of the computations that are described in [BMO17].

  Also the library tables of groups that occur in GAP's library of primitive groups (the GAP package PrimGrp) know about this fact; note that older versions of PrimGrp contained only groups of degree at most \(2499\).

  See Section CTblLibXpls: Some finite factor groups of perfect space groups (February 2014) for some other representations that are now available.

Finally, the documentation was changed as follows.

- Several of the files showing examples of character theoretic computations with GAP have been turned into the GAPDoc book "CTblLibXpls", see above. Some advantages of this new setup are that the contents can be accessed also in GAP's interactive help, and that cross-referencing is simpler.

##### 1.2-6 What's New in Version 1.2.2? (March 2013)

The following bugs were fixed.

- The functions `AllCharacterTableNames` (3.1-4) and `OneCharacterTableName` (3.1-5) 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. An example is \((A_5 \times A_5).2\), created as a subdirect product of two copies of \(S_5\).

##### 1.2-7 What's New in Version 1.2.0 and 1.2.1? (May 2012)

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.

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 (see [LN18]).

- 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 documented, see Section 3.6. As a consequence, the behaviour of `AllCharacterTableNames` (3.1-4) has changed in situations where `IsSimple` (Reference: IsSimple for a character table) or `IsSporadicSimple` (Reference: IsSporadicSimple for a character table) occur as arguments (see Reference: Group Operations Applicable to Character Tables), 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 [BL18]) has been loaded. See the documentation of `AllCharacterTableNames` (3.1-4) 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 [BL18]) has been loaded.

- An interactive overview of the contents is now available that is based on the Browse package [BL18], 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.

##### 1.2-8 What's New in Version 1.1? (November 2003)

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 [WPN+19]) 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).

#### 1.3 Acknowledgements

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), the Schwerpunkt "Algorithmische Zahlentheorie und Algebra" (from 1991 until 1997), and the SFB-TRR 195 "Symbolic Tools in Mathematics and their Applications" (Project-ID 286237555, since 2017).

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 [CH05].

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 (see [LN18]), on which the manual of the CTblLib package is based. The previously available documentation format had been completely inappropriate.

[Top of Book] [Contents] [Previous Chapter] [Next Chapter]
Goto Chapter: Top 1 2 3 4 5 6 7 Bib Ind

generated by GAPDoc2HTML