% This file was created automatically from introduc.msk.
% DO NOT EDIT!
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%
%W  introduc.msk          GAP 4 package `ctbllib'               Thomas Breuer
%%
%H  @(#)$Id: introduc.msk,v 1.13 2004/03/30 09:57:32 gap Exp $
%%
%Y  Copyright (C) 2001,  Lehrstuhl D fuer Mathematik,   RWTH Aachen,  Germany
%%


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\Chapter{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 is 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~\Mailto{sam@math.rwth-aachen.de}.
% A cross-reference to this address is at the end of another chapter!

It depends on your {\GAP} installation whether the character table library
is available.
You can check this as follows.
\beginexample
gap> InstalledPackageVersion( "ctbllib" ) <> fail;
true
\endexample
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~"Installing the GAP Character Table Library").

For general information about character tables in {\GAP},
see Chapter~"ref:Character Tables" in the {\GAP} Reference Manual.

The `doc' directory of the {\GAP} Character Table Library contains several
files with demonstrations of computations with character tables.
Currently these are `ambigfus.pdf', `ctbldeco.pdf', `ctblj4.pdf',
`ctblpope.pdf', `ctocenex.pdf', `multfree.pdf', and `multfre2.pdf'.

If you use the {\GAP} Character Table Library to solve a problem then
please send a short email to~\Mailto{sam@math.rwth-aachen.de} about it.
The {\GAP} Character Table Library database should be referenced
with the entry~\cite{CTblLib} in the bibliography of this manual.

For referencing the {\GAP} system in general,
use the entry~\cite{GAP4} in the bibliography of this manual.


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\Section{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 {\sf CAS} system (see~\cite{NPP84}) in {\GAP},
as a part of the process of reimplementing the algorithms of {\sf CAS}
in {\GAP} (see~"ref:History of Character Theory Stuff in GAP" in the
{\GAP} Reference Manual).
{\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 (\cite{CCN85})
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~\cite{CCN85}
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~\cite{HJLP92},
and part of the library has been published in the {\ATLAS} of Brauer
Characters (\cite{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., \cite{NPP84} and \cite{LP91}).
Section~"Contents of the GAP Character Table Library" 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
`ctbldiff.pdf' which can be found in the `doc' directory of the package.

In the meantime, a rudimentary interface between groups in {\GAP} and the
tables in the {\GAP} Character Table Library has been provided
(see~"ref:The Interface between Character Tables and Groups" in the {\GAP}
Reference Manual).
Similarly, there is an interface to the {\GAP} Libary of Tables of Marks
(see~"ref:The Interface between Tables of Marks and Character Tables"
in the {\GAP} Reference Manual).

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 (see the {\GAP}~4 package AtlasRep),
and an improvement of the ``database'' aspect of the character table library
itself, for example by providing a ``WWW table of contents''.

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.


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\Section{Installing the GAP Character Table Library}

To install the package unpack the archive file in a
directory in the `pkg' directory of your local copy of {\GAP}~4.
This might be the `pkg' directory of the {\GAP}~4 home directory,
see Section~"ref:Installing a GAP Package"
of the {\GAP}~4 Reference Manual for details.
It is however also possible to keep an additional `pkg' directory
in your private directories,
see~"ref:GAP Root Directory" of the {\GAP}~4 Reference Manual.
The latter possibility *must* be chosen if you do not have write access
to the {\GAP} root directory.

The package consists entirely of {\GAP} code,
no external binaries need to be compiled.

For checking the installation of the package, you should start {\GAP},
load the package (see~"Loading the GAP Character Table Library"),
and then call
\begintt
gap> ReadPackage( "ctbllib", "tst/testinst.g" );
\endtt
If the installation is o.k.~then `true' is printed, and the {\GAP} prompt
appears again;
otherwise the output lines tell you what should be changed.

More testfiles are available in the `tst' directory of the package.



%T add a section "Sanity Checks for ..."!

Both dvi and pdf versions of the package manual are available
(as `manual.dvi' and `manual.pdf' respectively) in the `doc' directory
of the package,
and an HTML version can be found in the `htm' directory.


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\Section{Loading the GAP Character Table Library}

The {\GAP} Character Table Library may be loaded automatically when {\GAP}
is started,
or it has to be loaded within {\GAP} as follows.
\beginexample
gap> LoadPackage( "ctbllib" );
true
\endexample
See~"ref:Loading a GAP Package" in the {\GAP} Reference Manual
for details about these alternatives;
also the possibility to disable automatic loading of the package
is described in this manual section.
The default is that the {\GAP} Character Table Library is loaded
automatically.

If the main memory of your computer is large enough then it may save time
to keep all data in memory once they have been loaded,
see~"CTblLibSetUnload".


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\Section{What's New in Version 1.1?}

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.
\beginlist
\item{--}
    `Identifier' values of tables that are constructed from generic tables
    are now valid arguments of `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.
\item{--}
    Attributes have been introduced that replace more or less hidden
    components (see~"Access to Library Character Tables");
    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").
\item{--}
    The functions that are used for the table constructions have been
    documented (see Chapter~"Functions for Character Table Constructions").
\item{--}
    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~\cite{AtlasRep}) and TomLib.
\item{--}
    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.
\item{--}
    One can now avoid unloading the contents of data files, which can speed
    up computations involving many library tables (see~"CTblLibSetUnload").
\endlist

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.
The point is that there are class fusions which predate the availability of
Brauer tables in the Character Table Library (in fact many of them have been
inherited from the library of the {\sf CAS} system),
but they are not compatible with the Brauer tables.
For example, there are four possible class fusion from $M_{23}$ into $Co_3$,
which lie in one orbit under the relevant groups of table automorphisms;
two of these maps are not compatible with the $3$-modular Brauer tables of
$M_{23}$ and $Co_3$, and unfortunately the class fusion that was stored on
the {\sf CAS} tables --and that was available in version 1.0 of the {\GAP}
Character Table Library-- was one of the not compatible maps.
One could argue that the class fusion has older rights,
and that the Brauer tables should be adjusted to them, but the Brauer tables
are published in the {\ATLAS} of Brauer Characters~\cite{JLPW95},
which is an accepted standard.

Finally, the {\GAP} functions for reading and writing other formats of
character tables have been moved here from the main {\GAP} library
(see Chapter~"Interfaces to Other Data Formats for Character Tables"),
because they are useful only for library tables.
The {\GAP}~3 format is now also supported, mainly for documentation
purposes (see~"Interface to GAP 3").


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\Section{Acknowledgements}

The functions for the conversion of {\sf CAS} tables to {\GAP} format have
been written by G{\accent127 o}tz Pfeiffer.
The functions for converting the ``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 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).

Thanks to Frank L{\accent127 u}beck and Max Neunh{\accent127 o}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.

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%
%E

