%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%
%A  gettable.tex                GAP documentation               Thomas Breuer
%%
%A  @(#)$Id: gettable.tex,v 3.19 1994/06/30 15:33:20 vfelsch Rel $
%%
%Y  Copyright 1990-1992,  Lehrstuhl D fuer Mathematik,  RWTH Aachen,  Germany
%%
%H  $Log: gettable.tex,v $
%H  Revision 3.19  1994/06/30  15:33:20  vfelsch
%H  included final changes for version 3.4
%H
%H  Revision 3.18  1994/06/18  12:24:10  sam
%H  fixed 'identifier' components in the text
%H
%H  Revision 3.17  1994/06/10  03:16:52  vfelsch
%H  updated examples
%H
%H  Revision 3.16  1994/06/03  08:57:20  mschoene
%H  changed a few things to avoid LaTeX warnings
%H
%H  Revision 3.15  1994/05/19  13:48:01  sam
%H  added section 'Selecting Library Tables', updates
%H
%H  Revision 3.14  1993/02/19  10:48:42  gap
%H  adjustments in line length and spelling
%H
%H  Revision 3.13  1993/02/15  10:28:24  felsch
%H  examples fixed
%H
%H  Revision 3.11  1992/10/15  08:47:25  sam
%H  mentioned new file 'ctomaxi4.tbl'
%H
%H  Revision 3.10  1992/08/07  13:39:13  sam
%H  added pictures for online help
%H
%H  Revision 3.9  1992/04/07  23:05:55  martin
%H  changed the author line
%H
%H  Revision 3.8  1992/04/01  12:05:02  sam
%H  little changes concerning contents of 'TBLNAME'
%H
%H  Revision 3.7  1992/03/27  16:45:21  sam
%H  removed reference 'Character Tables of Weyl Groups'
%H
%H  Revision 3.6  1992/03/27  14:08:09  sam
%H  removed "'" in index entries
%H
%H  Revision 3.5  1992/02/13  15:03:18  sam
%H  renamed 'MatrixAutomorphisms' to 'MatAutomorphisms'
%H
%H  Revision 3.4  1992/01/14  14:13:15  martin
%H  changed two more citations
%H
%H  Revision 3.3  1992/01/14  14:03:20  sam
%H  adjusted citations
%H
%H  Revision 3.2  1992/01/09  11:18:04  sam
%H  removed use of 'SetRecField'
%H
%H  Revision 3.1  1991/12/30  08:08:05  sam
%H  initial revision under RCS
%H
%%
\Chapter{Character Table Libraries}\index{character tables}%
\index{tables}\index{library tables}\index{generic character tables}

The utility of {\GAP} for character theoretical tasks depends on the
availability of many known character tables, so there is a lot of tables
in the {\GAP} group collection.

There are three different libraries of character tables, namely
*ordinary character tables*, *Brauer tables* and *generic character tables*.

Of course, these libraries are ``open\'\'\ in the sense that they shall be
extended. So we would be grateful for any further tables of interest sent
to us for inclusion into our libraries.

This chapter mainly explains properties not of single tables but of the
libraries and their structure; for the format of character tables, see
"Character Table Records", "Brauer Table Records" and chapter
"Generic Character Tables".

The chapter informs about
\begin{itemize}
\item the actually available tables (see "Contents of the Table Libraries"),
\item the sublibraries of {\ATLAS} tables (see "ATLAS Tables") and {\CAS}
      tables (see "CAS Tables"),
\item the organization of the libraries 
      (see "Organization of the Table Libraries"),
\item and how to extend a library (see "How to Extend a Table Library").
\end{itemize}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\Section{Contents of the Table Libraries}%
\index{character tables!libraries of}%
\index{tables!libraries of}\index{libraries of character tables}

As stated at the beginning of the chapter, there are three libraries of
character tables\:\ ordinary character tables, Brauer tables, and generic
character tables.

*Ordinary Character Tables*

Two different aspects are useful to list up the ordinary character tables
available to {\GAP}:\ the aspect of *source* of the tables and that of
*connections* between the tables.

As for the source, there are two big sources, the {\ATLAS} (see "ATLAS Tables")
and the {\CAS} library of character tables.
Many {\ATLAS} tables are contained in the {\CAS} library, and difficulties may
arise because the succession of characters or classes in {\CAS} tables and
{\ATLAS} tables are different, so see "CAS Tables" and "Character Table
Records" for the relations between the (at least) two forms of the same table.
A large subset of the {\CAS} tables is the set of tables of Sylow normalizers
of sporadic simple groups as published in~\cite{Ost86}, so this may be
viewed as another source.

To avoid confusions about the actual format of a table, authorship and
so on, the 'text' component of the table contains the information

'origin\:\ ATLAS of finite groups': \\ for {\ATLAS} tables
          (see "ATLAS Tables")

'origin\:\ Ostermann': \\ for tables of \cite{Ost86} and

'origin\:\ CAS library': \\ for any table of the {\CAS} table library that is
          contained neither in the {\ATLAS} nor in \cite{Ost86}.

If one is interested in the aspect of connections between the tables, i.e.,
the internal structure of the library of ordinary tables (which corresponds
to the access to character tables, as described in "CharTable"),
the contents can be listed up the following way\:

We have
\begin{itemize}
\item all {\ATLAS} tables (see "ATLAS Tables"), i.e.\ the tables of the
      simple groups which are contained in the {\ATLAS}, and the tables of
      cyclic and bicyclic extensions of these groups;
\item most tables of maximal subgroups of sporadic simple groups
      (*not all* for HN, F3+, B, M);
\item some tables of maximal subgroups of other {\ATLAS} tables (*which?*)
\item most nontrivial Sylow normalizers of sporadic simple groups as printed
      in~\cite{Ost86}, where nontrivial means that the group is not
      contained in $p$\:$(p-1)$
      (*not* $J_4N2$, $Co_1N2$, $Co_1N5$,
       all of $Fi_{23}$, $Fi_{24}^{\prime}$, $B$, $M$, $HN$,
       and $Fi_{22}N2$)
\item some tables of element centralizers
\item some tables of Sylow subgroups
\item a few other tables, e.g.\ 'W(F4)'\\
      {*namely which?*}
\end{itemize}

*Brauer Tables*

This library contains the tables of the modular {\ATLAS} which are yet
known.  Some of them still contain unknowns (see "Unknown").
Since there is ongoing work in computing new tables, this library is
changed nearly every day.

These Brauer tables contain the information

|    origin: modular ATLAS of finite groups|

in their text component.

*Generic Character Tables*

At the moment, generic tables of the following groups are available in {\GAP} 
(see "CharTable")\:

\begin{itemize}
\item alternating groups
\item cyclic groups,
\item dihedral groups,
\item some linear groups,
\item quaternionic (dicyclic) groups
\item Suzuki groups,
\item symmetric groups,
\item wreath products of a group with a symmetric group
      (see "CharTableWreathSymmetric"),
\item Weyl groups of types $B_n$ and $D_n$
\end{itemize}

% *Not all these are really implemented as generic tables!!!*

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\Section{Selecting Library Tables}

Single library tables can be selected by their name (see "CharTable" for
admissible names of library tables, and "Contents of the Table Libraries"
for the organization of the library).

In general it does not make sense to select tables with respect to certain
properties, as is useful for group libraries (see "Group Libraries").
But it may be useful to get an overview of *all* library tables, or all
library tables of *simple* groups, or all library tables of *sporadic simple*
groups.  It is sufficient to know an admissible name of these tables, so they
need not be loaded.  A table can then be read using "CharTable" 'CharTable'.

The mechanism is similar to that for group libraries.

'AllCharTableNames()': \\
         returns a list with an admissible name for every library table,

'AllCharTableNames( IsSimple )': \\
         returns a list with an admissible name for every library table
         of a simple group,

'AllCharTableNames( IsSporadicSimple )': \\
         returns a list with an admissible name for every library table
         of a sporadic simple group.

\vspace{5mm}

Admissible names of *maximal subgroups* of sporadic simple groups are
stored in the component 'maxes' of the tables of the sporadic simple
groups.  Thus

|    gap> maxes:= CharTable( "M11" ).maxes;
    [ "A6.2_3", "L2(11)", "3^2:Q8.2", "A5.2", "2.S4" ] |

returns the list containing these names for the Mathieu group $M_{11}$,
and

|    gap> List( maxes, CharTable );
    [ CharTable( "A6.2_3" ), CharTable( "L2(11)" ),
      CharTable( "3^2:Q8.2" ), CharTable( "A5.2" ), CharTable( "2.S4" ) ] |

will read them from the library files.

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\Section{ATLAS Tables}\index{character tables!ATLAS}%
\index{tables!library}\index{library of character tables}

\def\ttquote{\char13}
\setlength{\unitlength}{0.1cm}

The {\GAP} group collection contains all character tables that are included in
the Atlas of finite groups (\cite{CCN85}, from now on called {\ATLAS})
and the Brauer tables contained in the modular {\ATLAS} 
(\cite{LPW92}).
Although the Brauer tables form a library of their own, they are
described here since all conventions for {\ATLAS} tables stated here hold
for Brauer tables, too.

*Additionally some conventions are necessary  about follower characters!*


These tables have the information

|    origin: ATLAS of finite groups|

resp.

|    origin: modular ATLAS of finite groups|

in their 'text' component, further on they are simply called {\ATLAS} tables.

In addition to the information given in Chapters 6--8 of the {\ATLAS} which
tell how to read the printed tables, there are some rules relating these
to the corresponding {\GAP} tables.

*Improvements*

Note that for the {\GAP} library not the printed {\ATLAS} is relevant but the
revised version given by the list of\ \ *Improvements to the ATLAS*\ \ which
can be got from Cambridge.

Also some tables are regarded as {\ATLAS} tables which are not printed in
the {\ATLAS} but available in {\ATLAS} format from Cambridge; at the moment,
these are the tables related to $L_2(49)$, $L_2(81)$, $L_6(2)$,
$O_8^-(3)$, $O_8^+(3)$ and $S_{10}(2)$.

*Powermaps*

In a few cases (namely the tables of $3.McL$, $3_2.U_4(3)$ and its covers,
$3_2.U_4(3).2_3$ and its covers) the powermaps are not uniquely determined
by the given information but determined up to matrix automorphisms
(see "MatAutomorphisms") of the characters; then the first possible
map according to lexicographical ordering was chosen, and the automorphisms
are listed in the 'text' component of the concerned table.

*Projective Characters*

For any nontrivial multiplier of a simple group or of an automorphic extension
of a simple group, there is a component 'projectives' in the table of $G$
that is a list of records with the names of the covering group (e.g.
'\"12\_1.U4(3)\"') and the list of those faithful characters which are printed
in the \ATLAS (so--called {\it proxy characters}). 

*Projections*

{\ATLAS} tables contain the component 'projections'\:\ 
For any covering group of $G$ for which the character table is available in
{\ATLAS} format a record is stored there containing components 'name'
(the name of the cover table) and 'map' (the projection map);
the projection maps any class of $G$ to that preimage in the cover for that
the column is printed in the \ATLAS;
it is called $g_0$ in Chapter 7, Section 14 there.

(In a sense, a projection map is an inverse of the factor
fusion from the cover table to the actual table (see "ProjectionMap").)

*Tables of Isoclinic Groups*

As described in Chapter 6, Section 7 and Chapter 7, Section 18 of the \ATLAS,
there exist two different groups of structure $2.G.2$ for a simple group $G$
which are isoclinic. The {\ATLAS} table in the library is that which is
printed in the \ATLAS, the isoclinic variant can be got using
"CharTableIsoclinic" 'CharTableIsoclinic'.

*Succession of characters and classes*

(Throughout this paragraph, $G$ always means the involved simple group.)
\begin{enumerate}
\item For $G$ itself, the succession of classes and characters in the
      {\GAP} table is as printed in the \ATLAS.
\item For an automorphic extension $G.a$, there are three types of
      characters\:
\begin{itemize}
\item If a character $\chi$ of $G$ extends to $G.a$, the different extensions
      $\chi^0,\chi^1,\ldots,\chi^{a-1}$ are consecutive
      (see {\ATLAS}, Chapter 7, Section 16).
\item If some characters of $G$ fuse to give a single character of $G.a$,
      the position of that character is the position of the first involved 
      character of $G$.
\item If both extension and fusion occurs, the result characters are
      consecutive, and each replaces the first involved character.
\end{itemize}
\item Similarly, there are different types of classes for an automorphic
      extension $G.a$\:
\begin{itemize}
\item If some classes collapse, the result class replaces the first involved
      class.
\item For $a > 2$, any proxy class and its followers are consecutive;
      if there are more than one followers for a proxy class (the only case that
      occurs is for $a = 5$), the succession
      of followers is the natural one of corresponding galois automorphisms
      (see {\ATLAS}, Chapter 7, Section 19).
\end{itemize}
      The classes of $G.a_1$ always precede the outer classes of $G.a_2$ for
      $a_1, a_2$ dividing $a$ and $a_1 \< a_2$. This succession is like in
      the \ATLAS, with the only exception $U_3(8).6$.
\item For a central extension $M.G$, there are different types of characters\:
\begin{itemize}
\item Every character can be regarded as a faithful character
      of the factor group $m.G$, where $m$ divides $M$.
      Characters faithful for the same factor group are consecutive like in the
      \ATLAS, the succession of these sets of characters is given by the
      order of precedence $1, 2, 4, 3, 6, 12$ for the different values of $m$.
\item If $m > 2$, a faithful character of $m.G$ that is printed in the {\ATLAS} 
      (a so-called \mbox{\em proxy}) represents one or more
      \mbox{\em followers}, this means galois conjugates of the proxy;
      in any {\GAP} table, the proxy precedes its followers;
      the case $m = 12$ is the only one that occurs with more than one follower
      for a proxy, then the three followers are ordered according to the
      corresponding galois automorphisms 5, 7, 11 (in that succession).
\end{itemize}
\item For the classes of a central extension we have\:
\begin{itemize}
\item The preimages of a $G$-class in $M.G$ are subsequent, the succession is
      the same as that of the lifting order rows in the \ATLAS.
\item The primitive roots of unity chosen to represent the generating central
      element (class 2) are 'E(3)', 'E(4)', 'E(6)\^5' ('= E(2) \* E(3)') and
      'E(12)\^7' ('= E(3) \* E(4)') for $m = 3, 4, 6$ and $12$, respectively.
\end{itemize}
\item For tables of bicyclic extensions $m.G.a$, both the rules for automorphic
      and central extensions hold; additionally we have\:
\begin{itemize}
\item Whenever classes of the subgroup $m.G$ collapse or characters fuse, the
      result class resp. character replaces the first involved class resp.
      character. 
\item Extensions of a character are subsequent, and the extensions of a proxy
      character precede the extensions of its followers.
\item Preimages of a class are subsequent, and the preimages of a proxy class
      precede the preimages of its followers.
\end{itemize}
\end{enumerate}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\newpage
\Section{Examples of the ATLAS format for GAP tables}
\index{character tables!CAS}\index{tables!library}
\index{library of character tables}

We give three little examples for the conventions stated in "ATLAS Tables",
listing up the {\ATLAS} format and the table displayed by \GAP.

First, let $G$ be the trivial group.
The cyclic group $C_6$ of order 6 can be viewed in several ways\:

\begin{enumerate}
\item As a downward extension of the factor group $C_2$ which contains $G$ as
a subgroup; equivalently, as an upward extension of the subgroup $C_3$ which
has a factor group $G$\:

%ignore
\begin{picture}(110,55)
\put(-2,23){
\begin{picture}(29,29)
\put(0,29){\line(1,0){14}}
\put(0,15){\line(1,0){14}}
\put(0,14){\line(1,0){14}}
\put(0,0){\line(1,0){14}}
\put(15,29){\line(1,0){14}}
\put(15,15){\line(1,0){14}}
\put(15,14){\line(1,0){14}}
\put(15,0){\line(1,0){14}}
\put(0,15){\line(0,1){14}}
\put(0,0){\line(0,1){14}}
\put(14,15){\line(0,1){14}}
\put(15,15){\line(0,1){14}}
\put(29,15){\line(0,1){14}}
\put(14,0){\line(0,1){14}}
\put(15,0){\line(0,1){14}}
\put(29,0){\line(0,1){14}}
\put(7,7){\makebox(0,0){3.G}}
\put(22,7){\makebox(0,0){3.G.2}}
\put(7,22){\makebox(0,0){G}}
\put(22,22){\makebox(0,0){G.2}}
\end{picture}}
\put(37,52){\makebox(0,0)[tl]{
\small\tt
\begin{minipage}{2in}
\baselineskip0.9ex
\parskip0.2ex

\ \ \ \ ;\ \ \ @\ \ \ ;\ \ \ ;\ \ \ @\ \par
\ \par
\ \ \ \ \ \ \ \ 1\ \ \ \ \ \ \ \ \ \ \ 1\ \par
\ \ p\ power\ \ \ \ \ \ \ \ \ \ \ A\ \par
\ \ p\ttquote\ part\ \ \ \ \ \ \ \ \ \ \ A\ \par
\ \ ind\ \ 1A\ fus\ ind\ \ 2A\ \par
\ \par
$\chi_1$\ \ +\ \ \ 1\ \ \ \:\ \ ++\ \ \ 1\ \par
\ \par
\ \ ind\ \ \ 1\ fus\ ind\ \ \ 2\ \par
\ \ \ \ \ \ \ \ 3\ \ \ \ \ \ \ \ \ \ \ 6\ \par
\ \ \ \ \ \ \ \ 3\ \ \ \ \ \ \ \ \ \ \ 6\ \par
\ \par
$\chi_2$\ o2\ \ \ 1\ \ \ \:\ oo2\ \ \ 1\ 
\end{minipage}}}

\put(83,52){\makebox(0,0)[tl]{
\small\tt
\begin{minipage}{2in}
\baselineskip2.7ex
\parskip0ex

\ \ \ 2\ \ \ 1\ \ \ 1\ \ \ 1\ \ \ 1\ \ \ 1\ \ \ 1 \par
\ \ \ 3\ \ \ 1\ \ \ 1\ \ \ 1\ \ \ 1\ \ \ 1\ \ \ 1 \par
 \par
\ \ \ \ \ \ 1a\ \ 3a\ \ 3b\ \ 2a\ \ 6a\ \ 6b \par
\ \ 2P\ \ 1a\ \ 3b\ \ 3a\ \ 1a\ \ 3b\ \ 3a \par
\ \ 3P\ \ 1a\ \ 1a\ \ 1a\ \ 2a\ \ 2a\ \ 2a \par
 \par
X.1\ \ \ \ 1\ \ \ 1\ \ \ 1\ \ \ 1\ \ \ 1\ \ \ 1 \par
X.2\ \ \ \ 1\ \ \ 1\ \ \ 1\ \ -1\ \ -1\ \ -1 \par
X.3\ \ \ \ 1\ \ \ A\ \ /A\ \ \ 1\ \ \ A\ \ /A \par
X.4\ \ \ \ 1\ \ \ A\ \ /A\ \ -1\ \ -A\ -/A \par
X.5\ \ \ \ 1\ \ /A\ \ \ A\ \ \ 1\ \ /A\ \ \ A \par
X.6\ \ \ \ 1\ \ /A\ \ \ A\ \ -1\ -/A\ \ -A \par
 \par
A\ =\ E(3) \par
\ \ =\ (-1+ER(-3))/2\ =\ b3 \par

\end{minipage}}}
\end{picture}
%end
%display
% -------   -------       ;   @   ;   ;   @      2   1   1   1   1   1   1
%|       | |       |          1           1      3   1   1   1   1   1   1
%|   G   | |  G.2  |    p power           A
%|       | |       |    p' part           A         1a  3a  3b  2a  6a  6b
% -------   -------     ind  1A fus ind  2A     2P  1a  3b  3a  1a  3b  3a
% -------   -------                             3P  1a  1a  1a  2a  2a  2a
%|       | |       |  X1  +   1   :  ++   1
%|  3.G  | | 3.G.2 |                          X.1    1   1   1   1   1   1
%|       | |       |    ind   1 fus ind   2   X.2    1   1   1  -1  -1  -1
% -------   -------           3           6   X.3    1   A  /A   1   A  /A
%                             3           6   X.4    1   A  /A  -1  -A -/A
%                                             X.5    1  /A   A   1  /A   A
%                     X2 o2   1   : oo2   1   X.6    1  /A   A  -1 -/A  -A
%
%                                             A = E(3)
%                                               = (-1+ER(-3))/2 = b3
%end

'X.1', 'X.2' extend $\chi_1$. 'X.3', 'X.4' extend the proxy character
$\chi_2$. 'X.5', 'X.6' extend its follower.
'1a', '3a', '3b' are preimages of '1A', and '2a', '6a', '6b' are preimages
of '2A'.

\item As a downward extension of the factor group $C_3$ which contains $G$ as
a subgroup; equivalently, as an upward extension of the subgroup $C_2$ which
has a factor group $G$\:

%ignore
\begin{picture}(110,55)
\put(-2,23){
\begin{picture}(29,29)
\put(0,29){\line(1,0){14}}
\put(0,15){\line(1,0){14}}
\put(0,14){\line(1,0){14}}
\put(0,0){\line(1,0){14}}
\put(15,29){\line(1,0){14}}
\put(15,15){\line(1,0){14}}
\put(15,14){\line(1,0){14}}
\put(15,0){\line(1,0){14}}
\put(0,15){\line(0,1){14}}
\put(0,0){\line(0,1){14}}
\put(14,15){\line(0,1){14}}
\put(15,15){\line(0,1){14}}
\put(29,15){\line(0,1){14}}
\put(14,0){\line(0,1){14}}
\put(15,0){\line(0,1){14}}
\put(29,0){\line(0,1){14}}
\put(7,7){\makebox(0,0){2.G}}
\put(22,7){\makebox(0,0){2.G.3}}
\put(7,22){\makebox(0,0){G}}
\put(22,22){\makebox(0,0){G.3}}
\end{picture}}
\put(37,52){\makebox(0,0)[tl]{
\small\tt
\begin{minipage}{2in}
\baselineskip0.9ex
\parskip0.2ex

\ \ \ \ ;\ \ \ @\ \ \ ;\ \ \ ;\ \ \ @ \par
\ \par
\ \ \ \ \ \ \ \ 1\ \ \ \ \ \ \ \ \ \ \ 1 \par
\ \ p\ power\ \ \ \ \ \ \ \ \ \ \ A \par
\ \ p\ttquote\ part\ \ \ \ \ \ \ \ \ \ \ A \par
\ \ ind\ \ 1A\ fus\ ind\ \ 3A \par
\ \par
$\chi_1$\ \ +\ \ \ 1\ \ \ \:\ +oo\ \ \ 1 \par
\ \par
\ \ ind\ \ \ 1\ fus\ ind\ \ \ 3 \par
\ \ \ \ \ \ \ \ 2\ \ \ \ \ \ \ \ \ \ \ 6 \par
\ \par
$\chi_2$\ \ +\ \ \ 1\ \ \ \:\ +oo\ \ \ 1 \par
\end{minipage}}}

\put(83,52){\makebox(0,0)[tl]{
\small\tt
\begin{minipage}{2in}
\baselineskip2.7ex
\parskip0ex

\ \ \ 2\ \ \ 1\ \ \ 1\ \ \ 1\ \ \ 1\ \ \ 1\ \ \ 1 \par
\ \ \ 3\ \ \ 1\ \ \ 1\ \ \ 1\ \ \ 1\ \ \ 1\ \ \ 1 \par
 \par
\ \ \ \ \ \ 1a\ \ 2a\ \ 3a\ \ 6a\ \ 3b\ \ 6b \par
\ \ 2P\ \ 1a\ \ 1a\ \ 3b\ \ 3b\ \ 3a\ \ 3a \par
\ \ 3P\ \ 1a\ \ 2a\ \ 1a\ \ 2a\ \ 1a\ \ 2a \par
 \par
X.1\ \ \ \ 1\ \ \ 1\ \ \ 1\ \ \ 1\ \ \ 1\ \ \ 1 \par
X.2\ \ \ \ 1\ \ \ 1\ \ \ A\ \ \ A\ \ /A\ \ /A \par
X.3\ \ \ \ 1\ \ \ 1\ \ /A\ \ /A\ \ \ A\ \ \ A \par
X.4\ \ \ \ 1\ \ -1\ \ \ 1\ \ -1\ \ \ 1\ \ -1 \par
X.5\ \ \ \ 1\ \ -1\ \ \ A\ \ -A\ \ /A\ -/A \par
X.6\ \ \ \ 1\ \ -1\ \ /A\ -/A\ \ \ A\ \ -A \par
 \par
A\ =\ E(3) \par
\ \ =\ (-1+ER(-3))/2\ =\ b3 \par
\end{minipage}}}
\end{picture}
%end
%display
% -------   -------       ;   @   ;   ;   @      2   1   1   1   1   1   1
%|       | |       |          1           1      3   1   1   1   1   1   1
%|   G   | |  G.3  |    p power           A  
%|       | |       |    p' part           A         1a  2a  3a  6a  3b  6b
% -------   -------     ind  1A fus ind  3A     2P  1a  1a  3b  3b  3a  3a
% -------   -------                             3P  1a  2a  1a  2a  1a  2a
%|       | |       |  X1  +   1   : +oo   1  
%|  2.G  | | 2.G.3 |                          X.1    1   1   1   1   1   1
%|       | |       |    ind   1 fus ind   3   X.2    1   1   A   A  /A  /A
% -------   -------           2           6   X.3    1   1  /A  /A   A   A
%                                             X.4    1  -1   1  -1   1  -1
%                     X2  +   1   : +oo   1   X.5    1  -1   A  -A  /A -/A
%                                             X.6    1  -1  /A -/A   A  -A
%
%                                             A = E(3)
%                                               = (-1+ER(-3))/2 = b3
%end

'X.1'-'X.3' extend $\chi_1$, 'X.4'-'X.6' extend $\chi_2$.
'1a', '2a' are preimages of '1A'. '3a', '6a' are preimages of
the proxy class '3A', and '3b', '6b' are preimages of its follower class.

\newpage
\item As a downward extension of the factor groups $C_3$ and $C_2$ which have
$G$ as a factor group\:

%ignore
\begin{picture}(110,70)
\put(-2,8){
\begin{picture}(14,59)
\put(0,59){\line(1,0){14}}
\put(0,45){\line(1,0){14}}
\put(0,44){\line(1,0){14}}
\put(0,30){\line(1,0){14}}
\put(0,29){\line(1,0){14}}
\put(0,15){\line(1,0){14}}
\put(0,14){\line(1,0){14}}
\put(0,0){\line(1,0){14}}
\put(0,45){\line(0,1){14}}
\put(0,30){\line(0,1){14}}
\put(0,15){\line(0,1){14}}
\put(0,0){\line(0,1){14}}
\put(14,45){\line(0,1){14}}
\put(14,30){\line(0,1){14}}
\put(14,15){\line(0,1){14}}
\put(14,0){\line(0,1){14}}
\put(7,7){\makebox(0,0){6.G}}
\put(7,22){\makebox(0,0){3.G}}
\put(7,37){\makebox(0,0){2.G}}
\put(7,52){\makebox(0,0){G}}
\end{picture}}
\put(37,67){\makebox(0,0)[tl]{
\small\tt
\begin{minipage}{2in}
\baselineskip0.9ex
\parskip0.2ex

\ \ \ \ ;\ \ \ @ \par
\ \  \par
\ \ \ \ \ \ \ \ 1 \par
\ \ p\ power \par
\ \ p\ttquote\ part \par
\ \ ind\ \ 1A \par
\ \  \par
$\chi_1$\ \ +\ \ \ 1 \par
\ \  \par
\ \ ind\ \ \ 1 \par
\ \ \ \ \ \ \ \ 2 \par
\ \  \par
$\chi_2$\ \ +\ \ \ 1 \par
\ \  \par
\ \ ind\ \ \ 1 \par
\ \ \ \ \ \ \ \ 3 \par
\ \ \ \ \ \ \ \ 3 \par
\ \  \par
$\chi_3$\ o2\ \ \ 1 \par
\ \  \par
\ \ ind\ \ \ 1 \par
\ \ \ \ \ \ \ \ 6 \par
\ \ \ \ \ \ \ \ 3 \par
\ \ \ \ \ \ \ \ 2 \par
\ \ \ \ \ \ \ \ 3 \par
\ \ \ \ \ \ \ \ 6 \par
\ \  \par
$\chi_4$\ o2\ \ \ 1 \par
\end{minipage}}}

\put(83,67){\makebox(0,0)[tl]{
\small\tt
\begin{minipage}{2in}
\baselineskip2.7ex
\parskip0ex

\ \ \ 2\ \ \ 1\ \ \ 1\ \ \ 1\ \ \ 1\ \ \ 1\ \ \ 1 \par
\ \ \ 3\ \ \ 1\ \ \ 1\ \ \ 1\ \ \ 1\ \ \ 1\ \ \ 1 \par
 \par
\ \ \ \ \ \ 1a\ \ 6a\ \ 3a\ \ 2a\ \ 3b\ \ 6b \par
\ \ 2P\ \ 1a\ \ 3a\ \ 3b\ \ 1a\ \ 3a\ \ 3b \par
\ \ 3P\ \ 1a\ \ 2a\ \ 1a\ \ 2a\ \ 1a\ \ 2a \par
 \par
X.1\ \ \ \ 1\ \ \ 1\ \ \ 1\ \ \ 1\ \ \ 1\ \ \ 1 \par
X.2\ \ \ \ 1\ \ -1\ \ \ 1\ \ -1\ \ \ 1\ \ -1 \par
X.3\ \ \ \ 1\ \ \ A\ \ /A\ \ \ 1\ \ \ A\ \ /A \par
X.4\ \ \ \ 1\ \ /A\ \ \ A\ \ \ 1\ \ /A\ \ \ A \par
X.5\ \ \ \ 1\ \ -A\ \ /A\ \ -1\ \ \ A\ -/A \par
X.6\ \ \ \ 1\ -/A\ \ \ A\ \ -1\ \ /A\ \ -A \par
 \par
A\ =\ E(3) \par
\ \ =\ (-1+ER(-3))/2\ =\ b3 \par
\end{minipage}}}
\end{picture}
%end
%display
% -------           ;   @        2   1   1   1   1   1   1 
%|       |              1        3   1   1   1   1   1   1 
%|   G   |        p power     
%|       |        p' part           1a  6a  3a  2a  3b  6b 
% -------         ind  1A       2P  1a  3a  3b  1a  3a  3b 
% -------                       3P  1a  2a  1a  2a  1a  2a 
%|       |      X1  +   1     
%|  2.G  |                    X.1    1   1   1   1   1   1 
%|       |        ind   1     X.2    1  -1   1  -1   1  -1 
% -------               2     X.3    1   A  /A   1   A  /A 
% -------                     X.4    1  /A   A   1  /A   A 
%|       |      X2  +   1     X.5    1  -A  /A  -1   A -/A 
%|  3.G  |                    X.6    1 -/A   A  -1  /A  -A 
%|       |        ind   1     
% -------               3     A = E(3) 
% -------               3       = (-1+ER(-3))/2 = b3 
%|       |                 
%|  6.G  |      X3 o2   1     
%|       |                    
% -------         ind   1     
%                       6     
%                       3     
%                       2     
%                       3     
%                       6     
%                          
%               X4 o2   1     
%end

'X.1', 'X.2' correspond to $\chi_1, \chi_2$, respectively; 'X.3', 'X.5'
correspond to the proxies $\chi_3, \chi_4$, and 'X.4', 'X.6' to their followers.
The factor fusion onto $3.G$ is '[ 1, 2, 3, 1, 2, 3 ]', that onto $G.2$ is
'[ 1, 2, 1, 2, 1, 2 ]'.

\item As an upward extension of the subgroups $C_3$ or $C_2$ which both contain
a subgroup $G$\:

%ignore
\begin{picture}(110,55)
\put(-2,38){
\begin{picture}(59,14)
\put(0,0){\line(1,0){14}}
\put(0,0){\line(0,1){14}}
\put(0,14){\line(1,0){14}}
\put(14,0){\line(0,1){14}}
\put(7,7){\makebox(0,0){G}}
\put(15,0){\line(1,0){14}}
\put(15,0){\line(0,1){14}}
\put(15,14){\line(1,0){14}}
\put(29,0){\line(0,1){14}}
\put(22,7){\makebox(0,0){G.2}}
\put(30,0){\line(1,0){14}}
\put(30,0){\line(0,1){14}}
\put(30,14){\line(1,0){14}}
\put(44,0){\line(0,1){14}}
\put(37,7){\makebox(0,0){G.3}}
\put(45,0){\line(1,0){14}}
\put(45,0){\line(0,1){14}}
\put(45,14){\line(1,0){14}}
\put(59,0){\line(0,1){14}}
\put(52,7){\makebox(0,0){G.6}}
\end{picture}}
\put(-2,30){\makebox(0,0)[tl]{
\small\tt
\begin{minipage}{4in}
\baselineskip0.9ex
\parskip0.2ex

\ \ \ \ ;\ \ \ @\ \ \ ;\ \ \ ;\ \ \ @\ \ \ ;\ \ \ ;\ \ \ @\ \ \ ;\ \ \ \ \ ;\ \ \ @\ \par
\ \par
\ \ \ \ \ \ \ \ 1\ \ \ \ \ \ \ \ \ \ \ 1\ \ \ \ \ \ \ \ \ \ \ 1\ \ \ \ \ \ \ \ \ \ \ \ \ 1\ \par
\ \ p\ power\ \ \ \ \ \ \ \ \ \ \ A\ \ \ \ \ \ \ \ \ \ \ A\ \ \ \ \ \ \ \ \ \ \ \ AA\ \par
\ \ p\ttquote\ part\ \ \ \ \ \ \ \ \ \ \ A\ \ \ \ \ \ \ \ \ \ \ A\ \ \ \ \ \ \ \ \ \ \ \ AA\ \par
\ \ ind\ \ 1A\ fus\ ind\ \ 2A\ fus\ ind\ \ 3A\ fus\ \ \ ind\ \ 6A\ \par
\ \par
$\chi_1$\ \ +\ \ \ 1\ \ \ \:\ \ ++\ \ \ 1\ \ \ \:\ +oo\ \ \ 1\ \ \ \:+oo+oo\ \ \ 1\ \par
\end{minipage}}}

\put(83,52){\makebox(0,0)[tl]{
\small\tt
\begin{minipage}{2in}
\baselineskip2.7ex
\parskip0ex

\ \ \ 2\ \ \ 1\ \ \ 1\ \ \ 1\ \ \ 1\ \ \ 1\ \ \ 1 \par
\ \ \ 3\ \ \ 1\ \ \ 1\ \ \ 1\ \ \ 1\ \ \ 1\ \ \ 1 \par
 \par
\ \ \ \ \ \ 1a\ \ 2a\ \ 3a\ \ 3b\ \ 6a\ \ 6b \par
\ \ 2P\ \ 1a\ \ 1a\ \ 3b\ \ 3a\ \ 3b\ \ 3a \par
\ \ 3P\ \ 1a\ \ 2a\ \ 1a\ \ 1a\ \ 2a\ \ 2a \par
 \par
X.1\ \ \ \ 1\ \ \ 1\ \ \ 1\ \ \ 1\ \ \ 1\ \ \ 1 \par
X.2\ \ \ \ 1\ \ -1\ \ \ A\ \ /A\ \ -A\ -/A \par
X.3\ \ \ \ 1\ \ \ 1\ \ /A\ \ \ A\ \ /A\ \ \ A \par
X.4\ \ \ \ 1\ \ -1\ \ \ 1\ \ \ 1\ \ -1\ \ -1 \par
X.5\ \ \ \ 1\ \ \ 1\ \ \ A\ \ /A\ \ \ A\ \ /A \par
X.6\ \ \ \ 1\ \ -1\ \ /A\ \ \ A\ -/A\ \ -A \par
 \par
A\ =\ E(3) \par
\ \ =\ (-1+ER(-3))/2\ =\ b3 \par
\end{minipage}}}
\end{picture}
%end
%display
% -------   -------  -------   -------          
%|       | |       ||       | |       |         
%|   G   | |  G.2  ||  G.3  | |  G.6  |         
%|       | |       ||       | |       |         
% -------   -------  -------   -------          
%                                               
%    ;   @   ;   ;   @   ;   ;   @   ;     ;   @
%                                               
%        1           1           1             1
%  p power           A           A            AA
%  p' part           A           A            AA
%  ind  1A fus ind  2A fus ind  3A fus   ind  6A
%                                               
%X1  +   1   :  ++   1   : +oo   1   :+oo+oo   1
%
%
%    2   1   1   1   1   1   1
%    3   1   1   1   1   1   1
%
%       1a  2a  3a  3b  6a  6b
%   2P  1a  1a  3b  3a  3b  3a
%   3P  1a  2a  1a  1a  2a  2a
% X.1    1   1   1   1   1   1
% X.2    1  -1   A  /A  -A -/A
% X.3    1   1  /A   A  /A   A
% X.4    1  -1   1   1  -1  -1
% X.5    1   1   A  /A   A  /A
% X.6    1  -1  /A   A -/A  -A
% 
% A = E(3) 
%   = (-1+ER(-3))/2 = b3
%end

'1a', '2a' correspond to $1A, 2A$, respectively; '3a', '6a'
correspond to the proxies $3A, 6A$, and '3b', '6b' to their followers.

\end{enumerate}

\newpage
The second example explains the fusion case; again, $G$ is the trivial group.

%ignore
\begin{picture}(110,95)
\put(0,33){
\begin{picture}(29,59)
\put(0,59){\line(1,0){14}}
\put(0,45){\line(1,0){14}}
\put(0,44){\line(1,0){14}}
\put(0,30){\line(1,0){14}}
\put(0,29){\line(1,0){14}}
\put(0,15){\line(1,0){14}}
\put(0,14){\line(1,0){14}}
\put(0,0){\line(1,0){14}}
\put(0,45){\line(0,1){14}}
\put(0,30){\line(0,1){14}}
\put(0,15){\line(0,1){14}}
\put(0,0){\line(0,1){14}}
\put(14,45){\line(0,1){14}}
\put(14,30){\line(0,1){14}}
\put(14,15){\line(0,1){14}}
\put(14,0){\line(0,1){14}}
\put(15,59){\line(1,0){14}}
\put(15,45){\line(1,0){14}}
\put(15,44){\line(1,0){14}}
\put(15,30){\line(1,0){14}}
\put(15,29){\line(1,0){14}}
\put(15,14){\line(1,0){14}}
\put(15,45){\line(0,1){14}}
\put(15,30){\line(0,1){14}}
\put(15,15){\line(0,1){14}}
\put(15,0){\line(0,1){14}}
\put(29,45){\line(0,1){14}}
\put(29,30){\line(0,1){14}}
\put(7,7){\makebox(0,0){6.G}}
\put(7,22){\makebox(0,0){3.G}}
\put(7,37){\makebox(0,0){2.G}}
\put(7,52){\makebox(0,0){G}}
\put(22,7){\makebox(0,0){6.G.2}}
\put(22,22){\makebox(0,0){3.G.2}}
\put(22,37){\makebox(0,0){2.G.2}}
\put(22,52){\makebox(0,0){G.2}}
\end{picture}}
\put(39,92){\makebox(0,0)[tl]{
\small\tt
\begin{minipage}{2in}
\baselineskip0.9ex
\parskip0.2ex

\ \ \ \ ;\ \ \ @\ \ \ ;\ \ \ ;\ \ @\ \par
\ \ \ \par
\ \ \ \ \ \ \ \ 1\ \ \ \ \ \ \ \ \ \ 1\ \par
\ \ p\ power\ \ \ \ \ \ \ \ \ \ A\ \par
\ \ p\ttquote\ part\ \ \ \ \ \ \ \ \ \ A\ \par
\ \ ind\ \ 1A\ fus\ ind\ 2A\ \par
\ \ \ \par
$\chi_1$\ \ +\ \ \ 1\ \ \ \:\ \ ++\ \ 1\ \par
\ \ \ \par
\ \ ind\ \ \ 1\ fus\ ind\ \ 2\ \par
\ \ \ \ \ \ \ \ 2\ \ \ \ \ \ \ \ \ \ 2\ \par
\ \ \ \par
$\chi_2$\ \ +\ \ \ 1\ \ \ \:\ \ ++\ \ 1\ \par
\ \ \ \par
\ \ ind\ \ \ 1\ fus\ ind\ \ 2\ \par
\ \ \ \ \ \ \ \ 3\ \par
\ \ \ \ \ \ \ \ 3\ \par
\ \ \ \par
$\chi_3$\ o2\ \ \ 1\ \ \ \*\ \ \ +\ \par
\ \ \ \par
\ \ ind\ \ \ 1\ fus\ ind\ \ 2\ \par
\ \ \ \ \ \ \ \ 6\ \ \ \ \ \ \ \ \ \ 2\par
\ \ \ \ \ \ \ \ 3\ \par
\ \ \ \ \ \ \ \ 2\ \par
\ \ \ \ \ \ \ \ 3\ \par
\ \ \ \ \ \ \ \ 6\ \par
\ \ \ \par
$\chi_4$\ o2\ \ \ 1\ \ \ \*\ \ \ +\ \par
\end{minipage}}}

\put(85,92){\makebox(0,0)[tl]{
\small\tt
\begin{minipage}{2in}
\baselineskip2.7ex
\parskip0ex

$3.G.2$ \par
 \par
\ \ \ 2\ \ \ 1\ \ \ .\ \ \ 1 \par
\ \ \ 3\ \ \ 1\ \ \ 1\ \ \ . \par
 \par
\ \ \ \ \ \ 1a\ \ 3a\ \ 2a \par
\ \ 2P\ \ 1a\ \ 3a\ \ 1a \par
\ \ 3P\ \ 1a\ \ 1a\ \ 2a \par
 \par
X.1\ \ \ \ 1\ \ \ 1\ \ \ 1 \par
X.2\ \ \ \ 1\ \ \ 1\ \ -1 \par
X.3\ \ \ \ 2\ \ -1\ \ \ . \par
 \par
\ 
 \par
$6.G.2$ \par
 \par
\ \ \ 2\ \ \ 2\ \ \ 1\ \ \ 1\ \ \ 2\ \ \ 2\ \ \ 2 \par
\ \ \ 3\ \ \ 1\ \ \ 1\ \ \ 1\ \ \ 1\ \ \ .\ \ \ . \par
 \par
\ \ \ \ \ \ 1a\ \ 6a\ \ 3a\ \ 2a\ \ 2b\ \ 2c \par
\ \ 2P\ \ 1a\ \ 3a\ \ 3a\ \ 1a\ \ 1a\ \ 1a \par
\ \ 3P\ \ 1a\ \ 2a\ \ 1a\ \ 2a\ \ 2b\ \ 2c \par
 \par
Y.1\ \ \ \ 1\ \ \ 1\ \ \ 1\ \ \ 1\ \ \ 1\ \ \ 1 \par
Y.2\ \ \ \ 1\ \ \ 1\ \ \ 1\ \ \ 1\ \ -1\ \ -1 \par
Y.3\ \ \ \ 1\ \ -1\ \ \ 1\ \ -1\ \ \ 1\ \ -1 \par
Y.4\ \ \ \ 1\ \ -1\ \ \ 1\ \ -1\ \ -1\ \ \ 1 \par
Y.5\ \ \ \ 2\ \ -1\ \ -1\ \ \ 2\ \ \ .\ \ \ . \par
Y.6\ \ \ \ 2\ \ \ 1\ \ -1\ \ -2\ \ \ .\ \ \ . \par

\end{minipage}}}
\end{picture}
%end
%display
% -------   -------        ;   @   ;   ;  @      3.G.2
%|       | |       |           1          1      
%|   G   | |  G.2  |     p power          A         2   1   .   1 
%|       | |       |     p' part          A         3   1   1   .  
% -------   -------      ind  1A fus ind 2A        
% -------   -------                                    1a 3a 2a 
%|       | |       |   X1  +   1   :  ++  1        2P  1a 3a 1a 
%|  2.G  | | 2.G.2 |                               3P  1a 1a 2a 
%|       | |       |     ind   1 fus ind  2      
% -------   -------            2          2      X.1    1  1  1 
% -------   -------                              X.2    1  1 -1 
%|       | |           X2  +   1   :  ++  1      X.3    2 -1  . 
%|  3.G  | | 3.G.2                          
%|       | |             ind   1 fus ind  2 
% -------                      3                 6.G.2 
% -------   -------            3                 
%|       | |                                        2   2  1  1  2  2  2
%|  6.G  | | 6.G.2     X3 o2   1   *   +            3   1  1  1  1  .  .
%|       | |                                    
% -------                ind   1 fus ind  2            1a 6a 3a 2a 2b 2c
%                              6          2        2P  1a 3a 3a 1a 1a 1a
%                              3                   3P  1a 2a 1a 2a 2b 2c
%                              2                 
%                              3                 Y.1    1  1  1  1  1  1
%                              6                 Y.2    1  1  1  1 -1 -1
%                                                Y.3    1 -1  1 -1  1 -1
%                      X4 o2   1   *   +         Y.4    1 -1  1 -1 -1  1
%                                                Y.5    2 -1 -1  2  .  .
%                                                Y.6    2  1 -1 -2  .  .
%end

The tables of $G, 2.G, 3.G, 6.G$ and $G.2$ are known from the first example,
that of $2.G.2 \cong V_4$ will be given in the next one.
So here we only print the {\GAP} tables of $3.G.2 \cong D_6$ and
$6.G.2 \cong D_{12}$\:

In $3.G.2$, 'X.1', 'X.2' extend $\chi_1$; $\chi_3$ and its follower fuse to
give 'X.3', and two of the preimages of '1A' collapse.

In $6.G.2$, 'Y.1'-'Y.4' are extensions of $\chi_1, \chi_2$, so these characters
are the inflated characters from $2.G.2$ (with respect to the factor fusion
'[ 1, 2, 1, 2, 3, 4 ]'). 'Y.5' is inflated from $3.G.2$ (with respect to the
factor fusion '[ 1, 2, 2, 1, 3, 3 ]'), and 'Y.6' is the result of the fusion
of $\chi_4$ and its follower.

\newpage
For the last example, let $G$ be the group $2^2$.
Consider the following tables\:

%ignore
\begin{picture}(110,125)
\put(0,93){
\begin{picture}(29,29)
\put(0,29){\line(1,0){14}}
\put(0,15){\line(1,0){14}}
\put(0,14){\line(1,0){14}}
\put(0,0){\line(1,0){14}}
\put(15,29){\line(1,0){14}}
\put(15,15){\line(1,0){14}}
\put(15,14){\line(1,0){14}}
\put(15,0){\line(1,0){14}}
\put(0,15){\line(0,1){14}}
\put(0,0){\line(0,1){14}}
\put(14,15){\line(0,1){14}}
\put(15,15){\line(0,1){14}}
\put(29,15){\line(0,1){14}}
\put(14,0){\line(0,1){14}}
\put(15,0){\line(0,1){14}}
\put(29,0){\line(0,1){14}}
\put(7,7){\makebox(0,0){2.G}}
\put(22,7){\makebox(0,0){2.G.3}}
\put(7,22){\makebox(0,0){G}}
\put(22,22){\makebox(0,0){G.3}}
\end{picture}}

\put(81,91){\line(0,1){8}}  % fusion sign in picture
\put(39,122){\makebox(0,0)[tl]{
\small\tt
\begin{minipage}{3in}
\baselineskip0.9ex
\parskip0.2ex

\ \ \ \ ;\ \ \ @\ \ \ @\ \ \ @\ \ \ @\ \ \ ;\ \ \ ;\ \ \ @\ \par
\ \par
\ \ \ \ \ \ \ \ 4\ \ \ 4\ \ \ 4\ \ \ 4\ \ \ \ \ \ \ \ \ \ \ 1\ \par
\ \ p\ power\ \ \ A\ \ \ A\ \ \ A\ \ \ \ \ \ \ \ \ \ \ A\ \par
\ \ p\ttquote\ part\ \ \ A\ \ \ A\ \ \ A\ \ \ \ \ \ \ \ \ \ \ A\ \par
\ \ ind\ \ 1A\ \ 2A\ \ 2B\ \ 2C\ fus\ ind\ \ 3A\ \par
\ \par
$\chi_1$\ \ +\ \ \ 1\ \ \ 1\ \ \ 1\ \ \ 1\ \ \ \:\ +oo\ \ \ 1\ \par
\ \par
$\chi_2$\ \ +\ \ \ 1\ \ \ 1\ \ -1\ \ -1\ \ \ .\ \ \ +\ \ \ 0\ \par
\ \par
$\chi_3$\ \ +\ \ \ 1\ \ -1\ \ \ 1\ \ -1\ \ \ .\ \par
\ \par
$\chi_4$\ \ +\ \ \ 1\ \ -1\ \ -1\ \ \ 1\ \ \ .\ \par
\ \par
\ \ ind\ \ \ 1\ \ \ 4\ \ \ 4\ \ \ 4\ fus\ ind\ \ \ 3\ \par
\ \ \ \ \ \ \ \ 2\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ 6\ \par
\ \par
$\chi_5$\ \ -\ \ \ 2\ \ \ 0\ \ \ 0\ \ \ 0\ \ \ \:\ -oo\ \ \ 1\ \par
\end{minipage}}}

\put(102,122){\makebox(0,0)[tl]{
\small\tt
\begin{minipage}{3in}
\baselineskip2.7ex
\parskip0ex
$G.3$\par
 \par
\ \ \ 2\ \ \ 2\ \ \ 2\ \ \ .\ \ \ . \par
\ \ \ 3\ \ \ 1\ \ \ .\ \ \ 1\ \ \ 1 \par
 \par
\ \ \ \ \ \ 1a\ \ 2a\ \ 3a\ \ 3b \par
\ \ 2P\ \ 1a\ \ 1a\ \ 3b\ \ 3a \par
\ \ 3P\ \ 1a\ \ 2a\ \ 1a\ \ 1a \par
 \par
X.1\ \ \ \ 1\ \ \ 1\ \ \ 1\ \ \ 1 \par
X.2\ \ \ \ 1\ \ \ 1\ \ \ A\ \ /A \par
X.3\ \ \ \ 1\ \ \ 1\ \ /A\ \ \ A \par
X.4\ \ \ \ 3\ \ -1\ \ \ .\ \ \ . \par
 \par
A\ =\ E(3) \par
\ \ =\ (-1+ER(-3))/2\ =\ b3 \par
\end{minipage}}}

\put(0,71){\makebox(0,0)[tl]{
\small\tt
\begin{minipage}{3in}
\baselineskip2.7ex
\parskip0ex
$2.G$\par
 \par
\ \ \ 2\ \ \ 3\ \ \ 3\ \ \ 2\ \ \ 2\ \ \ 2\par
 \par
\ \ \ \ \ \ 1a\ \ 2a\ \ 4a\ \ 4b\ \ 4c\par
\ \ 2P\ \ 1a\ \ 1a\ \ 2a\ \ 1a\ \ 1a\par
\ \ 3P\ \ 1a\ \ 2a\ \ 4a\ \ 4b\ \ 4c\par
 \par
X.1\ \ \ \ 1\ \ \ 1\ \ \ 1\ \ \ 1\ \ \ 1\par
X.2\ \ \ \ 1\ \ \ 1\ \ \ 1\ \ -1\ \ -1\par
X.3\ \ \ \ 1\ \ \ 1\ \ -1\ \ \ 1\ \ -1\par
X.4\ \ \ \ 1\ \ \ 1\ \ -1\ \ -1\ \ \ 1\par
X.5\ \ \ \ 2\ \ -2\ \ \ .\ \ \ .\ \ \ .\par
\end{minipage}}}

\put(50,71){\makebox(0,0)[tl]{
\small\tt
\begin{minipage}{3in}
\baselineskip2.7ex
\parskip0ex
$2.G.3$\par
 \par
\ \ \ 2\ \ \ 3\ \ \ 3\ \ \ 2\ \ \ 1\ \ \ 1\ \ \ 1\ \ \ 1\par
\ \ \ 3\ \ \ 1\ \ \ 1\ \ \ .\ \ \ 1\ \ \ 1\ \ \ 1\ \ \ 1\par
 \par
\ \ \ \ \ \ 1a\ \ 2a\ \ 4a\ \ 3a\ \ 6a\ \ 3b\ \ 6b\par
\ \ 2P\ \ 1a\ \ 1a\ \ 2a\ \ 3b\ \ 3b\ \ 3a\ \ 3a\par
\ \ 3P\ \ 1a\ \ 2a\ \ 4a\ \ 1a\ \ 2a\ \ 1a\ \ 2a\par
 \par
X.1\ \ \ \ 1\ \ \ 1\ \ \ 1\ \ \ 1\ \ \ 1\ \ \ 1\ \ \ 1\par
X.2\ \ \ \ 1\ \ \ 1\ \ \ 1\ \ \ A\ \ \ A\ \ /A\ \ /A\par
X.3\ \ \ \ 1\ \ \ 1\ \ \ 1\ \ /A\ \ /A\ \ \ A\ \ \ A\par
X.4\ \ \ \ 3\ \ \ 3\ \ -1\ \ \ .\ \ \ .\ \ \ .\ \ \ .\par
X.5\ \ \ \ 2\ \ -2\ \ \ .\ \ \ 1\ \ \ 1\ \ \ 1\ \ \ 1\par
X.6\ \ \ \ 2\ \ -2\ \ \ .\ \ \ A\ \ -A\ \ /A\ -/A\par
X.7\ \ \ \ 2\ \ -2\ \ \ .\ \ /A\ -/A\ \ \ A\ \ -A\par
 \par
A\ =\ E(3) \par
\ \ =\ (-1+ER(-3))/2\ =\ b3 \par
\end{minipage}}}
\end{picture}
%end
%display
% -------   -------          ;   @   @   @   @   ;   ;   @
%|       | |       |             4   4   4   4           1
%|   G   | |  G.3  |       p power   A   A   A           A
%|       | |       |       p' part   A   A   A           A
% -------   -------        ind  1A  2A  2B  2C fus ind  3A
% -------   -------                                    
%|       | |       |     X1  +   1   1   1   1   : +oo   1
%|  2.G  | | 2.G.3 |     X2  +   1   1  -1  -1   .   +   0
%|       | |       |     X3  +   1  -1   1  -1   .    
% -------   -------      X4  +   1  -1  -1   1   .        
%                                                      
%                          ind   1   4   4   4 fus ind   3
%                                2                       6
%
%                        X5  -   2   0   0   0   : -oo   1
%
%  G.3
%   
%     2   2   2   .   .
%     3   1   .   1   1
%   
%        1a  2a  3a  3b
%    2P  1a  1a  3b  3a
%    3P  1a  2a  1a  1a
%
%  X.1    1   1   1   1
%  X.2    1   1   A  /A
%  X.3    1   1  /A   A
%  X.4    3  -1   .   .
%
%  A = E(3) 
%    = (-1+ER(-3))/2 = b3
%
%  2.G                          2.G.3
%                                
%     2   3   3   2   2   2        2   3   3   2   1   1   1   1
%                                  3   1   1   .   1   1   1   1
%        1a  2a  4a  4b  4c     
%    2P  1a  1a  2a  1a  1a           1a  2a  4a  3a  6a  3b  6b
%    3P  1a  2a  4a  4b  4c       2P  1a  1a  2a  3b  3b  3a  3a
%                                 3P  1a  2a  4a  1a  2a  1a  2a
%  X.1    1   1   1   1   1     
%  X.2    1   1   1  -1  -1     X.1    1   1   1   1   1   1   1
%  X.3    1   1  -1   1  -1     X.2    1   1   1   A   A  /A  /A
%  X.4    1   1  -1  -1   1     X.3    1   1   1  /A  /A   A   A
%  X.5    2  -2   .   .   .     X.4    3   3  -1   .   .   .   .
%                               X.5    2  -2   .   1   1   1   1
%                               X.6    2  -2   .   A  -A  /A -/A
%                               X.7    2  -2   .  /A -/A   A  -A
%   
%                               A = E(3) 
%                                 = (-1+ER(-3))/2 = b3 
%end

In the table of $G.3 \cong A_4$, the characters $\chi_2, \chi_3$ and $\chi_4$
fuse, and the classes '2A', '2B' and '2C' collapse.
To get the table of $2.G \cong Q_8$ one just has to split the class '2A' and
adjust the representative orders.
Finally, the table of $2.G.3 \cong SL_2(3)$ is given; the subgroup fusion
corresponding to the injection $2.G \hookrightarrow 2.G.3$ is
'[ 1, 2, 3, 3, 3 ]', and the factor fusion corresponding to the epimorphism
$2.G.3 \rightarrow G.3$ is '[ 1, 1, 2, 3, 3, 4, 4 ]'.

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\newpage
\Section{CAS Tables}\index{character tables!CAS}%
\index{tables!library}\index{library of character tables}

All tables of the {\CAS} table library are available in \GAP, too.
This sublibrary has been completely revised, i.e., errors have been corrected
and powermaps have been completed.

Any {\CAS} table is accessible by each of its {\CAS} names, that is, the table
name or the filename (see "CharTable")\:

|    gap> t:= CharTable( "m10" );; t.name;
    "A6.2_3"|

One does, however, not always get the original {\CAS} table\:\ 
In many cases (mostly {\ATLAS} tables, see "ATLAS Tables") not only the name
but also the succession of classes and characters has changed;
the records in the component 'CAS' of the table (see "Character Table Records")
contain the permutations which must be applied to classes and characters
to get the original {\CAS} table\:

|    gap> t.CAS;
    [ rec(
          name := "m10",
          permchars := (3,5)(4,8,7,6),
          permclasses := (),
          text :=
           "names:     m10\norder:     2^4.3^2.5 = 720\nnumber of classes:\
     8\nsource:    cambridge atlas\ncomments:  point stabilizer of mathieu\
    -group m11\ntest:      orth, min, sym[3]                            \n\
    " ) ]|

The subgroup fusions were computed anew; their record component 'text' tells if
the fusion is equal to that in the {\CAS} library --of course modulo the
permutation of classes.

*Note* that the fusions are neither tested to be consistent for any two
subgroups of a group and their intersection, nor tested to be consistent
with respect to composition of maps.

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\Section{Organization of the Table Libraries}

The *primary file* is 'TBLNAME/ctprimar.tbl'. It contains the evaluation
function 'CharTable' (see "CharTable") and some utilities.

The global variable 'LIBLIST' which contains the information about all
tables of the libraries is in the file 'TBLNAME/ctlist.tbl'; 'LIBLIST' is a
record with components 'ORDINARY' and 'GENERIC', both lists;
their entries are records with components 'firstname' (the value of
the 'identifier' component of the table), 'filename' (the name of the file
that contains the table, with respect to 'TBLNAME', for ordinary tables also
'othernames' (a list of admissible other names) and possibly 'CASnames'
(the list of names that table had in {\CAS}).

'LIBLIST' can be computed from the 'libinfo' components of the tables
using 'MakeLIBLIST' which reads all tables and returns 'LIBLIST'.

Also the *secondary files* are all stored in the directory 'TBLNAME';
they are 'ctlist.tbl' and

|    ctbalter.tbl  ctbatres.tbl  ctbconja.tbl  ctbfisc1.tbl  ctbfisc2.tbl
    ctbline1.tbl  ctbline3.tbl  ctbline4.tbl  ctbline5.tbl  ctbmathi.tbl
    ctbmonst.tbl  ctborth1.tbl  ctborth2.tbl  ctborth3.tbl  ctbspora.tbl
    ctbsympl.tbl  ctbtwist.tbl  ctbunit1.tbl  ctbunit2.tbl  ctbunit3.tbl
    ctbunit4.tbl  ctgeneri.tbl  ctoalter.tbl  ctoatres.tbl  ctoconja.tbl
    ctofisc1.tbl  ctofisc2.tbl  ctoline1.tbl  ctoline2.tbl  ctoline3.tbl
    ctoline4.tbl  ctoline5.tbl  ctomathi.tbl  ctomaxi1.tbl  ctomaxi2.tbl
    ctomaxi3.tbl  ctomaxi4.tbl  ctomisc1.tbl  ctomisc2.tbl  ctomisc3.tbl
    ctomisc4.tbl  ctomisc5.tbl  ctomisc6.tbl  ctomonst.tbl  ctonews.tbl
    ctoorth1.tbl  ctoorth2.tbl  ctoorth3.tbl  ctoorth4.tbl  ctoorth5.tbl
    ctospora.tbl  ctosylno.tbl  ctosympl.tbl  ctotwist.tbl  ctounit1.tbl
    ctounit2.tbl  ctounit3.tbl  ctounit4.tbl|

The names start with 'ct' for ``character table\'\', followed by 'o' for
``ordinary\'\', 'b' for ``Brauer\'\'\ or 'g' for ``generic\'\', then an
up to 5 letter description of the contents, e.g., 'alter' for the
alternating groups, and the extension '.tbl'.

The file 'ctb<descr>.tbl' contains (at most) the Brauer tables corresponding
to the ordinary tables in 'cto<descr>.tbl'.

The *format of library tables* is always like this\:

|    LIBTABLE.|<filename>|.(|<tblname>|):=rec(
          ...
               # here the record components are stored
          ... );|

Here <filename> is the name of the file containing the table, relative to
'TBLNAME', e.g.\ 'ctoalter', and <tblname> is the value of the 'identifier'
component of the table, e.g.\ '\"A5\"'.

For the contents of the table record, there are three different ways how
tables are stored\:

*Full tables* (like that of $A_5$) are stored similar to the internal
format (see "Character Table Records").  Lists of characters, however,
will be abbreviated in the following way\:

For each subset of characters which differ just by multiplication
with a linear character or by Galois conjugacy, only 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) or '[GALOIS,[<i>,<j>]]' (which means that the
character is the <j>-th Galois conjugate of the <i>-th character.

*Brauer tables* (like that of $A_5$ mod $2$) are stored relative to the
corresponding ordinary table; instead of irreducible characters the files
contain decomposition matrices or Brauer trees for the blocks of nonzero
defect (see "Brauer Table Records"), and components which can be got by
restriction to $p$--regular classes are not stored at all.

*Construction tables* (like that of $O_8^-(3)M7$) have a component
'construction' that is a function of one variable.  This function
is called by 'CharTable'
(see "CharTable") when the table is constructed, i.e.\ *not* when
the file containing the table is read.

The aim of this rather complicated way to store a character table is
that big tables with a simple structure (e.g. direct products) can be
stored in a very compact way.

Another special case where construction tables are useful is that of
projective tables\: 

In their component 'irreducibles' they do not contain irreducible
characters but a list with information about the factor groups\:\ 
Any entry is a list of length 2 that contains at position 1 the name of
the table of the factor group, at the second position a list of
integers representing the Galois automorphisms to get follower
characters.  E.g., for $12.M_{22}$, the value of 'irreducibles' is

|    [["M22",[]],["2.M22",[]],
     ["3.M22",[-1,-13,-13,-1,23,23,-1,-1,-1,-1,-1]],
     ["4.M22",[-1,-1,15,15,23,23,-1,-1]],,
     ["6.M22",[-13,-13,-1,23,23,-1,-7,-7,-1,-1]],,,,,,
     ["12.M22",[[17,-17,-1],[17,-17,-1],[-55,-377,-433],[-55,-377,-433],
     [89,991,1079],[89,991,1079],[-7,7,-1]]]]|

Using this and the 'projectives' component of the table of the smallest
nontrivial factor group, "CharTable" 'CharTable' constructs the
irreducible characters.  The table head, however, need not be
constructed.

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\Section{How to Extend a Table Library}\index{library tables!add}%
\index{tables!add to a library}\index{NotifyCharTable}%
\index{PrintToLib}

If you have some ordinary character tables which are not (or not yet) in a
{\GAP} table library, but which you want to treat as library tables,
e.g., assign them to variables using "CharTable" 'CharTable',
you can include these tables.  For that, two things must be done\:

First you must notify each table, i.e., tell {\GAP} on which file it can
be found, and which names are admissible; this can be done using

'NotifyCharTable( <firstname>, <filename>, <othernames> )',

with strings <firstname> (the 'identifier' component of the table) and
<filename> (the name of the file containing the table, relative to
'TBLNAME', and without extension '.tbl'), and a list <othernames>
of strings which are other admissible names of the table (see "CharTable").

'NotifyCharTable' will add a record with these information to
'LIBLIST.ORDINARY'.  A warning is printed for each table <libtbl> that
was already accessible by some of the names, and delete these names in
the 'LIBLIST.ORDINARY' component of <libtbl>.  Of course this affects
only the value of 'LIBLIST' in the current session, not that on the file.

*Note* that an error is raised if you want to notify a table with
<firstname> or name in <othernames> which is already the 'identifier'
component of a library table.

|    gap> NotifyCharTable( "Private", "../tables/mytables", [ "My" ] );
    # tells {\GAP} that the table with names '\"Private\"' and '\"My\"'
    # is stored on file 'mytables.tbl' in the given directory
    gap> list:= List( LIBLIST.ORDINARY, x ->x.firstname );;
    gap> LIBLIST.ORDINARY[ Position( list, "Private" ) ];
    rec( 
      firstname := "Private", 
      filename := "../tables/mytables",
      othernames := [ [ 'm', 'y' ], [ 'p', 'r', 'i', 'v', 'a', 't', 'e' ]
         ] )|

The second condition is that each file must contain tables in library
format as described in "Organization of the Table Libraries"; in the
example, the contents of the file '../tables/mytables' may be this\:

|    LIBTABLE.("../tables/mytables").Private:=
    rec(identifier:="Private",centralizers:=[2,2],
    irreducibles:=[[1,1],[1,-1]]));
    LIBTABLE.LOADSTATUS.("../tables/mytables"):="loaded";|

We simulate reading this file by explicitly assigning the respective
components.

|    gap> LIBTABLE.("../tables/mytables"):= rec(
    > Private:= rec( identifier:= "Private",
    >                centralizers:= [2,2],
    >                irreducibles:= [[1,1],[1,-1]] ) );;
    gap> LIBTABLE.LOADSTATUS.("../tables/mytables"):="loaded";;|

Now the private table is a library table\:

|    gap> CharTable( "My" );
    CharTable( "Private" ) |

To append the table <tbl> in library format to the file with name <file>,
use

'PrintToLib( <file>, <tbl> )'.

*Note* that here <file> is the absolute name of the file, not the name
relative to 'TBLNAME'.  Thus the filename in the row with the assignment
to 'LIBTABLE' must be adjusted to make the file a library file.

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\Section{FirstNameCharTable}

'FirstNameCharTable( <name> )'

returns the value of the 'identifier' component of the character table
with admissible name <name>, if exists; otherwise 'false' is returned.

For each admissible name, also the lowercase string is admissible.

|    gap> FirstNameCharTable( "m22mod3" ); FirstNameCharTable( "s5" );
    "M22mod3"
    "A5.2"
    gap> FirstNameCharTable( "J5" );
    false|

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\Section{FileNameCharTable}

'FileNameCharTable( <firstname> )'

returns the value of the 'filename' component of the information record
in 'LIBLIST' for the table with 'identifier' component <firstname>, if
exists; otherwise 'false' is returned.

|    gap> FileNameCharTable( "m22mod3" ); FileNameCharTable( "M22mod3" );
    false
    "ctbmathi"|

