Contents of the &GAP; Character Table Library
character tables!library of
tables!library of
library tables
generic character tables

This chapter informs you about the currently available character tables (see Section ), generic character tables (see Section ), the subsets of &ATLAS; tables (see Section ) and &CAS; tables (see Section ), installing the library, and related user preferences (see Section ).

The following rather technical sections are thought for those who want to maintain or extend the Character Table Library.

the technicalities of the access to library tables (see Section ),
how to extend the library (see Section ), and
sanity checks (see Section ).
Ordinary and Brauer Tables in the &GAP; Character Table Library
character tables!library of
tables!library of
library of character tables

This section gives a brief overview of the contents of the &GAP; character table library. For the details about, e. g., the structure of data files, see Section .

The changes in the character table library since the first release of &GAP; 4 are listed in a file that can be fetched from

http://www.math.rwth-aachen.de/~Thomas.Breuer/ctbllib/htm/ctbldiff.html
.

There are three different kinds of character tables in the &GAP; library, namely ordinary character tables, Brauer tables, and generic character tables. Note that the Brauer table and the corresponding ordinary table of a group determine the decomposition matrix of the group (and the decomposition matrices of its blocks). These decomposition matrices can be computed from the ordinary and modular irreducibles with &GAP;, see Section for details. A collection of PDF files of the known decomposition matrices of &ATLAS; tables in the &GAP; Character Table Library can also be found at

http://www.math.rwth-aachen.de/~MOC/decomposition/
.

Ordinary Character Tables

Two different aspects are useful to list the ordinary character tables available in &GAP;, namely the aspect of the source of the tables and that of relations between the tables.

As for the source, there are first of all two big sources, namely the &ATLAS; of Finite Groups (see Section ) and the &CAS; library of character tables (see ). Many &ATLAS; tables are contained in the &CAS; library, and difficulties may arise because the succession of characters and classes in &CAS; tables and &ATLAS; tables are in general different, so see Section for the relations between these two variants of character tables of the same group. A subset of the &CAS; tables is the set of tables of Sylow normalizers of sporadic simple groups as published in this may be viewed as another source of character tables. The library also contains the character tables of factor groups of space groups (computed by W. Hanrath, see ) that are part of , in the form of two microfiches; these tables are given in &CAS; format (see Section ) on the microfiches, but they had not been part of the official &CAS; library.

To avoid confusion about the ordering of classes and characters in a given table, authorship and so on, the value of the table contains the information origin: ATLAS of finite groups for &ATLAS; tables (see Section ), origin: Ostermann for tables contained in , origin: CAS library for any table of the &CAS; table library that is contained neither in the &ATLAS; nor in , and origin: Hanrath library for tables contained in the microfiches in .

The value usually contains more detailed information, for example that the table in question is the character table of a maximal subgroup of an almost simple group. If the table was contained in the &CAS; library then additional information may be available via the value.

If one is interested in the aspect of relations between the tables, i. e., the internal structure of the library of ordinary tables, the contents can be listed up the following way.

We have

all &ATLAS; tables (see Section ), i. e., the tables of the simple groups which are contained in the &ATLAS; of Finite Groups, and the tables of cyclic and bicyclic extensions of these groups,
most tables of maximal subgroups of sporadic simple groups (not all for the Monster group),
many tables of maximal subgroups of other &ATLAS; tables; the value for the table is set if all tables of maximal subgroups are available,
the tables of many Sylow p-normalizers of sporadic simple groups; this includes the tables printed in except J_4N2, Co_1N2, Fi_{22}N2, but also other tables are available; more generally, several tables of normalizers of other radical p-subgroups are available, such as normalizers of defect groups of p-blocks,
some tables of element centralizers,
some tables of Sylow p-subgroups,
and a few other tables, e. g. W(F4)

Note
that class fusions stored on library tables are not guaranteed to be compatible for any two subgroups of a group and their intersection, and they are not guaranteed to be consistent w. r. t. the composition of maps.

Brauer Tables

The library contains all tables of the &ATLAS; of Brauer Tables (), and many other Brauer tables of bicyclic extensions of simple groups which are known yet.

The Brauer tables in the library contain the information origin: modular ATLAS of finite groups in their string.

Generic Character Tables
character tables!generic
tables!generic
library tables!generic
spin groups!character table
symmetric groups!character table
alternating groups!character table
dihedral groups!character table
Suzuki groups!character table
Weyl groups!character table
cyclic groups!character table

Generic character tables provide a means for writing down the character tables of all groups in a (usually infinite) series of similar groups, e. g., cyclic groups, or symmetric groups, or the general linear groups GL(2,q) where q ranges over certain prime powers.

Let \{ G_q | q \in I \} be such a series, where I is an index set. The character table of one fixed member G_q could be computed using a function that takes q as only argument and constructs the table of G_q. It is, however, often desirable to compute not only the whole table but to access just one specific character, or to compute just one character value, without computing the whole character table.

For example, both the conjugacy classes and the irreducible characters of the symmetric group S_n are in bijection with the partitions of n. Thus for given n it makes sense to ask for the character corresponding to a particular partition, or just for its character value at another partition.

A generic character table in &GAP; allows one such local evaluations. In this sense, &GAP; can deal also with character tables that are too big to be computed and stored as a whole.

Currently the only operations for generic tables supported by &GAP; are the specialisation of the parameter q in order to compute the whole character table of G_q, and local evaluation (see for an example). &GAP; does not support the computation of, e. g., generic scalar products.

While the numbers of conjugacy classes for the members of a series of groups are usually not bounded, there is always a fixed finite number of types (equivalence classes) of conjugacy classes; very often the equivalence relation is isomorphism of the centralizers of the representatives.

For each type t of classes and a fixed q \in I, a parametrisation of the classes in t is a function that assigns to each conjugacy class of G_q in t a parameter by which it is uniquely determined. Thus the classes are indexed by pairs [t,p_t] consisting of a type t and a parameter p_t for that type.

For any generic table, there has to be a fixed number of types of irreducible characters of G_q, too. Like the classes, the characters of each type are parametrised.

In &GAP;, the parametrisations of classes and characters for tables computed from generic tables is stored using the attributes and .

Available generic character tables

Currently, generic tables of the following groups –in alphabetical order– are available in &GAP;. (A list of the names of generic tables known to &GAP; is LIBTABLE.GENERIC.firstnames.) We list the function calls needed to get a specialized table, the generic table itself can be accessed by calling with the first argument only; for example, CharacterTable( "Cyclic" ) yields the generic table of cyclic groups.

CharacterTable( "Alternating",
n
)
the table of the alternating group on n letters,
CharacterTable( "Cyclic",
n
)
the table of the cyclic group of order n,
CharacterTable( "Dihedral",
2n
)
the table of the dihedral group of order 2n,
CharacterTable( "DoubleCoverAlternating",
n
)
the table of the Schur double cover of the alternating group on n letters (see ),
CharacterTable( "DoubleCoverSymmetric",
n
)
the table of the standard Schur double cover of the symmetric group on n letters (see ),
CharacterTable( "GL", 2,
q
)
the table of the general linear group GL(2,q), for a prime power q,
CharacterTable( "GU", 3,
q
)
the table of the general unitary group GU(3,q), for a prime power q,
CharacterTable( "P:Q",
[ p, q ]
)
and CharacterTable( "P:Q", [ p, q, k ] )
the table of the Frobenius extension of the nontrivial cyclic group of odd order p by the nontrivial cyclic group of order q where q divides p_i-1 for all prime divisors p_i of p; if p is a prime power then q determines the group uniquely and thus the first version can be used, otherwise the action of the residue class of k modulo p is taken for forming orbits of length q each on the nonidentity elements of the group of order p,
CharacterTable( "PSL", 2,
q
)
the table of the projective special linear group PSL(2,q), for a prime power q,
CharacterTable( "SL", 2,
q
)
the table of the special linear group SL(2,q), for a prime power q,
CharacterTable( "SU", 3,
q
)
the table of the special unitary group SU(3,q), for a prime power q,
CharacterTable( "Suzuki",
q
)
the table of the Suzuki group Sz(q) = {}^2B_2(q), for q an odd power of 2,
CharacterTable( "Symmetric",
n
)
the table of the symmetric group on n letters,
CharacterTable( "WeylB",
n
)
the table of the Weyl group of type B_n,
CharacterTable( "WeylD",
n
)
the table of the Weyl group of type D_n.

In addition to the above calls that really use generic tables, the following calls to are to some extent generic constructions. But note that no local evaluation is possible in these cases, as no generic table object exists in &GAP; that can be asked for local information.

CharacterTable( "Quaternionic",
4n
)
the table of the generalized quaternionic group of order 4n,
CharacterTableWreathSymmetric( tbl,
n
)
the character table of the wreath product of the group whose table is tbl with the symmetric group on n letters, see .
<#Include Label="CharacterTableSpecialized">

Components of generic character tables

Any generic table in &GAP; is represented by a record. The following components are supported for generic character table records.

centralizers
list of functions, one for each class type t, with arguments q and p_t, returning the centralizer order of the class [t,p_t],
charparam
list of functions, one for each character type t, with argument q, returning the list of character parameters of type t,
classparam
list of functions, one for each class type t, with argument q, returning the list of class parameters of type t,
classtext
list of functions, one for each class type t, with arguments q and p_t, returning a representative of the class with parameter [t,p_t] (note that this element need not actually lie in the group in question, for example it may be a diagonal matrix but the characteristic polynomial in the group s irreducible),
domain
function of q returning true if q is a valid parameter, and false otherwise,
identifier
identifier string of the generic table,
irreducibles
list of list of functions, in row i and column j the function of three arguments, namely q and the parameters p_t and p_s of the class type t and the character type s,
isGenericTable
always true
libinfo
record with components firstname ( value of the table) and othernames (list of other admissible names)
matrix
function of q returning the matrix of irreducibles of G_q,
orders
list of functions, one for each class type t, with arguments q and p_t, returning the representative order of elements of type t and parameter p_t,
powermap
list of functions, one for each class type t, each with three arguments q, p_t, and k, returning the pair [s,p_s] of type and parameter for the k-th power of the class with parameter [t,p_t],
size
function of q returning the order of G_q,
specializedname
function of q returning the value of the table of G_q,
text
string informing about the generic table

In the specialized table, the and values are the lists of parameters [t,p_t] of classes and characters, respectively.

If the matrix component is present then its value implements a method to compute the complete table of small members G_q more efficiently than via local evaluation; this method will be called when the generic table is used to compute the whole character table for a given q (see ).

Example: The generic table of cyclic groups

For the cyclic group C_q = \langle x \rangle of order q, there is one type of classes. The class parameters are integers k \in \{ 0, \ldots, q-1 \}, the class with parameter k consists of the group element x^k. Group order and centralizer orders are the identity function q \mapsto q, independent of the parameter k. The representative order function maps the parameter pair [q,k] to q / \gcd(q,k), which is the order of x^k in C_q; the p-th power map is the function mapping the triple (q,k,p) to the parameter [1,(kp \bmod q)].

There is one type of characters, with parameters l \in \{ 0, \ldots, q-1 \}; for e_q a primitive complex q-th root of unity, the character values are \chi_l(x^k) = e_q^{kl}.

gap> Print( CharacterTable( "Cyclic" ), "\n" ); rec( centralizers := [ function ( n, k ) return n; end ], charparam := [ function ( n ) return [ 0 .. n - 1 ]; end ], classparam := [ function ( n ) return [ 0 .. n - 1 ]; end ], domain := <Category "<<and-filter>>">, identifier := "Cyclic", irreducibles := [ [ function ( n, k, l ) return E( n ) ^ (k * l); end ] ], isGenericTable := true, libinfo := rec( firstname := "Cyclic", othernames := [ ] ), orders := [ function ( n, k ) return n / Gcd( n, k ); end ], powermap := [ function ( n, k, pow ) return [ 1, k * pow mod n ]; end ], size := function ( n ) return n; end, specializedname := function ( q ) return Concatenation( "C", String( q ) ); end, text := "generic character table for cyclic groups" )
Example: The generic table of the general linear group GL(2,q)

We have four types t_1, t_2, t_3, t_4 of classes, according to the rational canonical form of the elements. t_1 describes scalar matrices, t_2 nonscalar diagonal matrices, t_3 companion matrices of (X - \rho)^2 for nonzero elements \rho \in F_q, and t_4 companion matrices of irreducible polynomials of degree 2 over F_q.

The sets of class parameters of the types are in bijection with nonzero elements in F_q for t_1 and t_3, with the set \{ \{ \rho, \tau \}; \rho, \tau \in F_q, \rho \not= 0, \tau \not= 0, \rho \not= \tau \} for t_2, and with the set \{ \{ \epsilon, \epsilon^q \}; \epsilon \in F_{{q^2}} \setminus F_q \} for t_4.

The centralizer order functions are q \mapsto (q^2-1)(q^2-q) for type t_1, q \mapsto (q-1)^2 for type t_2, q \mapsto q(q-1) for type t_3, and q \mapsto q^2-1 for type t_4.

The representative order function of t_1 maps (q, \rho) to the order of \rho in F_q, that of t_2 maps (q, \{ \rho, \tau \}) to the least common multiple of the orders of \rho and \tau.

The file contains something similar to the following table.

rec( identifier := "GL2", specializedname := ( q -> Concatenation( "GL(2,", String(q), ")" ) ), size := ( q -> (q^2-1)*(q^2-q) ), text := "generic character table of GL(2,q), see Robert Steinberg: ...", centralizers := [ function( q, k ) return (q^2-1) * (q^2-q); end, ..., ..., ... ], classparam := [ ( q -> [ 0 .. q-2 ] ), ..., ..., ... ], charparam := [ ( q -> [ 0 .. q-2 ] ), ..., ..., ... ], powermap := [ function( q, k, pow ) return [ 1, (k*pow) mod (q-1) ]; end, ..., ..., ... ], orders:= [ function( q, k ) return (q-1)/Gcd( q-1, k ); end, ..., ..., ... ], irreducibles := [ [ function( q, k, l ) return E(q-1)^(2*k*l); end, ..., ..., ... ], [ ..., ..., ..., ... ], [ ..., ..., ..., ... ], [ ..., ..., ..., ... ] ], classtext := [ ..., ..., ..., ... ], domain := IsPrimePowerInt, isGenericTable := true )
&ATLAS; Tables
character tables!ATLAS
tables!library
library of character tables

The &GAP; character table library contains all character tables of bicyclic extensions of simple groups that are included in the &ATLAS; of Finite Groups (, from now on called &ATLAS;), and the Brauer tables contained in the &ATLAS; of Brauer Characters ().

These tables have the information origin: ATLAS of finite groups or origin: modular ATLAS of finite groups in their value, they are simply called &ATLAS; tables further on.

For displaying &ATLAS; tables with the row labels used in the &ATLAS;, or for displaying decomposition matrices, see and .

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

Improvements to the &ATLAS;

For the &GAP; Character Table Library not the printed versions of the &ATLAS; of Finite Groups and the &ATLAS; of Brauer Characters are relevant but the revised versions given by the currently three lists of improvements that are maintained by Simon Norton. The first such list is contained in , and is printed in the Appendix of ; it contains the improvements that had been known until the &ATLAS; of Brauer Characters was published. The second list contains the improvements to the &ATLAS; of Finite Groups that were found since the publication of . It can be found in the internet, an HTML version at

http://web.mat.bham.ac.uk/atlas/html/atlasmods.html

and a DVI version at

http://web.mat.bham.ac.uk/atlas/html/atlasmods.dvi
.

The third list contains the improvements to the &ATLAS; of Brauer Characters, HTML and PDF versions can be found in the internet at

http://www.math.rwth-aachen.de/~MOC/ABCerr.html

and

http://www.math.rwth-aachen.de/~MOC/ABCerr.pdf
,

respectively.

Also some tables are regarded as &ATLAS; tables that are not printed in the &ATLAS; but available in &ATLAS; format, according to the lists of improvements mentioned above. Currently these are the tables related to L_2(49), L_2(81), L_6(2), O_8^-(3), O_8^+(3), S_{10}(2), and {}^2E_6(2).3.

Power Maps

For the tables of 3.McL, 3_2.U_4(3) and its covers, and 3_2.U_4(3).2_3 and its covers, the power maps are not uniquely determined by the information from the &ATLAS; but determined only up to matrix automorphisms (see ) of the irreducible characters. In these cases, the first possible map according to lexicographical ordering was chosen, and the automorphisms are listed in the strings of the tables.

Projective Characters and Projections

If G (or G.a) has a nontrivial Schur multiplier then the attribute of the &GAP; table object of G (or G.a) is set; the chars component of the record in question is the list of values lists of those faithful projective irreducibles that are printed in the &ATLAS; (so-called proxy character), and the map component lists the positions of columns in the covering for which the column is printed in the &ATLAS; (a so-called proxy class, this preimage is denoted by g_0 in Chapter 7, Section 14 of the &ATLAS;).

Tables of Isoclinic Groups

As described in Chapter 6, Section 7 and in Chapter 7, Section 18 of the &ATLAS;, there exist two (often nonisomorphic) groups of structure 2.G.2 for a simple group G, which are isoclinic. The table in the &GAP; Character Table Library is the one printed in the &ATLAS;, the table of the isoclinic variant can be constructed using .

Ordering of Characters and Classes

(Throughout this section, G always means the simple group involved.) For G itself, the ordering of classes and characters in the &GAP; table coincides with the one in the &ATLAS;. For an automorphic extension G.a, there are three types of characters. If a character \chi of G extends to G.a then the different extensions \chi^0, \chi^1, \ldots, \chi^{{a-1}} are consecutive in the table of G.a (see ). If some characters of G fuse to give a single character of G.a then the position of that character in the table of G.a is given by the position of the first involved character of G. If both extension and fusion occur for a character then the resulting characters are consecutive in the table of G.a, and each replaces the first involved character of G. Similarly, there are different types of classes for an automorphic extension G.a, as follows. If some classes collapse then the resulting class replaces the first involved class of G. For a > 2, any proxy class and its algebraic conjugates that are not printed in the &ATLAS; are consecutive in the table of G.a; if more than two classes of G.a have the same proxy class (the only case that actually occurs is for a = 5) then the ordering of non-printed classes is the natural one of corresponding Galois conjugacy operators *k (see ). For a_1, a_2 dividing a such that a_1 \leq a_2, the classes of G.a_1 in G.a precede the classes of G.a_2 not contained in G.a_1. This ordering is the same as in the &ATLAS;, with the only exception U_3(8).6. For a central extension M.G, there are two different types of characters, as follows. Each character can be regarded as a faithful character of a factor group m.G, where m divides M. Characters with the same kernel are consecutive as in the &ATLAS;, the ordering of characters with different kernels is given by the order of precedence 1, 2, 4, 3, 6, 12 for the different values of m. If m > 2, a faithful character of m.G that is printed in the &ATLAS; (a so-called proxy character) represents two or more Galois conjugates. In each &ATLAS; table in &GAP;, a proxy character always precedes the non-printed characters with this proxy. The case m = 12 is the only one that actually occurs where more than one character for a proxy is not printed. In this case, the non-printed characters are ordered according to the corresponding Galois conjugacy operators *5, *7, *11 (in this order). For the classes of a central extension we have the following. The preimages of a G-class in M.G are subsequent, the ordering is the same as that of the lifting order rows in . The primitive roots of unity chosen to represent the generating central element (i. e., the element in the second class of the &GAP; table) 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. For tables of bicyclic extensions m.G.a, both the rules for automorphic and central extensions hold. Additionally we have the following three rules. Whenever classes of the subgroup m.G collapse in m.G.a then the resulting class replaces the first involved class. Whenever characters of the subgroup m.G collapse fuse in m.G.a then the result character replaces the first involved character. Extensions of a character are subsequent, and the extensions of a proxy character precede the extensions of characters with this proxy that are not printed. Preimages of a class of G.a in m.G.a are subsequent, and the preimages of a proxy class precede the preimages of non-printed classes with this proxy.

<#Include Label="AtlasLabelsOfIrreducibles">

Examples of the &ATLAS; Format for &GAP; Tables
character tables!CAS
tables!library
library of character tables

We give three little examples for the conventions stated in Section , listing both the &ATLAS; format and the table displayed by &GAP;.

First, let G be the trivial group. We consider the cyclic group C_6 of order 6. It can be viewed in several ways, namely as a downward extension of the factor group C_2 which contains G as a subgroup, or equivalently, as an upward extension of the subgroup C_3 which has a factor group isomorphic to G:

\setlength{\unitlength}{0.1cm} \begin{picture}(110,67) \put(8,36){ \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(50,65){\makebox(0,0)[tl]{ \small\tt \begin{minipage}{2in} \baselineskip2.7ex \parskip0ex

\ \ \ \ ;\ \ \ @\ \ \ ;\ \ \ ;\ \ \ @\ \par \ \par \ \ \ \ \ \ \ \ 1\ \ \ \ \ \ \ \ \ \ \ 1\ \par \ \ p\ power\ \ \ \ \ \ \ \ \ \ \ A\ \par \ \ p'\ 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(99,65){\makebox(0,0)[tl]{ \small\tt \begin{minipage}{2.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}
┌───────┐ ┌───────┐ ; @ ; ; @ 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 │ │ │ │ χ_1 + 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 χ_2 o2 1 : oo2 1 X.6 1 /A A -1 -/A -A

A = E(3) = (-1+ER(-3))/2 = b3
X.1
, X.2 extend \chi_1. X.3, X.4 extend the proxy character \chi_2. X.5, X.6 extend the not printed character with proxy \chi_2. The classes 1a, 3a, 3b are preimages of 1A, and 2a, 6a, 6b are preimages of 2A.
as a downward extension of the factor group C_3 which contains G as a subgroup, or equivalently, as an upward extension of the subgroup C_2 which has a factor group isomorphic to G:
\begin{picture}(110,67) \put(8,36){ \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(50,65){\makebox(0,0)[tl]{ \small\tt \begin{minipage}{2in} \baselineskip2.7ex \parskip0ex

\ \ \ \ ;\ \ \ @\ \ \ ;\ \ \ ;\ \ \ @ \par \ \par \ \ \ \ \ \ \ \ 1\ \ \ \ \ \ \ \ \ \ \ 1 \par \ \ p\ power\ \ \ \ \ \ \ \ \ \ \ A \par \ \ p'\ 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(99,65){\makebox(0,0)[tl]{ \small\tt \begin{minipage}{2.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}
┌───────┐ ┌───────┐ ; @ ; ; @ 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 │ │ │ │ χ_1 + 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 χ_2 + 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
X.1
to X.3 extend \chi_1, X.4 to X.6 extend \chi_2. The classes 1a and 2a are preimages of 1A, 3a and 6a are preimages of the proxy class 3A, and 3b and 6b are preimages of the not printed class with proxy 3A.
as a downward extension of the factor groups C_3 and C_2 which have G as a factor group:
\begin{picture}(110,120) \put(8,58){ \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(50,117){\makebox(0,0)[tl]{ \small\tt \begin{minipage}{2in} \baselineskip2.7ex \parskip0ex

\ \ \ \ ;\ \ \ @ \par \ \ \par \ \ \ \ \ \ \ \ 1 \par \ \ p\ power \par \ \ p'\ 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(99,117){\makebox(0,0)[tl]{ \small\tt \begin{minipage}{2.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}
┌───────┐ ; @ 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 │ │ χ_1 + 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 │ │ χ_2 + 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 │ χ_3 o2 1 │ │ └───────┘ ind 1 6 3 2 3 6

χ_4 o2 1
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 the not printed characters with these proxies. The factor fusion onto 3.G is given by [ 1, 2, 3, 1, 2, 3 ], that onto G.2 by [ 1, 2, 1, 2, 1, 2 ].
as an upward extension of the subgroups C_3 or C_2 which both contain a subgroup isomorphic to G:
\begin{picture}(110,65) \put(8,49){ \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(8,41){\makebox(0,0)[tl]{ \small\tt \begin{minipage}{4in} \baselineskip2.7ex \parskip0ex

\ \ \ \ ;\ \ \ @\ \ \ ;\ \ \ ;\ \ \ @\ \ \ ;\ \ \ ;\ \ \ @\ \ \ ;\ \ \ \ \ ;\ \ \ @\ \par \ \par \ \ \ \ \ \ \ \ 1\ \ \ \ \ \ \ \ \ \ \ 1\ \ \ \ \ \ \ \ \ \ \ 1\ \ \ \ \ \ \ \ \ \ \ \ \ 1\ \par \ \ p\ power\ \ \ \ \ \ \ \ \ \ \ A\ \ \ \ \ \ \ \ \ \ \ A\ \ \ \ \ \ \ \ \ \ \ \ AA\ \par \ \ p'\ 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(103,63){\makebox(0,0)[tl]{ \small\tt \begin{minipage}{2.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}
┌───────┐ ┌───────┐ ┌───────┐ ┌───────┐ │ │ │ │ │ │ │ │ │ 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

χ_1 + 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
The classes 1a, 2a correspond to 1A, 2A, respectively. 3a, 6a correspond to the proxies 3A, 6A, and 3b, 6b to the not printed classes with these proxies.

The second example explains the fusion case. Again, G is the trivial group.

\setlength{\unitlength}{0.1cm} \begin{picture}(110,125) \put(0,63){ \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(44,122){\makebox(0,0)[tl]{ \small\tt \begin{minipage}{2in} \baselineskip2.7ex \parskip0ex

\ \ \ \ ;\ \ \ @\ \ \ ;\ \ \ ;\ \ @\ \par \ \ \ \par \ \ \ \ \ \ \ \ 1\ \ \ \ \ \ \ \ \ \ 1\ \par \ \ p\ power\ \ \ \ \ \ \ \ \ \ A\ \par \ \ p'\ 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(95,122){\makebox(0,0)[tl]{ \small\tt \begin{minipage}{2.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}
┌───────┐ ┌───────┐ ; @ ; ; @ 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 │ │ │ │ χ_1 + 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 │ │ │ χ_2 + 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 χ_3 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 χ_4 o2 1 * + Y.4 1 -1 1 -1 -1 1 Y.5 2 -1 -1 2 . . Y.6 2 1 -1 -2 . .

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

In 3.G.2, the characters X.1, X.2 extend \chi_1; \chi_3 and its non-printed partner fuse to give X.3, and the two preimages of 1A of order 3 collapse.

In 6.G.2, Y.1 to 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 non-printed partner.

For the last example, let G be the elementary abelian group 2^2 of order 4. Consider the following tables.

\begin{picture}(110,175) \put(0,143){ \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(84.9,116.8){\line(0,1){16.4}} % fusion sign in picture

\put(39,172){\makebox(0,0)[tl]{ \small\tt \begin{minipage}{3in} \baselineskip2.7ex \parskip0ex

\ \ \ \ ;\ \ \ @\ \ \ @\ \ \ @\ \ \ @\ \ \ ;\ \ \ ;\ \ \ @\ \par \ \par \ \ \ \ \ \ \ \ 4\ \ \ 4\ \ \ 4\ \ \ 4\ \ \ \ \ \ \ \ \ \ \ 1\ \par \ \ p\ power\ \ \ A\ \ \ A\ \ \ A\ \ \ \ \ \ \ \ \ \ \ A\ \par \ \ p'\ 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(107,172){\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,81){\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(70,81){\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}
┌───────┐ ┌───────┐ ; @ @ @ @ ; ; @ │ │ │ │ 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 ┌───────┐ ┌───────┐ │ │ │ │ χ_1 + 1 1 1 1 : +oo 1 │ 2.G │ │ 2.G.3 │ χ_2 + 1 1 ─1 ─1 . + 0 │ │ │ │ χ_3 + 1 ─1 1 ─1 | └───────┘ └───────┘ χ_4 + 1 ─1 ─1 1 |

ind 1 4 4 4 fus ind 3 2 6

χ_5 - 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 2.G.3 X.4 3 -1 . . 2 3 3 2 1 1 1 1 A = E(3) 3 1 1 . 1 1 1 1 = (-1+ER(-3))/2 = b3 1a 2a 4a 3a 6a 3b 6b 2.G 2P 1a 1a 2a 3b 3b 3a 3a 3P 1a 2a 4a 1a 2a 1a 2a 2 3 3 2 2 2 X.1 1 1 1 1 1 1 1 1a 2a 4a 4b 4c X.2 1 1 1 A A /A /A 2P 1a 1a 2a 1a 1a X.3 1 1 1 /A /A A A 3P 1a 2a 4a 4b 4c X.4 3 3 -1 . . . . X.5 2 -2 . 1 1 1 1 X.1 1 1 1 1 1 X.6 2 -2 . A -A /A -/A X.2 1 1 1 -1 -1 X.7 2 -2 . /A -/A A -A X.3 1 1 -1 1 -1 X.4 1 1 -1 -1 1 A = E(3) X.5 2 -2 . . . = (-1+ER(-3))/2 = b3

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. For getting 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 class 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 ].

&CAS; Tables
character tables
tables
library of character tables

One of the predecessors of &GAP; was &CAS; (Character Algorithm System, see ), which had also a library of character tables. All these character tables are available in &GAP; except if stated otherwise in the file doc/ctbldiff.pdf. This sublibrary has been completely revised before it was included in &GAP;, for example, errors have been corrected and power maps have been completed.

Any &CAS; table is accessible by each of its &CAS; names (except if stated otherwise in doc/ctbldiff.pdf), that is, the table name or the filename used in &CAS;.

<#Include Label="CASInfo">

Customizations of the &GAP; Character Table Library
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 for details. It is however also possible to keep an additional pkg directory in your private directories, see . 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.

<#Include Label="testinst">

PDF and HTML versions of the package manual are available in the doc directory of the package.

<#Include Label="UnloadCTblLibFiles">

Technicalities of the Access to Character Tables from the Library
<#Include Label="organization">

<#Include Label="LIBLIST">

<#Include Label="LibInfoCharacterTable">

How to Extend the &GAP; Character Table Library
library tables!add
tables!add to the library

&GAP; users may want to extend the character table library in different respects.

Probably the easiest change is to add new admissible names to library tables, in order to use these names in calls of . This can be done using .
The next kind of changes is the addition of new fusions between library tables. Once a fusion map is known, it can be added to the library file containing the table of the subgroup, using the format produced by .
The last kind of changes is the addition of new character tables to the &GAP; character table library. Data files containing tables in library format (i. e., in the form of calls to MOT or MBT) can be produced using .

If you have an ordinary character table in library format which you want to add to the table library, for example because it shall be accessible via , you must notify this table, i. e., tell &GAP; in which file it can be found, and which names shall be admissible for it. This can be done using .
<#Include Label="NotifyNameOfCharacterTable">

<#Include Label="LibraryFusion">

<#Include Label="PrintToLib">

<#Include Label="NotifyCharacterTable">

Sanity Checks for the &GAP; Character Table Library
<#Include Label="tests">

Maintenance of the &GAP; Character Table Library

It is of course desirable that the information in the &GAP; Character Table Library is consistent with related data. For example, the ordering of the classes of maximal subgroups stored in the list of the character table of a group G, say, should correspond to the ordering shown for G in the &ATLAS; of Finite Groups , to the ordering of maximal subgroups used for G in the `AtlasRep`, and to the ordering of maximal subgroups in the table of marks of G. The fact that the related data collections are developed independently makes it difficult to achieve this kind of consistency. Sometimes it is unavoidable to adjust data of the &GAP; Character Table Library to external data.

An important issue is the consistency of class fusions. Usually such fusions are determined only up to table automorphisms, and one candidate can be chosen. However, other conditions such as known Brauer tables may restrict the choice. 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 table library of the `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 `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 , which is an accepted standard.