CharTable( G )
CharTable( tblname )
CharTable( series, parameter1, parameter2 ... )
CharTable( G )
returns the  character table  of the group G.  If  G.name is bound,
the table is  baptized  the  same.  Otherwise  it is given the identifier
component ""
(empty string).  This  is necessary since every  character table needs an
identifier in GAP (see IsCharTable).
CharTable  first  computes  the linear characters, using the commutator
factor group. If irreducible characters  are missing afterwards, they are
computed using the algorithm of Dixon and Schneider (see~Dix67 and
Sch90).
    gap> M11 := Group((1,2,3,4,5,6,7,8,9,10,11), (3,7,11,8)(4,10,5,6));;
    gap> M11.name := "M11";;
    gap> PrintCharTable( CharTable( M11 ) );
    rec( size := 7920, centralizers := [ 7920, 11, 11, 8, 48, 8, 8, 18,
      5, 6 ], orders := [ 1, 11, 11, 4, 2, 8, 8, 3, 5, 6 ], classes :=
    [ 1, 720, 720, 990, 165, 990, 990, 440, 1584, 1320 ], irreducibles :=
    [ [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ],
      [ 10, -1, -1, 2, 2, 0, 0, 1, 0, -1 ],
      [ 10, -1, -1, 0, -2, E(8)+E(8)^3, -E(8)-E(8)^3, 1, 0, 1 ],
      [ 10, -1, -1, 0, -2, -E(8)-E(8)^3, E(8)+E(8)^3, 1, 0, 1 ],
      [ 11, 0, 0, -1, 3, -1, -1, 2, 1, 0 ],
      [ 16, E(11)^2+E(11)^6+E(11)^7+E(11)^8+E(11)^10,
          E(11)+E(11)^3+E(11)^4+E(11)^5+E(11)^9, 0, 0, 0, 0, -2, 1, 0 ],
      [ 16, E(11)+E(11)^3+E(11)^4+E(11)^5+E(11)^9,
          E(11)^2+E(11)^6+E(11)^7+E(11)^8+E(11)^10, 0, 0, 0, 0, -2, 1, 0 ]
        , [ 44, 0, 0, 0, 4, 0, 0, -1, -1, 1 ],
      [ 45, 1, 1, 1, -3, -1, -1, 0, 0, 0 ],
      [ 55, 0, 0, -1, -1, 1, 1, 1, 0, -1 ]
     ], operations := CharTableOps, identifier := "M11", order :=
    7920, name := "M11", powermap :=
    [ , [ 1, 3, 2, 5, 1, 4, 4, 8, 9, 8 ], [ 1, 2, 3, 4, 5, 6, 7, 1, 9, 5 ]
       ,, [ 1, 2, 3, 4, 5, 7, 6, 8, 1, 10 ],,
      [ 1, 3, 2, 4, 5, 7, 6, 8, 9, 10 ],,,,
      [ 1, 1, 1, 4, 5, 6, 7, 8, 9, 10 ] ], galomorphisms := Group(
    ( 6, 7),
    ( 2, 3) ), text := "origin: Dixon's Algorithm", group := M11 )
The columns of the table will be sorted in the same order, as the classes
of the group, thus allowing a bijection  between group and table.  If the
conjugacy classes are bound in  G.conjugacyClasses  the order  is not
changed.  Otherwise  the routine  itself  computes the  classes.  One can
sort  them  in  the  canonical  way,  using  SortClassesCharTable  (see
SortClassesCharTable).  If an entry  G.charTable exists the routine
uses information contained in this table.  This also  provides a facility
for entering known characters,  but then the user  assumes responsibility
for the correctness  of the characters (There is little use  in providing
the trivial character to the routine).
Note: The algorithm binds the record component galomorphisms of the
character   table.   This  is  a  permutation  group   generated  by  the
Galois-morphisms only.  If there is no automorphisms component in the
table then this group is used by routines like SubgroupFusion.
The  computation of  character tables  needs  to  identify the classes of
group elements very  often, so it can be helpful to store a class list of
all group elements. Since this is obviously limited by the group size, it
is controlled by the global variable LARGEGROUPORDER, which  is set  by
standard to 10000. If the group is smaller,  the  class  map  is  stored.
Otherwise each occuring element is identified individually.
Limitations: At the moment there is a limitation to the group size given by the following condition: the routine computes in a prime field of size p. p is a prime number, such that the exponent of the group divides (p-1) and such that 2 sqrt{|G|} < p. At the moment, GAP provides only prime fields up to size 65535.
The routine also sets up a component  G.dixon. Using this  component,
routines  that  identify  classes, for  example FusionConjugacyClasses,
will  work  much  faster.  When  interrupting  the algorithm, however,  a
neccessary cleanup has  not  taken place.  Thus you should  call Unbind(
G.dixon  ) to  avoid possible further confusion.  This is also  a good
idea  because G.dixon may become very large. When the  computation by
CharTable  is  complete, this record is  shrunk  to an acceptable size,
something that could not be done when interrupting.
CharTable( tblname )
If the only parameter is a string tblname  and  this is  an  admissible
name  of  a  library  table,  CharTable  returns  this  library  table,
otherwise false.   A call of CharTable may cause to read some library
files and  to construct the table from the data in the files, see chapter
Character Table Libraries for the details.
Admissible names for the ordinary character table tbl of the group grp are
item the ATLAS name if tbl is an ATLAS table (see ATLAS Tables),
      e.g., M22 for the table of the Mathieu group M_{22}, L2(13)
      for L_2(13) and 12_1.U4(3).2_1 for 12_1.U_4(3).2_1,
item the names that were admissible for tables of grp in CAS if the
      CAS table library contained a table of grp, e.g., sl42 for
      the table of the alternating group A_8 (but note that the table
      may be different from that in CAS, see CAS Tables) and
item some ``relative'' names:
      For grp the n--th maximal subgroup (in decreasing group order)
      of a sporadic simple group with admissible name name, nameMn
      is admissible for tbl, e.g., J3M2 for the second maximal
      subgroup of the Janko group J_3 which has the name J3.
For grp a nontrivial Sylow normalizer of a sporadic simple group with admissible name name, where nontrivial means that the group is not contained in p:(p-1), nameNp is an admissible name of tbl, e.g., J4N11 for the Sylow 11 normalizer of the Janko group J_4.
      In a few cases, the table of the Sylow p subgroup of grp is
      accessible by nameSylp where name is an admissible name of
      the table of grp, e.g., A11Syl2 for the Sylow 2 subgroup of the
      alternating group A_{11}.
      In a few cases, the table of an element centralizer of grp is
      accessible by nameCcl where name is an admissible name of the
      table of grp, e.g., M11C2 for an involution centralizer in the
      Mathieu group M_{11}.
Admissible  names for a  Brauer table tbl (modulo the  prime p) are
all names namemodp where name is admissible for the corresponding
ordinary  table, e.g., M12mod11  for the 11 modular table  of M_{12},
and L2(25).2_1mod3 for the 3 modular table of L_2(25).2_1.
Brauer tables in the library can be got also from the underlying ordinary
table using the mod operator, as in the following example.
    gap> CharTable( "A5" ) mod 2;
    CharTable( "A5mod2" ) 
Generic tables are accessible  only  by the name  given by their
identifier component (see below).
Case  is not significant for table names,  e.g., suzm3 and  SuzM3 are
both  admissible  names  for  the third maximal subgroup of the  sporadic
Suzuki group.
The admissible names reflect the structure of the libraries, see Organization of the Table Libraries.
    gap> CharTable( "A5.2" );;  # returns the character table of the
                                # symmetric group on five letters
                                # (in \ATLAS\ format)
    gap> CharTable( "Symmetric" );;  # returns the generic table of the
                                     # symmetric group
    gap> CharTable( "J5" );
    #E CharTableLibrary: no library table with name 'J5'
    false
If CharTable is called with more than one  parameter, the first must be
a string specifying a series of groups which is implemented via a generic
character  table   (see  chapter   Generic  Character   Tables),   e.g.
"Symmetric"  for  the  symmetric  groups;  the  following  parameters
specialise the required member of the series:
    gap> CharTable( "Symmetric", 5 );; # the table of the symmetric
                                       # group $S_5$ (got by specializing
                                       # the generic table)
These are the valid calls of CharTable with parameter series:
    CharTable( "Alternating", n ):
    CharTable( "Cyclic", n ):
    CharTable( "Dihedral", 2n ):
    CharTable( "GL", 2, q ):
    CharTable( "GU", 3, q ):
    CharTable( "P:Q", [ p, q ] ):
    CharTable( "PSL", 2, q ):
    CharTable( "SL", 2, q ):
    CharTable( "SU", 3, q ):
    CharTable( "Quaternionic", 4n ):
    CharTable( "Suzuki", q ):
    CharTable( "Symmetric", n ):
    CharTable( "WeylB", n ):
    CharTable( "WeylD", n ):GAP 3.4.4