  
  [1X2 [33X[0;0YUsing Table Automorphisms for Constructing Character Tables in [5XGAP[105X[101X[1X[133X[101X
  
  [33X[0;0YDate: June 27th, 2004[133X
  
  [33X[0;0YThis   chapter   has   three  aims.  First  it  shows  how  character  table
  automorphisms  can  be  utilized  to construct certain character tables from
  others  using  the  [5XGAP[105X  system [GAP21]; the [5XGAP[105X functions used for that are
  part of the [5XGAP[105X Character Table Library [Bre24]. Second it documents several
  constructions  of  character tables which are contained in the [5XGAP[105X Character
  Table Library. Third it serves as a testfile for the involved [5XGAP[105X functions.[133X
  
  
  [1X2.1 [33X[0;0YOverview[133X[101X
  
  [33X[0;0YSeveral  types  of  constructions  of character tables of finite groups from
  known  tables  of  smaller  groups  are  described in Section [14X2.3[114X. Selecting
  suitable  character  table automorphisms is an important ingredient of these
  constructions.[133X
  
  [33X[0;0YSection [14X2.2[114X collects the few representation theoretical facts on which these
  constructions are based.[133X
  
  [33X[0;0YThe  remaining  sections  show  examples  of the constructions in [5XGAP[105X. These
  examples use the [5XGAP[105X Character Table Library, therefore we load this package
  first.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XLoadPackage( "ctbllib", "1.1.4", false );[127X[104X
    [4X[28Xtrue[128X[104X
  [4X[32X[104X
  
  
  [1X2.2 [33X[0;0YTheoretical Background[133X[101X
  
  
  [1X2.2-1 [33X[0;0YCharacter Table Automorphisms[133X[101X
  
  [33X[0;0YLet  [22XG[122X  be  a  finite  group,  [22XIrr(G)[122X  be the matrix of ordinary irreducible
  characters of [22XG[122X, [22XCl(G)[122X be the set of conjugacy classes of elements in [22XG[122X, [22Xg^G[122X
  the [22XG[122X-conjugacy class of [22Xg ∈ G[122X, and let[133X
  
  
  [24X[33X[0;6Ypow_p : Cl(G) → Cl(G), g^G ↦ (g^p)^G[133X[124X
  
  [33X[0;0Ybe the [22Xp[122X-th power map, for each prime integer [22Xp[122X.[133X
  
  [33X[0;0YA  [13Xtable  automorphism[113X  of  [22XG[122X  is  a  permutation [22Xσ : Cl(G) → Cl(G)[122X with the
  properties  that [22Xχ ∘ σ ∈ Irr(G)[122X holds for all [22Xχ ∈ Irr(G)[122X and that [22Xσ[122X commutes
  with  [22Xpow_p[122X,  for all prime integers [22Xp[122X that divide the order of [22XG[122X. Note that
  for prime integers [22Xp[122X that are coprime to the order of [22XG[122X, [22Xpow_p[122X commutes with
  each [22Xσ[122X that permutes [22XIrr(G)[122X, since [22Xpow_p[122X acts as a field automorphism on the
  character values.[133X
  
  [33X[0;0YIn  [5XGAP[105X,  a character table covers the irreducible characters –a matrix [22XM[122X of
  character  values–  as  well as the power maps of the underlying group –each
  power  map  [22Xpow_p[122X  being  represented as a list [22Xpow_p^'[122X of positive integers
  denoting   the   positions   of  the  image  classes.  The  group  of  table
  automorphisms  of a character table is represented as a permutation group on
  the  column positions of the table; it can be computed with the [5XGAP[105X function
  [2XAutomorphismsOfTable[102X ([14XReference: AutomorphismsOfTable[114X).[133X
  
  [33X[0;0YIn  the  following,  we  will mainly use that each [13Xgroup automorphism[113X [22Xσ[122X of [22XG[122X
  induces a table automorphism that maps the class of each element in [22XG[122X to the
  class of its image under [22Xσ[122X.[133X
  
  
  [1X2.2-2 [33X[0;0YPermutation Equivalence of Character Tables[133X[101X
  
  [33X[0;0YTwo  character  tables with matrices [22XM_1[122X, [22XM_2[122X of irreducibles and [22Xp[122X-th power
  maps [22Xpow_{1,p}[122X, [22Xpow_{2,p}[122X are [13Xpermutation equivalent[113X if permutations [22Xψ[122X and [22Xπ[122X
  of row and column positions of the [22XM_i[122X exist such that [22X[ M_1 ]_{i,j} = [ M_2
  ]_{i  ψ,  j  π}[122X  holds for all indices [22Xi[122X, [22Xj[122X, and such that [22Xπ ⋅ pow_{2,p}^' =
  pow_{1,p}^' ⋅ π[122X holds for all primes [22Xp[122X that divide the (common) group order.
  The  first  condition is equivalent to the existence of a permutation [22Xπ[122X such
  that  permuting the columns of [22XM_1[122X with [22Xπ[122X maps the set of rows of [22XM_1[122X to the
  set of rows of [22XM_2[122X.[133X
  
  [33X[0;0Y[22Xπ[122X  is  of  course  determined  only  up  to  table  automorphisms of the two
  character  tables,  that  is, two transforming permutations [22Xπ_1[122X, [22Xπ_2[122X satisfy
  that  [22Xπ_1  ⋅ π_2^-1[122X is a table automorphism of the first table, and [22Xπ_1^-1 ⋅
  π_2[122X is a table automorphism of the second.[133X
  
  [33X[0;0YClearly two isomorphic groups have permutation equivalent character tables.[133X
  
  [33X[0;0YThe [5XGAP[105X library function [2XTransformingPermutationsCharacterTables[102X ([14XReference:
  TransformingPermutationsCharacterTables[114X)  returns  a  record  that  contains
  transforming permutations of rows and columns if the two argument tables are
  permutation equivalent, and [9Xfail[109X otherwise.[133X
  
  [33X[0;0YIn   the   example   sections,   the   following   function   for  computing
  representatives   from   a   list  of  character  tables  w.r.t. permutation
  equivalence  will  be  used.  More  precisely, the input is either a list of
  character  tables  or  a  list of records which have a component [10Xtable[110X whose
  value is a character table, and the output is a sublist of the input.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XRepresentativesCharacterTables:= function( list )[127X[104X
    [4X[25X>[125X [27X   local reps, entry, r;[127X[104X
    [4X[25X>[125X [27X[127X[104X
    [4X[25X>[125X [27X   reps:= [];[127X[104X
    [4X[25X>[125X [27X   for entry in list do[127X[104X
    [4X[25X>[125X [27X     if ForAll( reps, r -> ( IsCharacterTable( r ) and[127X[104X
    [4X[25X>[125X [27X            TransformingPermutationsCharacterTables( entry, r ) = fail )[127X[104X
    [4X[25X>[125X [27X          or ( IsRecord( r ) and TransformingPermutationsCharacterTables([127X[104X
    [4X[25X>[125X [27X                                   entry.table, r.table ) = fail ) ) then[127X[104X
    [4X[25X>[125X [27X       Add( reps, entry );[127X[104X
    [4X[25X>[125X [27X     fi;[127X[104X
    [4X[25X>[125X [27X   od;[127X[104X
    [4X[25X>[125X [27X   return reps;[127X[104X
    [4X[25X>[125X [27X   end;;[127X[104X
  [4X[32X[104X
  
  
  [1X2.2-3 [33X[0;0YClass Fusions[133X[101X
  
  [33X[0;0YFor  two  groups  [22XH[122X,  [22XG[122X  such that [22XH[122X is isomorphic with a subgroup of [22XG[122X, any
  embedding [22Xι : H → G[122X induces a class function[133X
  
  
  [24X[33X[0;6Yfus_ι : Cl(H) → Cl(G), h^G ↦ (ι(h))^G[133X[124X
  
  [33X[0;0Ythe [13Xclass fusion[113X of [22XH[122X in [22XG[122X via [22Xι[122X. Analogously, for a normal subgroup [22XN[122X of [22XG[122X,
  any epimorphism [22Xπ : G → G/N[122X induces a class function[133X
  
  
  [24X[33X[0;6Yfus_π : Cl(G) → Cl(G/N), g^G ↦ (π(g))^G[133X[124X
  
  [33X[0;0Ythe [13Xclass fusion[113X of [22XG[122X onto [22XG/N[122X via [22Xπ[122X.[133X
  
  [33X[0;0YWhen  one  works only with character tables and not with groups, these class
  fusions  are  the  objects that describe subgroup and factor group relations
  between  character  tables.  Technically,  class  fusions  are necessary for
  restricting,  inducing, and inflating characters from one character table to
  another.  If  one  is  faced  with  the  problem to compute the class fusion
  between  the  character  tables  of two groups [22XH[122X and [22XG[122X for which it is known
  that [22XH[122X can be embedded into [22XG[122X then one can use character-theoretic necessary
  conditions, concerning that the restriction of all irreducible characters of
  [22XG[122X to [22XH[122X (via the class fusion) must decompose into the irreducible characters
  of [22XH[122X, and that the class fusion must commute with the power maps of [22XH[122X and [22XG[122X.[133X
  
  [33X[0;0YWith  this  character-theoretic approach, one can clearly determine possible
  class  fusions  only  up to character table automorphisms. Note that one can
  interpret  each character table automorphism of [22XG[122X as a class fusion from the
  table of [22XG[122X to itself.[133X
  
  [33X[0;0YIf  [22XN[122X  is  a normal subgroup in [22XG[122X then the class fusion of [22XN[122X in [22XG[122X determines
  the  orbits  of  the  conjugation action of [22XG[122X on the classes of [22XN[122X. Often the
  knowledge  of  these  orbits  suffices  to  identify  the  subgroup of table
  automorphisms  of  [22XN[122X that corresponds to this action of [22XG[122X; for example, this
  is always the case if [22XN[122X has index [22X2[122X in [22XG[122X.[133X
  
  [33X[0;0Y[5XGAP[105X  library  functions  for  dealing  with  class  fusions, power maps, and
  character  table  automorphisms are described in the chapter [21XMaps Concerning
  Character Tables[121X in the [5XGAP[105X Reference Manual.[133X
  
  
  [1X2.2-4 [33X[0;0YConstructing Character Tables of Certain Isoclinic Groups[133X[101X
  
  [33X[0;0YAs  is stated in [CCN+85, p. xxiii], two groups [22XG[122X, [22XH[122X are called [13Xisoclinic[113X if
  they  can be embedded into a group [22XK[122X such that [22XK[122X is generated by [22XZ(K)[122X and [22XG[122X,
  and  also  by  [22XZ(K)[122X and [22XH[122X. In the following, two special cases of isoclinism
  will be used, where the character tables of the isoclinic groups are closely
  related.[133X
  
  [8X(1)[108X
        [33X[0;6Y[22XG  ≅ 2 × U[122X for a group [22XU[122X that has a central subgroup [22XN[122X of order [22X2[122X, and
        [22XH[122X  is  the central product of [22XU[122X and a cyclic group of order four. Here
        we can set [22XK = 2 × H[122X.[133X
  
  [8X(2)[108X
        [33X[0;6Y[22XG ≅ 2 × U[122X for a group [22XU[122X that has a normal subgroup [22XN[122X of index [22X2[122X, and [22XH[122X
        is  the  subdirect product of [22XU[122X and a cyclic group of order four, Here
        we can set [22XK = 4 × U[122X.[133X
  
             .───────────── K                     K
            ╱│╲            ╱│╲                   ╱│╲
           ╱ │ ╲          ╱ │ ╲                 ╱ │ ╲
          ╱  │  .────────╱──│─ H               .  H  G
         ╱ ⟨z⟩─╱────────╱──.  ╱               ╱ ╲ │ ╱│╲
        .──│──╱─────── G  │  ╱               ╱   ╲│╱ │ ╲
       ╱│╲ │ ╱          ╲ │ ╱               ╱     S  .  U
      ╱ │ ╲│╱            ╲│╱               ╱     ╱ ╲ │ ╱
     ╱  │  N ──────────── U = S          ⟨z⟩    ╱   ╲│╱
    ╱  .  ╱                                ╲   ╱     N
   .  │  ╱                                  ╲ ╱     ╱
    ╲ │ ╱                                    .     ╱
     ╲│╱                                      ╲   ╱
      1                                        ╲ ╱
                                                1
  
  [33X[0;0YStarting  from  the group [22XK[122X containing both [22XG[122X and [22XH[122X, we first note that each
  irreducible representation of [22XG[122X or [22XH[122X extends to [22XK[122X. More specifically, if [22Xρ_G[122X
  is an irreducible representation of [22XG[122X then we can define an extension [22Xρ[122X of [22XK[122X
  by  defining  it suitably on [22XZ(K)[122X and then form [22Xρ_H[122X, the restriction of [22Xρ[122X to
  [22XH[122X.[133X
  
  [33X[0;0YIn our two cases, we set [22XS = G ∩ H[122X, so [22XK = S ∪ G ∖ S ∪ H ∖ S ∪ z S[122X holds for
  some  element [22Xz ∈ Z(K) ∖ ( G ∪ H )[122X of order four, and [22XG = S ∪ g S[122X for some [22Xg
  ∈  G  ∖  S[122X,  and  [22XH  = S ∪ h S[122X where [22Xh = z ⋅ g ∈ H ∖ S[122X. For defining [22Xρ_H[122X, it
  suffices  to  consider [22Xρ(h) = ρ(z) ρ(g)[122X, where [22Xρ(z) = ϵ_ρ(z) ⋅ I[122X is a scalar
  matrix.[133X
  
  [33X[0;0YAs  for  the  character table heads of [22XG[122X and [22XH[122X, we have [22Xs^G = s^H[122X and [22Xz (g ⋅
  s)^G  =  (h  ⋅  s)^H[122X  for  each  [22Xs  ∈  S[122X, so this defines a bijection of the
  conjugacy  classes  of  [22XG[122X and [22XH[122X. For a prime integer [22Xp[122X, [22X(h ⋅ s)^p = (z ⋅ g ⋅
  s)^p  = z^p ⋅ (g ⋅ s)^p[122X holds for all [22Xs ∈ S[122X, so the [22Xp[122X-th power maps of [22XG[122X and
  [22XH[122X  are  related as follows: Inside [22XS[122X they coincide for any [22Xp[122X. If [22Xp ≡ 1 mod 4[122X
  they  coincide  also  outside  [22XS[122X,  if  [22Xp  ≡  -1  mod  4[122X the images differ by
  exchanging  the  classes of [22X(h ⋅ s)^p[122X and [22Xz^2 ⋅ (h ⋅ s)^p[122X (if these elements
  lie  in  different  classes),  and for [22Xp = 2[122X the images (which lie inside [22XS[122X)
  differ  by exchanging the classes of [22X(h ⋅ s)^2[122X and [22Xz^2 ⋅ (g ⋅ s)^2[122X (if these
  elements lie in different classes).[133X
  
  [33X[0;0YLet [22Xρ[122X be an irreducible representation of [22XK[122X. Then [22Xρ_G[122X and [22Xρ_H[122X are related as
  follows:  [22Xρ_G(s)  = ρ_H(s)[122X and [22Xρ(z) ⋅ ρ_G(g ⋅ s) = ρ_H(h ⋅ s)[122X for all [22Xs ∈ S[122X.
  If  [22Xχ_G[122X  and  [22Xχ_H[122X  are the characters afforded by [22Xρ_G[122X and [22Xρ_H[122X, respectively,
  then  [22Xχ_G(s)  = χ_H(s)[122X and [22Xϵ_ρ(z) ⋅ χ_G(g ⋅ s) = χ_H(h ⋅ s)[122X hold for all [22Xs ∈
  S[122X. In the case [22Xχ_G(z^2) = χ(1)[122X we have [22Xϵ_ρ(z) = ± 1[122X, and both cases actually
  occur  if  one  considers  all irreducible representations of [22XK[122X. In the case
  [22Xχ_G(z^2)  =  -  χ(1)[122X we have [22Xϵ_ρ(z) = ± i[122X, and again both cases occur. So we
  obtain  the  irreducible  characters of [22XH[122X from those of [22XG[122X by multiplying the
  values  outside [22XS[122X in all those characters by [22Xi[122X that do not have [22Xz^2[122X in their
  kernels.[133X
  
  [33X[0;0YIn     [5XGAP[105X,     the     function     [2XCharacterTableIsoclinic[102X     ([14XReference:
  CharacterTableIsoclinic[114X)  can be used for computing the character table of [22XH[122X
  from  that of [22XG[122X, and vice versa. (Note that in the above two cases, also the
  groups  [22XU[122X  and  [22XH[122X  are  isoclinic by definition, but [2XCharacterTableIsoclinic[102X
  ([14XReference:  CharacterTableIsoclinic[114X)  does not transfer the character table
  of [22XU[122X to that of [22XH[122X.)[133X
  
  [33X[0;0YOne  could  construct  the  character  tables mentioned above by forming the
  character  tables  of  certain  factor  groups or normal subgroups of direct
  products.  However, the construction via [2XCharacterTableIsoclinic[102X ([14XReference:
  CharacterTableIsoclinic[114X) has the advantage that the result stores from which
  sources it arose, and this information can be used to derive also the Brauer
  character  tables,  provided  that the Brauer character tables of the source
  tables are known.[133X
  
  
  [1X2.2-5  [33X[0;0YCharacter  Tables of Isoclinic Groups of the Structure [22Xp.G.p[122X[101X[1X (October[101X
  [1X2016)[133X[101X
  
  [33X[0;0YSince   the   release   of  [5XGAP[105X  4.11,  [2XCharacterTableIsoclinic[102X  ([14XReference:
  CharacterTableIsoclinic[114X)  admits the construction of the character tables of
  the isoclinic variants of groups of the structure [22Xp.G.p[122X, also for odd primes
  [22Xp[122X.[133X
  
  [33X[0;0YThis  feature  will  be  used  in the construction of the character table of
  [22X9.U_3(8).3_3[122X, in order to construct the table of the subgroup [22X3.(3 × U_3(8))[122X
  and  of  the  factor  group  [22X(3  ×  U_3(8)).3_3[122X,  see  Section [14X2.4-16[114X. These
  constructions  are  a  straightforward  generalization of those described in
  detail in Section [14X2.2-4[114X.[133X
  
  [33X[0;0YThere  are  several  examples  of  [5XAtlas[105X  groups of the structure [22X3.G.3[122X. The
  character table of one such group is shown in the [5XAtlas[105X, the tables of their
  isoclinic   variants   can  now  be  obtained  from  [2XCharacterTableIsoclinic[102X
  ([14XReference: CharacterTableIsoclinic[114X).[133X
  
  [33X[0;0YFor example, the group GL[22X(3,4)[122X has the structure [22X3.L_3(4).3[122X. There are three
  pairwise nonisomorphic isoclinic variants of groups of this structure.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27Xt:= CharacterTable( "3.L3(4).3" );[127X[104X
    [4X[28XCharacterTable( "3.L3(4).3" )[128X[104X
    [4X[25Xgap>[125X [27Xiso1:= CharacterTableIsoclinic( t );[127X[104X
    [4X[28XCharacterTable( "Isoclinic(3.L3(4).3,1)" )[128X[104X
    [4X[25Xgap>[125X [27Xiso2:= CharacterTableIsoclinic( t, rec( k:= 2 ) );[127X[104X
    [4X[28XCharacterTable( "Isoclinic(3.L3(4).3,2)" )[128X[104X
    [4X[25Xgap>[125X [27XTransformingPermutationsCharacterTables( t, iso1 );[127X[104X
    [4X[28Xfail[128X[104X
    [4X[25Xgap>[125X [27XTransformingPermutationsCharacterTables( t, iso2 );[127X[104X
    [4X[28Xfail[128X[104X
    [4X[25Xgap>[125X [27XTransformingPermutationsCharacterTables( iso1, iso2 );[127X[104X
    [4X[28Xfail[128X[104X
  [4X[32X[104X
  
  [33X[0;0YThe  character  table  of  GL[22X(3,4)[122X  is in fact the one which is shown in the
  [5XAtlas[105X.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XIsRecord( TransformingPermutationsCharacterTables( t,[127X[104X
    [4X[25X>[125X [27X                 CharacterTable( GL( 3, 4 ) ) ) );[127X[104X
    [4X[28Xtrue[128X[104X
  [4X[32X[104X
  
  
  [1X2.2-6 [33X[0;0YIsoclinic Double Covers of Almost Simple Groups[133X[101X
  
  [33X[0;0YThe  function  [2XCharacterTableIsoclinic[102X  ([14XReference: CharacterTableIsoclinic[114X)
  can  also be used to switch between the character tables of double covers of
  groups  of  the  type  [22XG.2[122X, where [22XG[122X is a perfect group, see [CCN+85, Section
  6.7]. Typical examples are the double covers of symmetric groups.[133X
  
  [33X[0;0YNote  that  these  double  covers may be isomorphic. This happens for [22X2.S_6[122X.
  More  generally,  this  happens for all semilinear groups [22XΣ[122XL[22X(2,p^2)[122X, for odd
  primes  [22Xp[122X.  The  smallest  examples  are  [22XΣ[122XL[22X(2,9) = 2.A_6.2_1[122X and [22XΣ[122XL[22X(2,25) =
  2.L_2(25).2_2[122X.  This  implies  that  the  character  table and its isoclinic
  variant are permutation isomorphic.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27Xt:= CharacterTable( "2.A6.2_1" );[127X[104X
    [4X[28XCharacterTable( "2.A6.2_1" )[128X[104X
    [4X[25Xgap>[125X [27XTransformingPermutationsCharacterTables( t,[127X[104X
    [4X[25X>[125X [27X       CharacterTableIsoclinic( t ) );[127X[104X
    [4X[28Xrec( columns := (4,6)(5,7)(11,12)(14,16)(15,17), [128X[104X
    [4X[28X  group := Group([ (16,17), (14,15) ]), [128X[104X
    [4X[28X  rows := (3,5)(4,6)(10,11)(12,15,13,14) )[128X[104X
    [4X[25Xgap>[125X [27Xt:= CharacterTable( "2.L2(25).2_2" );[127X[104X
    [4X[28XCharacterTable( "2.L2(25).2_2" )[128X[104X
    [4X[25Xgap>[125X [27XTransformingPermutationsCharacterTables( t,[127X[104X
    [4X[25X>[125X [27X       CharacterTableIsoclinic( t ) );[127X[104X
    [4X[28Xrec( columns := (7,9)(8,10)(20,21)(23,24)(25,27)(26,28), [128X[104X
    [4X[28X  group := <permutation group with 4 generators>, [128X[104X
    [4X[28X  rows := (3,5)(4,6)(14,15)(16,17)(19,22,20,21) )[128X[104X
  [4X[32X[104X
  
  [33X[0;0YFor groups of the type [22X4.G.2[122X, two different situations can occur. Either the
  distinguished  central  cyclic  subgroup of order four in [22X4.G[122X is inverted by
  the  elements  in  [22X4.G.2 ∖ 4.G[122X, or this subgroup is central in [22X4.G.2[122X. In the
  first       case,      calling      [2XCharacterTableIsoclinic[102X      ([14XReference:
  CharacterTableIsoclinic[114X)   with  the  character  table  of  [22X4.G.2[122X  yields  a
  character table with the same set of irreducibles, only the [22X2[122X-power map will
  in  general differ from that of the input table. In the second case, the one
  argument       version      of      [2XCharacterTableIsoclinic[102X      ([14XReference:
  CharacterTableIsoclinic[114X)   returns   a   permutation  isomorphic  table.  By
  supplying  additional  arguments,  there  is a chance to construct tables of
  different groups.[133X
  
  [33X[0;0YWe  demonstrate  this  phenomenon  with  the various groups of the structure
  [22X4.L_3(4).2[122X.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27Xtbls:= [];;[127X[104X
    [4X[25Xgap>[125X [27Xfor m in [ "4_1", "4_2" ] do[127X[104X
    [4X[25X>[125X [27X     for a in [ "2_1", "2_2", "2_3" ] do[127X[104X
    [4X[25X>[125X [27X       Add( tbls, CharacterTable( Concatenation( m, ".L3(4).", a ) ) );[127X[104X
    [4X[25X>[125X [27X     od;[127X[104X
    [4X[25X>[125X [27X   od;[127X[104X
    [4X[25Xgap>[125X [27Xtbls;[127X[104X
    [4X[28X[ CharacterTable( "4_1.L3(4).2_1" ), CharacterTable( "4_1.L3(4).2_2" )[128X[104X
    [4X[28X    , CharacterTable( "4_1.L3(4).2_3" ), [128X[104X
    [4X[28X  CharacterTable( "4_2.L3(4).2_1" ), CharacterTable( "4_2.L3(4).2_2" )[128X[104X
    [4X[28X    , CharacterTable( "4_2.L3(4).2_3" ) ][128X[104X
    [4X[25Xgap>[125X [27Xcase1:= Filtered( tbls, t -> Size( ClassPositionsOfCentre( t ) ) = 2 );[127X[104X
    [4X[28X[ CharacterTable( "4_1.L3(4).2_1" ), CharacterTable( "4_1.L3(4).2_2" )[128X[104X
    [4X[28X    , CharacterTable( "4_2.L3(4).2_1" ), [128X[104X
    [4X[28X  CharacterTable( "4_2.L3(4).2_3" ) ][128X[104X
    [4X[25Xgap>[125X [27Xcase2:= Filtered( tbls, t -> Size( ClassPositionsOfCentre( t ) ) = 4 );[127X[104X
    [4X[28X[ CharacterTable( "4_1.L3(4).2_3" ), [128X[104X
    [4X[28X  CharacterTable( "4_2.L3(4).2_2" ) ][128X[104X
  [4X[32X[104X
  
  [33X[0;0YThe  centres  of  the groups [22X4_1.L_3(4).2_1[122X, [22X4_1.L_3(4).2_2[122X, [22X4_2.L_3(4).2_1[122X,
  and [22X4_2.L_3(4).2_3[122X have order two, that is, these groups belong to the first
  case.  Each  of  these groups is not permutation equivalent to its isoclinic
  variant but has the same irreducible characters.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27Xisos1:= List( case1, CharacterTableIsoclinic );;[127X[104X
    [4X[25Xgap>[125X [27XList( [ 1 .. 4 ], i -> Irr( case1[i] ) = Irr( isos1[i] ) );[127X[104X
    [4X[28X[ true, true, true, true ][128X[104X
    [4X[25Xgap>[125X [27XList( [ 1 .. 4 ],[127X[104X
    [4X[25X>[125X [27X     i -> TransformingPermutationsCharacterTables( case1[i], isos1[i] ) );[127X[104X
    [4X[28X[ fail, fail, fail, fail ][128X[104X
  [4X[32X[104X
  
  [33X[0;0YThe  groups  [22X4_1.L_3(4).2_3[122X  and  [22X4_2.L_3(4).2_2[122X  belong  to the second case
  because their centres have order four.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27Xisos2:= List( case2, CharacterTableIsoclinic );;[127X[104X
    [4X[25Xgap>[125X [27XList( [ 1, 2 ],[127X[104X
    [4X[25X>[125X [27X     i -> TransformingPermutationsCharacterTables( case2[i], isos2[i] ) );[127X[104X
    [4X[28X[ rec( columns := (26,27,28,29)(30,31,32,33)(38,39,40,41)(42,43,44,45)[128X[104X
    [4X[28X        , group := <permutation group with 5 generators>, [128X[104X
    [4X[28X      rows := (16,17)(18,19)(20,21)(22,23)(28,29)(32,33)(36,37)(40,[128X[104X
    [4X[28X        41) ), [128X[104X
    [4X[28X  rec( columns := (28,29,30,31)(32,33)(34,35,36,37)(38,39,40,41)(42,[128X[104X
    [4X[28X        43,44,45)(46,47,48,49), group := <permutation group with [128X[104X
    [4X[28X        3 generators>, rows := (15,16)(17,18)(20,21)(22,23)(24,25)(26,[128X[104X
    [4X[28X        27)(28,29)(34,35)(38,39)(42,43)(46,47) ) ][128X[104X
    [4X[25Xgap>[125X [27Xisos3:= List( case2, t -> CharacterTableIsoclinic( t,[127X[104X
    [4X[25X>[125X [27X                               ClassPositionsOfCentre( t ) ) );;[127X[104X
    [4X[25Xgap>[125X [27XList( [ 1, 2 ],[127X[104X
    [4X[25X>[125X [27X     i -> TransformingPermutationsCharacterTables( case2[i], isos3[i] ) );[127X[104X
    [4X[28X[ fail, fail ][128X[104X
  [4X[32X[104X
  
  
  [1X2.2-7 [33X[0;0YCharacters of Normal Subgroups[133X[101X
  
  [33X[0;0YLet [22XG[122X be a group and [22XN[122X be a normal subgroup of [22XG[122X. We will need the following
  well-known  facts about the relation between the irreducible characters of [22XG[122X
  and [22XN[122X.[133X
  
  [33X[0;0YFor  an  irreducible  (Brauer)  character [22Xχ[122X of [22XN[122X and [22Xg ∈ G[122X, we define [22Xχ^g[122X by
  [22Xχ^g(n)  =  χ(n^g)[122X  for  all  [22Xn  ∈  N[122X,  and  set  [22XI_G(χ) = { g ∈ G; χ^g = χ }[122X
  (see [Fei82, p. 86]).[133X
  
  [33X[0;0YIf  [22XI_G(χ)  =  N[122X  then  the induced character [22Xχ^G[122X is an irreducible (Brauer)
  character  of  [22XG[122X  (see [Fei82,  Lemma  III  2.11] or [Nav98, Theorem 8.9] or
  [LP10, Corollary 4.3.8]).[133X
  
  [33X[0;0YIf  [22XG/N[122X is cyclic and if [22XI_G(χ) = G[122X then [22Xχ = ψ_N[122X for an irreducible (Brauer)
  character  [22Xψ[122X  of  [22XG[122X,  and  each  irreducible  (Brauer)  character [22Xθ[122X with the
  property  [22Xχ  =  θ_N[122X  is  of  the  form  [22Xθ = ψ ⋅ ϵ[122X, where [22Xϵ[122X is an irreducible
  (Brauer)  character of [22XG/N[122X (see [Fei82, Theorem III 2.14] or [Nav98, Theorem
  8.12] or [LP10, Theorem 3.6.13]).[133X
  
  [33X[0;0YClifford's  theorem  ([Fei82, Theorem III 2.12] or [Nav98, Corollary 8.7] or
  [LP10,  Theorem  3.6.2])  states  that  the  restriction  of  an irreducible
  (Brauer)  character  of  [22XG[122X  to  [22XN[122X  has the form [22Xe ∑_i=1^t φ_i[122X for a positive
  integer [22Xe[122X and irreducible (Brauer) characters [22Xφ_i[122X of [22XN[122X, where [22Xt[122X is the index
  of [22XI_G(φ_1)[122X in [22XG[122X.[133X
  
  [33X[0;0YNow  assume  that [22XG[122X is a normal subgroup in a larger group [22XH[122X, that [22XG/N[122X is an
  abelian chief factor of [22XH[122X and that [22Xψ[122X is an ordinary irreducible character of
  [22XG[122X such that [22XI_H(ψ) = H[122X. Then either [22Xt = 1[122X and [22Xe^2[122X is one of [22X1[122X, [22X|G/N|[122X, or [22Xt =
  |G/N|[122X and [22Xe = 1[122X (see [Isa76, Theorem 6.18]).[133X
  
  
  [1X2.3 [33X[0;0YThe Constructions[133X[101X
  
  
  [1X2.3-1 [33X[0;0YCharacter Tables of Groups of the Structure [22XM.G.A[122X[101X[1X[133X[101X
  
  [33X[0;0Y(This kind of table construction is described in [Bre11].)[133X
  
  [33X[0;0YLet [22XN[122X denote a downward extension of the finite group [22XG[122X by a finite group [22XM[122X,
  let [22XH[122X denote an automorphic (upward) extension of [22XN[122X by a finite cyclic group
  [22XA[122X  such  that [22XM[122X is normal in [22XH[122X, and set [22XF = H / M[122X. We consider the situation
  that  each  irreducible character of [22XN[122X that does not contain [22XM[122X in its kernel
  induces  irreducibly  to  [22XH[122X.  Equivalently,  the  action of [22XA = ⟨ a ⟩[122X on the
  characters  of  [22XN[122X, via [22Xχ ↦ χ^a[122X, has only orbits of length exactly [22X|A|[122X on the
  set [22X{ χ ∈ Irr(N); M ⊈ ker(χ) }[122X.[133X
  
                    H
                    │
                    │ A           G  ───▶  F
                    │
                    N             ▲        ▲
                    │             │        │
                    │ G           │        │
                    │
                    M             N  ───▶  H
                    │
                    1
  
  [33X[0;0YThis  occurs  for example if [22XM[122X is central in [22XN[122X and [22XA[122X acts fixed-point freely
  on  [22XM[122X, we have [22X|M| ≡ 1 mod |A|[122X in this case. If [22XM[122X has prime order then it is
  sufficient that [22XA[122X does not centralize [22XM[122X.[133X
  
  [33X[0;0YThe  ordinary  (or  [22Xp[122X-modular) irreducible characters of [22XH[122X are then given by
  the  ordinary  (or  [22Xp[122X-modular)  irreducible characters of [22XF[122X and [22XN[122X, the class
  fusions from the table of [22XN[122X onto the table of [22XG[122X and from the table of [22XG[122X into
  that  of  [22XF[122X, and the permutation [22Xπ[122X that is induced by the action of [22XA[122X on the
  conjugacy classes of [22XN[122X.[133X
  
  [33X[0;0YIn  general,  the  action of [22XA[122X on the classes of [22XM[122X is not the right thing to
  look  at,  one really must consider the action on the relevant characters of
  [22XM.G[122X. For example, take [22XH[122X the quaternion group or the dihedral group of order
  eight,  [22XN[122X a cyclic subgroup of index two, and [22XM[122X the centre of [22XH[122X; here [22XA[122X acts
  trivially  on  [22XM[122X,  but the relevant fact is that the action of [22XA[122X swaps those
  two  irreducible characters of [22XN[122X that take the value [22X-1[122X on the involution in
  [22XM[122X –these are the faithful irreducible characters of [22XN[122X.[133X
  
  [33X[0;0YIf  the  orders  of [22XM[122X and [22XA[122X are coprime then also the power maps of [22XH[122X can be
  computed  from  the  above data. For each prime [22Xp[122X that divides the orders of
  both  [22XM[122X  and  [22XA[122X, the [22Xp[122X-th power map is in general not uniquely determined by
  these  input  data.  In  this  case,  we  can  compute  the  (finitely many)
  candidates  for  the  character table of [22XH[122X that are described by these data.
  One  possible  reason  for ambiguities is the existence of several isoclinic
  but  nonisomorphic  groups  that  can  arise  from  the  input  tables  (cf.
  Section [14X2.2-4[114X, see Section [14X2.4-12[114X for an example).[133X
  
  [33X[0;0YWith     the     [5XGAP[105X     function     [2XPossibleActionsForTypeMGA[102X    ([14XCTblLib:
  PossibleActionsForTypeMGA[114X),  one  can  compute the possible orbit structures
  induced  by  [22XG.A[122X on the classes of [22XM.G[122X, and [2XPossibleCharacterTablesOfTypeMGA[102X
  ([14XCTblLib:  PossibleCharacterTablesOfTypeMGA[114X)  computes the possible ordinary
  character tables for a given orbit structure. For constructing the [22Xp[122X-modular
  Brauer  table  of  a  group  [22XH[122X  of  the  structure  [22XM.G.A[122X,  the [5XGAP[105X function
  [2XBrauerTableOfTypeMGA[102X  ([14XCTblLib:  BrauerTableOfTypeMGA[114X)  takes  the  ordinary
  character  table  of  [22XH[122X and the [22Xp[122X-modular tables of the subgroup [22XM.G[122X and the
  factor  group  [22XG.A[122X  as its input. The [22Xp[122X-modular table of [22XG[122X is not explicitly
  needed in the construction, it is implicitly given by the class fusions from
  [22XM.G[122X  into  [22XM.G.A[122X and from [22XM.G.A[122X onto [22XG.A[122X; these class fusions must of course
  be available.[133X
  
  [33X[0;0YThe  [5XGAP[105X  Character  Table  Library  contains  many  tables of groups of the
  structure  [22XM.G.A[122X  as described above, which are encoded by references to the
  tables  of  the  groups [22XM.G[122X and [22XG.A[122X, plus the fusion and action information.
  This reduces the space needed for storing these character tables.[133X
  
  [33X[0;0YFor examples, see Section [14X2.4[114X.[133X
  
  
  [1X2.3-2 [33X[0;0YCharacter Tables of Groups of the Structure [22XG.S_3[122X[101X[1X[133X[101X
  
  [33X[0;0YLet  [22XG[122X  be  a  finite group, and [22XH[122X be an upward extension of [22XG[122X such that the
  factor  group  [22XH  / G[122X is a Frobenius group [22XF = K C[122X with abelian kernel [22XK[122X and
  cyclic complement [22XC[122X of prime order [22Xc[122X. (Typical cases for [22XF[122X are the symmetric
  group [22XS_3[122X on three points and the alternating group [22XA_4[122X on four points.) Let
  [22XN[122X and [22XU[122X denote the preimages of [22XK[122X and [22XC[122X under the natural epimorphism from [22XH[122X
  onto [22XF[122X.[133X
  
             H
            ╱ ╲
           ╱   ╲                       N  ───▶  H
          N     ╲
           ╲     U                     ▲        ▲
            ╲   ╱                      │        │
             ╲ ╱                       │        │
              G
              │                        G  ───▶  U
              │
              1
  
  [33X[0;0YFor  certain  isomorphism  types of [22XF[122X, the ordinary (or [22Xp[122X-modular) character
  table of [22XH[122X can be computed from the ordinary (or [22Xp[122X-modular) character tables
  of [22XG[122X, [22XU[122X, and [22XN[122X, the class fusions from the table of [22XG[122X into those of [22XU[122X and [22XN[122X,
  and the permutation [22Xπ[122X induced by [22XH[122X on the conjugacy classes of [22XN[122X. This holds
  for example for [22XF = S_3[122X and in the ordinary case also for [22XF = A_4[122X.[133X
  
  [33X[0;0YEach  class  of  [22XH[122X is either a union of [22Xπ[122X-orbits or an [22XH[122X-class of [22XU ∖ G[122X; the
  latter  classes  are in bijection with the [22XU[122X-classes of [22XU ∖ G[122X, they are just
  [22X|K|[122X  times  larger  since  the [22X|K|[122X conjugates of [22XU[122X in [22XH[122X are fused. The power
  maps  of  [22XH[122X  are uniquely determined from the power maps of [22XU[122X and [22XN[122X, because
  each element in [22XF[122X lies in [22XK[122X or in an [22XF[122X-conjugate of [22XC[122X.[133X
  
  [33X[0;0YConcerning  the  computation of the ordinary irreducible characters of [22XH[122X, we
  could  induce  the irreducible characters of [22XU[122X and [22XN[122X to [22XH[122X, and then take the
  union  of  the  irreducible  characters  among  those  and  the  irreducible
  differences  of  those.  (For  the  case  [22XF  =  S_3[122X,  this approach has been
  described in the Appendix of [HL94].)[133X
  
  [33X[0;0YThe  [5XGAP[105X function [2XCharacterTableOfTypeGS3[102X ([14XCTblLib: CharacterTableOfTypeGS3[114X)
  proceeds  in a different way, which is suitable also for the construction of
  [22Xp[122X-modular character tables of [22XH[122X.[133X
  
  [33X[0;0YBy  the facts listed in Section [14X2.2-7[114X, for an irreducible (Brauer) character
  [22Xχ[122X of [22XN[122X, we have [22XI_H(χ)[122X equal to either [22XN[122X or [22XH[122X. In the former case, [22Xχ[122X induces
  irreducibly  to  [22XH[122X.  In the latter case, there are extensions [22Xψ^(i)[122X, [22X1 ≤ i ≤
  |C|[122X  (or  [22X|C|_p^'[122X), to [22XH[122X, and we have the following possibilities, depending
  on the restriction [22Xχ_G[122X.[133X
  
  [33X[0;0YIf  [22Xχ_G  =  e φ[122X, for an irreducible character [22Xφ[122X of [22XG[122X, then [22XI_U(φ) = U[122X holds,
  hence  the [22Xψ^(i)_U[122X are [22X|C|[122X (or [22X|C|_p^'[122X) extensions of [22Xχ_G[122X to [22XU[122X. Moreover, we
  have  either  [22Xe  =  1[122X  or  [22Xe^2 = |K|[122X. In the case [22Xe = 1[122X, this determines the
  values  of  the  [22Xψ^(i)[122X  on the classes of [22XU[122X outside [22XG[122X. In the case [22Xe ‡ 1[122X, we
  have  the  problem  to  combine  [22Xe[122X  extensions of [22Xφ[122X to a character of [22XU[122X that
  extends to [22XH[122X.[133X
  
  [33X[0;0Y(One  additional  piece  of  information  in  the case of ordinary character
  tables  is  that the norm of this linear combination equals [22X1 + (|K|-1)/|C|[122X,
  which  determines  the [22Xψ^(i)_U[122X if [22XF = A_4 ≅ 2^2:3[122X or [22XF = 2^3:7[122X holds; in the
  former  case, the sum of each two out of the three different extensions of [22Xφ[122X
  extends  to  [22XU[122X; in the latter case, the sum of all different extensions plus
  one  of  the  extensions extends. Note that for [22XF = S_3[122X, the case [22Xe ‡ 1[122X does
  not occur.)[133X
  
  [33X[0;0YThe remaining case is that [22Xχ_G[122X is not a multiple of an irreducible character
  of [22XG[122X. Then [22Xχ_G = φ_1 + φ_2 + ... + φ_|K|[122X, for pairwise different irreducible
  characters [22Xφ_i[122X, [22X1 ≤ i ≤ |K|[122X, of [22XG[122X with the property [22Xφ_i^N = χ[122X. The action of
  [22XU[122X on [22XG[122X fixes at least one of the [22Xφ_i[122X, since [22X|K| ≡ 1 mod |C|[122X. Without loss of
  generality,  let  [22XI_U(φ_1)  =  U[122X,  and  let  [22Xφ_1^(i)[122X,  [22X1  ≤  i ≤ |C|[122X, be the
  extensions of [22Xφ_1[122X to [22XU[122X. (In fact exactly [22Xφ_1[122X is fixed by [22XU[122X since otherwise [22Xk
  ∈ K[122X would exist with [22Xφ_1^k ‡ φ_1[122X and such that also [22Xφ_1^k[122X would be invariant
  in  [22XU[122X;  but then [22Xφ_1[122X would be invariant under both [22XC[122X and [22XC^k[122X, which generate
  [22XF[122X.  So  each  of the [22X|K|[122X constituents is invariant in exactly one of the [22X|K|[122X
  subgroups of type [22XU[122X above [22XG[122X.)[133X
  
  [33X[0;0YThen  [22X((φ_1^(i))^H)_N  = φ_1^N = χ[122X, hence the values of [22Xψ^(i)[122X on the classes
  of [22XU ∖ G[122X are given by those of [22X(φ_1^(i))^H[122X. (These are exactly the values of
  [22Xφ_1^(i)[122X.  So in both cases, we take the values of [22Xχ[122X on [22XN[122X, and on the classes
  of  [22XU  ∖ G[122X the values of the extensions of the unique extendible constituent
  of [22Xχ_G[122X.)[133X
  
  [33X[0;0YFor examples, see Section [14X2.5[114X.[133X
  
  
  [1X2.3-3 [33X[0;0YCharacter Tables of Groups of the Structure [22XG.2^2[122X[101X[1X[133X[101X
  
  [33X[0;0YLet  [22XG[122X  be  a  finite group, and [22XH[122X be an upward extension of [22XG[122X such that the
  factor  group  [22XH  /  G[122X  is  a  Klein four group. We assume that the ordinary
  character tables of [22XG[122X and of the three index two subgroups [22XU_1[122X, [22XU_2[122X, and [22XU_3[122X
  (of  the  structures [22XG.2_1[122X, [22XG.2_2[122X, and [22XG.2_3[122X, respectively) of [22XH[122X above [22XG[122X are
  known,  as well as the class fusions of [22XG[122X into these groups. The idea behind
  the  method  that  is  described  in this section is that in this situation,
  there are only few possibilities for the ordinary character table of [22XH[122X.[133X
  
                 H
                ╱│╲
               ╱ │ ╲               G  ───▶  U_1  ───▶  H
              ╱  │  ╲
            U_1 U_2 U_3            G  ───▶  U_2  ───▶  H
              ╲  │  ╱
               ╲ │ ╱               G  ───▶  U_3  ───▶  H
                ╲│╱
                 G
                 │
                 │
                 1
  
  [33X[0;0YNamely,  the  action  of  [22XH[122X  on  the  classes  of  [22XG.2_i[122X is given by a table
  automorphism  [22Xπ_i[122X  of  [22XG.2_i[122X,  and  [22XH[122X  realizes  compatible  choices of such
  automorphisms [22Xπ_1[122X, [22Xπ_2[122X, [22Xπ_3[122X in the sense that the orbits of all three [22Xπ_i[122X on
  the classes of [22XG[122X inside the groups [22XG.2_i[122X coincide. Furthermore, if [22XG.2_i[122X has
  [22Xn_i[122X  conjugacy  classes then an action [22Xπ_i[122X that is a product of [22Xf_i[122X disjoint
  transpositions leads to a character table candidate for [22XG.2^2[122X that has [22X2 n_i
  - 3 f_i[122X classes, so also the [22Xf_i[122X must be compatible.[133X
  
  [33X[0;0YTaking the [21Xinner[121X classes, i.e., the orbit sums of the classes inside [22XG[122X under
  the  [22Xπ_i[122X, plus the union of the [22Xπ_i[122X-orbits of the classes of [22XG.2_i ∖ G[122X gives
  a  possibility  for  the  classes  of  [22XH[122X. Furthermore, the power maps of the
  groups  [22XG.2_i[122X  determine  the  power maps of the candidate table constructed
  this way.[133X
  
  [33X[0;0YConcerning  the  computation of the irreducible characters of [22XH[122X, we consider
  also  the  case  of  [22Xp[122X-modular  characters  tables, where we assume that the
  ordinary  character  table  of  [22XH[122X  is  already known and the only task is to
  compute the irreducible [22Xp[122X-modular Brauer characters.[133X
  
  [33X[0;0YLet [22Xχ[122X be an irreducible ([22Xp[122X-modular Brauer) character of [22XG[122X. By the facts that
  are listed in Section [14X2.2-7[114X, there are three possibilities.[133X
  
  [8X1.[108X
        [33X[0;6Y[22XI_H(χ) = G[122X; then [22Xχ^H[122X is irreducible.[133X
  
  [8X2.[108X
        [33X[0;6Y[22XI_H(χ)  = G.2_i[122X for [22Xi[122X one of [22X1[122X, [22X2[122X, [22X3[122X; then [22XI_G.2_i(χ) = G.2_i[122X for this
        [22Xi[122X,  so  [22Xχ[122X  extends  to  [22XG.2_i[122X;  none  of these extensions extends to [22XH[122X
        (because  otherwise  [22Xχ[122X  would  be  invariant  in  [22XH[122X),  so  they induce
        irreducible characters of [22XH[122X.[133X
  
  [8X3.[108X
        [33X[0;6Y[22XI_H(χ)  =  H[122X;  then  [22Xχ[122X  extends to each of the three groups [22XG.2_i[122X, and
        either  all  these  extensions  induce  the same character of [22XH[122X (which
        vanishes on [22XH ∖ G[122X) or they are invariant in [22XH[122X and thus extend to [22XH[122X.[133X
  
  [33X[0;0YIn  the  latter part of case 3. (except if [22Xp = 2[122X), the problem is to combine
  the  values  of  six  irreducible  characters  of  the  groups [22XG.2_i[122X to four
  characters  of [22XH[122X. This yields essentially two choices, and we try to exclude
  one  possibility by forming scalar products with the [22X2[122X-nd symmetrizations of
  the  known irreducibles. If several possibilities remain then we get several
  possible tables.[133X
  
  [33X[0;0YSo  we  end up with a list of possible character tables of [22XH[122X. The first step
  is  to  specify  a list of possible triples [22X(π_1, π_2, π_3)[122X, using the table
  automorphisms  of  the groups [22XG.2_i[122X; this can be done using the [5XGAP[105X function
  [2XPossibleActionsForTypeGV4[102X ([14XCTblLib: PossibleActionsForTypeGV4[114X). Then the [5XGAP[105X
  function              [2XPossibleCharacterTablesOfTypeGV4[102X             ([14XCTblLib:
  PossibleCharacterTablesOfTypeGV4[114X)  can  be  used for computing the character
  table  candidates  for  each  given triple of permutations; it may of course
  happen that some triples of automorphisms are excluded in this second step.[133X
  
  [33X[0;0YFor examples, see Section [14X2.6[114X.[133X
  
  
  [1X2.3-4 [33X[0;0YCharacter Tables of Groups of the Structure [22X2^2.G[122X[101X[1X (August 2005)[133X[101X
  
  [33X[0;0YLet  [22XG[122X  be a finite group, and [22XH[122X be a central extension of [22XG[122X by a Klein four
  group  [22XZ = ⟨ z_1, z_2 ⟩[122X; set [22Xz_3 = z_1 z_2[122X and [22XZ_i = ⟨ z_i ⟩[122X, for [22X1 ≤ i ≤ 3[122X.
  We  assume  that  the  ordinary  character tables of the three factor groups
  [22X2_i.G  =  H  /  Z_i[122X  of [22XH[122X are known, as well as the class fusions from these
  groups to [22XG[122X. The idea behind the method described in this section is that in
  this  situation, there are only few possibilities for the ordinary character
  table of [22XH[122X.[133X
  
                 H
                 │
               G │
                 │
                 Z
                ╱│╲
               ╱ │ ╲               H  ───▶  H / Z_1  ───▶  G
              ╱  │  ╲
            Z_1 Z_2 Z_3            H  ───▶  H / Z_2  ───▶  G
              ╲  │  ╱
               ╲ │ ╱               H  ───▶  H / Z_3  ───▶  G
                ╲│╱
                 1
  
  [33X[0;0YNamely,  the  irreducible  ([22Xp[122X-modular)  characters  of  [22XH[122X  are  exactly  the
  inflations  of  the  irreducible  ([22Xp[122X-modular) characters of the three factor
  groups [22XH / Z_i[122X. (Note that for any noncyclic central subgroup [22XC[122X of [22XH[122X and any
  [22Xχ  ∈  Irr(H)[122X,  we  have  [22X|ker(χ) ∩ C| > 1[122X. To see this, let [22XN = ker(χ)[122X. Then
  clearly  [22X|N|  > 1[122X, and [22Xχ[122X can be regarded as a faithful irreducible character
  of  [22XH/N[122X.  If  [22XN  ∩  C[122X would be trivial then [22XN C / N ≅ C[122X would be a noncyclic
  central  subgroup  of  [22XH/N[122X. This cannot happen by [Isa76, Thm. 2.32 (a)], so
  the  statement can be regarded as an obvious refinement of this theorem.) So
  all we have to construct is the character table head of [22XH[122X –classes and power
  maps– and the factor fusions from [22XH[122X to these groups.[133X
  
  [33X[0;0YFor fixed [22Xh ∈ H[122X, we consider the question in which [22XH[122X-classes the elements [22Xh[122X,
  [22Xh z_1[122X, [22Xh z_2[122X, and [22Xh z_3[122X lie. There are three possibilities.[133X
  
  [31X1[131X   [33X[0;6YThe  four  elements  are all conjugate in [22XH[122X. Then in each of the three
        groups [22XH/Z_i[122X, the two preimages of [22Xh Z ∈ H/Z[122X are conjugate.[133X
  
  [31X2[131X   [33X[0;6YWe are not in case 1. but two of the four elements are conjugate in [22XH[122X,
        i. e., [22Xg^-1 h g = h z_i[122X for some [22Xg ∈ H[122X and some [22Xi[122X; then [22Xg^-1 h z_j g =
        h  z_i  z_j[122X  for  each  [22Xj[122X,  so  the  four  elements lie in exactly two
        [22XH[122X-classes.  This  implies that for [22Xi ‡ j[122X, the elements [22Xh[122X and [22Xh z_j[122X are
        not [22XH[122X-conjugate, so [22Xh Z_i[122X is not conjugate to [22Xh z_j Z_i[122X in [22XH/Z_i[122X and [22Xh
        Z_j[122X is conjugate to [22Xh z_i Z_j[122X in [22XH/Z_j[122X.[133X
  
  [31X3[131X   [33X[0;6YThe  four elements are pairwise nonconjugate in [22XH[122X. Then in each of the
        three groups [22XH/Z_i[122X, the two preimages of [22Xh Z ∈ H/Z[122X are nonconjugate.[133X
  
  [33X[0;0YWe  observe  that  the question which case actually applies for [22Xh ∈ H[122X can be
  decided  from  the  three  factor  fusions from [22XH/Z_i[122X to [22XG[122X. So we attempt to
  construct  the  table  head  of [22XH[122X and the three factor fusions from [22XH[122X to the
  groups  [22XH/Z_i[122X,  as  follows. Each class [22Xg^G[122X of [22XG[122X yields either one or two or
  four preimage classes in [22XH[122X.[133X
  
  [33X[0;0YIn  case  1.,  we  get  one  preimage class in [22XH[122X, and have no choice for the
  factor fusions.[133X
  
  [33X[0;0YIn case 2., we get two preimage classes, there is exactly one group [22XH/Z_i[122X in
  which  [22Xg^G[122X  has  two  preimage  classes –which are in bijection with the two
  preimage  classes  of  [22XH[122X–  and  for  the  other two groups [22XH/Z_j[122X, the factor
  fusions from [22XH[122X map the two classes of [22XH[122X to the unique preimage class of [22Xg^G[122X.
  (In the following picture, this is shown for [22Xi = 1[122X.)[133X
  
     H/Z        hZ             H/Z      hZ           H/Z      hZ
               ╱ ╲                      │                     │
              ╱   ╲                     │                     │
     H/Z_1  hZ_1 (hz_2)Z_1     H/Z_2    hZ_2         H/Z_3    hZ_3
             │     │                   ╱ ╲                   ╱ ╲
             │     │                  ╱   ╲                 ╱   ╲
     H       h     hz_2              h     hz_2            h     hz_2
  
  [33X[0;0YIn case 3., the three factor fusions are in general not uniquely determined:
  We  get four classes, which are defined as two pairs of preimages of the two
  preimages  of [22Xg^G[122X in [22XH/Z_1[122X and in [22XH/Z_2[122X –so we choose the relevant images in
  the two factor fusions to [22XH/Z_1[122X and [22XH/Z_2[122X, respectively. Note that the class
  of  [22Xh[122X  in [22XH[122X is the unique class that maps to the class of [22Xh Z_1[122X in [22XH/Z_1[122X and
  to  the  class of [22Xh Z_2[122X in [22XH/Z_2[122X, and so on, and we define four classes of [22XH[122X
  via  the four possible combinations of image classes in [22XH/Z_1[122X and [22XH/Z_2[122X (see
  the picture below).[133X
  
     H/Z           hZ             H/Z           hZ
                  ╱ ╲                          ╱ ╲
                 ╱   ╲                        ╱   ╲
     H/Z_1     hZ_1 (hz_2)Z_1     H/Z_2     hZ_2 (hz_1)Z_2
               ╱│     │╲                    ╱   ╲╱  ╲  
              ╱ │     │ ╲                  ╱    ╱╲   ╲  
     H       h hz_1 hz_2 hz_3             h hz_1 hz_2 hz_3
  
  [33X[0;0YDue  to  the  fact  that in general we do not know which of the two preimage
  classes  of  [22Xg^G[122X  in  [22XH/Z_3[122X  is the class of [22Xh Z_3[122X, there are in general the
  following [13Xtwo[113X possibilities for the fusion from [22XH[122X to [22XH/Z_3[122X.[133X
  
     H/Z           hZ             H/Z           hZ
                  ╱ ╲                          ╱ ╲
                 ╱   ╲                        ╱   ╲
     H/Z_3     hZ_3 (hz_1)Z_3     H/Z_3     hZ_3 (hz_1)Z_3
               ╱ └──╱│────┐               ┌───│╲──┘ ╲  
              ╱    ╱ │    │               │   │ ╲    ╲  
     H       h hz_1 hz_2 hz_3             h hz_1 hz_2 hz_3
  
  [33X[0;0YThis  means  that  we can inflate the irreducible characters of [22XH/Z_1[122X and of
  [22XH/Z_2[122X  to  [22XH[122X  but that for the inflations of those irreducible characters of
  [22XH/Z_3[122X  to  [22XH[122X  that are not characters of [22XG[122X, the values on classes where case
  3. applies are determined only up to sign.[133X
  
  [33X[0;0YThe      [5XGAP[105X     function     [2XPossibleCharacterTablesOfTypeV4G[102X     ([14XCTblLib:
  PossibleCharacterTablesOfTypeV4G[114X) computes the candidates for the table of [22XH[122X
  from  the  tables of the groups [22XH/Z_i[122X by setting up the character table head
  of [22XH[122X using the class fusions from [22XH/Z_1[122X and [22XH/Z_2[122X to [22XG[122X, and then forming the
  possible class fusions from [22XH[122X to [22XH/Z_3[122X.[133X
  
  [33X[0;0YIf  case 3. applies for a class [22Xg^G[122X with [22Xg[122X of [13Xodd[113X element order then exactly
  one  preimage  class  in  [22XH[122X  has odd element order, and we can identify this
  class  in  the groups [22XH/Z_i[122X, which resolves the ambiguity in this situation.
  More generally, if [22Xg = k^2[122X holds for some [22Xk ∈ G[122X then all preimages of [22Xk^G[122X in
  [22XH[122X  square  to the same class of [22XH[122X, so again this class can be identified. In
  fact                [2XPossibleCharacterTablesOfTypeV4G[102X               ([14XCTblLib:
  PossibleCharacterTablesOfTypeV4G[114X)  checks whether the [22Xp[122X-th power maps of the
  candidate  table  for  [22XH[122X  and  the [22Xp[122X-th power map of [22XH/Z_3[122X together with the
  fusion candidate form a commutative diagram.[133X
  
  [33X[0;0YAn  additional  criterion used by [2XPossibleCharacterTablesOfTypeV4G[102X ([14XCTblLib:
  PossibleCharacterTablesOfTypeV4G[114X)  is given by the property that the product
  of  two characters inflated from [22XH/Z_1[122X and [22XH/Z_2[122X, respectively, that are not
  characters  of  [22XG[122X is a character of [22XH[122X that contains [22XZ_3[122X in its kernel, so it
  is  checked  whether  the  scalar  products  of  these  characters  with all
  characters  that  are  inflated  from  [22XH/Z_3[122X  via  the  candidate fusion are
  nonnegative integers.[133X
  
  [33X[0;0YOnce  the  fusions  from [22XH[122X to the groups [22XH/Z_i[122X are known, the computation of
  the  irreducible [22Xp[122X-modular characters of [22XH[122X from those of the groups [22XH/Z_i[122X is
  straightforward.[133X
  
  [33X[0;0YThe  only  open question is why this construction is described in this note.
  That is, how is it related to table automorphisms?[133X
  
  [33X[0;0YThe  answer  is  that in several interesting cases, the three subgroups [22XZ_1[122X,
  [22XZ_2[122X,  [22XZ_3[122X  are  conjugate under an order three automorphism [22Xσ[122X, say, of [22XH[122X. In
  this situation, the three factor groups [22X2_i.G = H/Z_i[122X are isomorphic, and we
  can  describe  the input tables and fusions by the character table of [22X2_1.G[122X,
  the factor fusion from this group to [22XG[122X, and the automorphism [22Xσ'[122X of [22XG[122X that is
  induced  by  [22Xσ[122X.  Assume  that [22Xσ(Z_1) = Z_2[122X holds, and choose [22Xh ∈ H[122X. Then [22Xσ(h
  Z_1)  =  σ(h) Z_2[122X is mapped to [22Xσ(h) Z = σ'(h Z)[122X under the factor fusion from
  [22X2_2.G[122X  to  [22XG[122X.  Let  us  start with the character table of [22X2_1.G[122X, and fix the
  class  fusion to the character table of [22XG[122X. We may choose the identity map as
  isomorphism  from the table of [22X2_1.G[122X to the tables of [22X2_2.G[122X and [22X2_3.G[122X, which
  implies that the class of [22Xh Z_1[122X is identified with the class of [22Xh Z_2[122X and in
  turn  the class fusion from the table of [22X2_2.G[122X to that of [22XG[122X can be chosen as
  the  class  fusion  from  the  table of [22X2_1.G[122X followed by the permutation of
  classes  of [22XG[122X induced by [22Xσ'[122X; analogously, the fusion from the table of [22X2_3.G[122X
  is  obtained by applying this permutation twice to the class fusion from the
  table of [22X2_1.G[122X.[133X
  
  [33X[0;0YFor examples, see Section [14X2.7[114X.[133X
  
  
  [1X2.3-5 [33X[0;0Y[22Xp[122X[101X[1X-Modular Tables of Extensions by [22Xp[122X[101X[1X-singular Automorphisms[133X[101X
  
  [33X[0;0YLet  [22XG[122X  be  a  finite  group,  and  [22XH[122X  be  an  upward  extension  of [22XG[122X by an
  automorphism  of  prime  order [22Xp[122X, say. [22XH[122X induces a table automorphism of the
  [22Xp[122X-modular  character  table of [22XG[122X; let [22Xπ[122X denote the corresponding permutation
  of classes of [22XG[122X. The columns of the [22Xp[122X-modular character table of [22XH[122X are given
  by  the  orbits of [22Xπ[122X, and the irreducible Brauer characters of [22XH[122X are exactly
  the orbit sums of [22Xπ[122X on the irreducible Brauer characters of [22XG[122X.[133X
  
  [33X[0;0YNote  that  for computing the [22Xp[122X-modular character table of [22XH[122X from that of [22XG[122X,
  it is sufficient to know the orbits of [22Xπ[122X and not [22Xπ[122X itself. Also the ordinary
  character  table  of  [22XH[122X is not needed, but since [5XGAP[105X stores Brauer character
  tables  relative to their ordinary tables, we are interested mainly in cases
  where  the  ordinary character tables of [22XG[122X and [22XH[122X and the [22Xp[122X-modular character
  table  of  [22XG[122X  are known. Assuming that the class fusion between the ordinary
  tables of [22XG[122X and [22XH[122X is stored on the table of [22XG[122X, the orbits of the action of [22XH[122X
  on the [22Xp[122X-regular classes of [22XG[122X can be read off from it.[133X
  
  [33X[0;0YThe     [5XGAP[105X    function    [2XIBrOfExtensionBySingularAutomorphism[102X    ([14XCTblLib:
  IBrOfExtensionBySingularAutomorphism[114X)  can  be used to compute the [22Xp[122X-modular
  irreducibles of [22XH[122X.[133X
  
  [33X[0;0YFor examples, see Section [14X2.8[114X.[133X
  
  
  [1X2.3-6 [33X[0;0YCharacter Tables of Subdirect Products of Index Two (July 2007)[133X[101X
  
  [33X[0;0YLet  [22XC_2[122X  denote  the  cyclic group of order two, let [22XG_1[122X, [22XG_2[122X be two finite
  groups,  and  for  [22Xi  ∈  { 1, 2 }[122X, let [22Xφ_i: G_i → C_2[122X be an epimorphism with
  kernel  [22XH_i[122X. Let [22XG[122X be the subdirect product (pullback) of [22XG_1[122X and [22XG_2[122X w.r.t.
  the epimorphisms [22Xφ_i[122X, i.e.,[133X
  
  
  [24X[33X[0;6YG = { (g_1, g_2) ∈ G_1 × G_2; φ_1(g_1) = φ_2(g_2) } .[133X[124X
  
  [33X[0;0YThe  group  [22XG[122X  has index two in the direct product [22XG_1 × G_2[122X, and [22XG[122X contains
  [22XH_1 × H_2[122X as a subgroup of index two.[133X
  
  [33X[0;0YIn  the  following,  we  describe  how the ordinary (or [22Xp[122X-modular) character
  table of [22XG[122X can be computed from the ordinary (or [22Xp[122X-modular) character tables
  of the groups [22XG_i[122X and [22XH_i[122X, and the class fusions from [22XH_i[122X to [22XG_i[122X.[133X
  
  [33X[0;0Y(For the case that one of the groups [22XG_i[122X is a cyclic group of order four, an
  alternative  way  to  construct  the  character  table  of [22XG[122X is described in
  Section [14X2.2-4[114X.  For  the  case  that  one of the groups [22XG_i[122X acts fixed point
  freely  on  the  nontrivial  irreducible  characters  of [22XH_i[122X, an alternative
  construction is described in Section [14X2.3-1[114X.)[133X
  
                                  G1xG2
                                   ╱│╲
                                  ╱ │ ╲
                             G1xH2  G  H1xG2
                                ╱ ╲ │ ╱ ╲
                               ╱   ╲│╱   ╲
                              ╱   H1xH2   ╲
                            G1     ╱ ╲     G2
                              ╲   ╱   ╲   ╱
                               ╲ ╱     ╲ ╱
                               H1       H2
                                 ╲     ╱
                                  ╲   ╱
                                   ╲ ╱
                                    1
  
  [33X[0;0YEach  conjugacy  class  of [22XG[122X is either contained in [22XH_1 × H_2[122X or not. In the
  former  case, let [22Xh_i ∈ H_i[122X and [22Xg_i ∈ G_i ∖ H_i[122X; in particular, [22X(g_1, g_2) ∈
  G[122X  because  both  [22Xφ_1(g_1)[122X and [22Xφ_2(g_2)[122X are not the identity. There are four
  possibilities.[133X
  
  [8X1.[108X
        [33X[0;6YIf  [22Xh_1^{H_1}  =  h_1^{G_1}[122X  and  [22Xh_2^{H_2}  =  h_2^{G_2}[122X  then  [22X(h_1,
        h_2)^{H_1  ×  H_2} = (h_1, h_2)^{G_1 × G_2}[122X holds, hence this class is
        equal to [22X(h_1, h_2)^G[122X.[133X
  
  [8X2.[108X
        [33X[0;6YIf [22Xh_1^{H_1} ‡ h_1^{G_1}[122X and [22Xh_2^{H_2} ‡ h_2^{G_2}[122X then the four [22XH_1 ×
        H_2[122X-classes  with  the  representatives  [22X(h_1, h_2)[122X, [22X(h_1^{g_1}, h_2)[122X,
        [22X(h_1,  h_2^{g_2})[122X, and [22X(h_1^{g_1}, h_2^{g_2})[122X fall into two [22XG[122X-classes,
        where  [22X(h_1,  h_2)[122X  is  [22XG[122X-conjugate  with  [22X(h_1^{g_1}, h_2^{g_2})[122X, and
        [22X(h_1^{g_1}, h_2)[122X is [22XG[122X-conjugate with [22X(h_1, h_2^{g_2})[122X.[133X
  
  [8X3.[108X
        [33X[0;6YIf  [22Xh_1^{H_1} = h_1^{G_1}[122X and [22Xh_2^{H_2} ‡ h_2^{G_2}[122X then the two [22XH_1 ×
        H_2[122X-classes  with  the representatives [22X(h_1, h_2)[122X and [22X(h_1, h_2^{g_2})[122X
        fuse  in  [22XG[122X;  note  that  there  is  [22Xtildeg_1 ∈ C_{G_1}(h_1) ∖ H_1[122X, so
        [22X(tildeg_1, g_2) ∈ G[122X holds.[133X
  
  [8X4.[108X
        [33X[0;6YThe  case  of  [22Xh_1^{H_1}  ‡  h_1^{G_1}[122X  and  [22Xh_2^{H_2}  = h_2^{G_2}[122X is
        analogous to case 3.[133X
  
  [33X[0;0YIt  remains  to deal with the [22XG[122X-classes that are not contained in [22XH_1 × H_2[122X.
  Each  such  class  is  in fact a conjugacy class of [22XG_1 × G_2[122X. Note that two
  elements  [22Xg_1,  g_2  ∈  G_1  ∖ H_1[122X are [22XG_1[122X-conjugate if and only if they are
  [22XH_1[122X-conjugate.  (If  [22Xg_1^x  =  g_2[122X  for [22Xx ∈ G_1 ∖ H_1[122X then [22Xg_1^{g_1 x} = g_2[122X
  holds,  and  [22Xg_1  x  ∈  H_1[122X.)  This  implies  [22X(g_1, g_2)^{G_1 × G_2} = (g_1,
  g_2)^{H_1 × H_2}[122X, and thus this class is equal to [22X(g_1, g_2)^G[122X.[133X
  
  [33X[0;0YThe  (ordinary  or  [22Xp[122X-modular)  irreducible characters of [22XG[122X are given by the
  restrictions  [22Xχ_G[122X  of  all those irreducible characters [22Xχ[122X of [22XG_1 × G_2[122X whose
  restriction  to  [22XH_1  × H_2[122X is irreducible, plus the induced characters [22Xφ^G[122X,
  where  [22Xφ[122X runs over all those irreducible characters of [22XH_1 × H_2[122X that do not
  occur as restrictions of characters of [22XG_1 × G_2[122X.[133X
  
  [33X[0;0YIn other words, no irreducible character of [22XH_1 × H_2[122X has inertia subgroup [22XG[122X
  inside  [22XG_1  ×  G_2[122X.  This  can  be seen as follows. Let [22Xφ[122X be an irreducible
  character  of  [22XH_1 × H_2[122X. Then [22Xφ = φ_1 ⋅ φ_2[122X, where [22Xφ_1[122X, [22Xφ_2[122X are irreducible
  characters  of  [22XH_1  × H_2[122X with the properties that [22XH_2 ⊆ ker(φ_1)[122X and [22XH_1 ⊆
  ker(φ_2)[122X. Sloppy speaking, [22Xφ_i[122X is an irreducible character of [22XH_i[122X.[133X
  
  [33X[0;0YThere are four possibilities.[133X
  
  [31X1[131X   [33X[0;6YIf [22Xφ_1[122X extends to [22XG_1[122X and [22Xφ_2[122X extends to [22XG_2[122X then [22Xφ[122X extends to [22XG[122X, so [22Xφ[122X
        has inertia subgroup [22XG_1 × G_2[122X.[133X
  
  [31X2[131X   [33X[0;6YIf  [22Xφ_1[122X  does  not  extend  to [22XG_1[122X and [22Xφ_2[122X does not extend to [22XG_2[122X then
        [22Xφ^{G_1 × G_2}[122X is irreducible, so [22Xφ[122X has inertia subgroup [22XH_1 × H_2[122X.[133X
  
  [31X3[131X   [33X[0;6YIf [22Xφ_1[122X extends to [22XG_1[122X and [22Xφ_2[122X does not extend to [22XG_2[122X then [22Xφ[122X extends to
        [22XG_1 × H_2[122X but not to [22XG_1 × G_2[122X, so [22Xφ[122X has inertia subgroup [22XG_1 × H_2[122X.[133X
  
  [31X4[131X   [33X[0;6YThe  case  that  [22Xφ_1[122X  does not extend to [22XG_1[122X and [22Xφ_2[122X extends to [22XG_2[122X is
        analogous to case 3, [22Xφ[122X has inertia subgroup [22XH_1 × G_2[122X.[133X
  
  [33X[0;0YFor examples, see Section [14X2.9[114X.[133X
  
  
  [1X2.4 [33X[0;0YExamples for the Type [22XM.G.A[122X[101X[1X[133X[101X
  
  
  [1X2.4-1 [33X[0;0YCharacter Tables of Dihedral Groups[133X[101X
  
  [33X[0;0YLet  [22Xn  =  2^k ⋅ m[122X where [22Xk[122X is a nonnegative integer and [22Xm[122X is an odd integer,
  and  consider  the dihedral group [22XD_2n[122X of order [22X2n[122X. Let [22XN[122X denote the derived
  subgroup of [22XD_2n[122X.[133X
  
  [33X[0;0YIf  [22Xk  =  0[122X  then [22XD_2n[122X has the structure [22XM.G.A[122X, with [22XM = N[122X and [22XG[122X the trivial
  group,  and [22XA[122X a cyclic group of order two that inverts each element of [22XN[122X and
  hence  acts  fixed-point  freely on [22XN[122X. The smallest nontrivial example is of
  course that of [22XD_6 ≅ S_3[122X.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XtblMG:= CharacterTable( "Cyclic", 3 );;[127X[104X
    [4X[25Xgap>[125X [27XtblG:= CharacterTable( "Cyclic", 1 );;[127X[104X
    [4X[25Xgap>[125X [27XtblGA:= CharacterTable( "Cyclic", 2 );;[127X[104X
    [4X[25Xgap>[125X [27XStoreFusion( tblMG, [ 1, 1, 1 ], tblG );[127X[104X
    [4X[25Xgap>[125X [27XStoreFusion( tblG, [ 1 ], tblGA );[127X[104X
    [4X[25Xgap>[125X [27Xelms:= Elements( AutomorphismsOfTable( tblMG ) );[127X[104X
    [4X[28X[ (), (2,3) ][128X[104X
    [4X[25Xgap>[125X [27Xorbs:= [ [ 1 ], [ 2, 3 ] ];;[127X[104X
    [4X[25Xgap>[125X [27Xnew:= PossibleCharacterTablesOfTypeMGA( tblMG, tblG, tblGA, orbs,[127X[104X
    [4X[25X>[125X [27X             "S3" );[127X[104X
    [4X[28X[ rec( MGfusMGA := [ 1, 2, 2 ], table := CharacterTable( "S3" ) ) ][128X[104X
    [4X[25Xgap>[125X [27XDisplay( new[1].table );[127X[104X
    [4X[28XS3[128X[104X
    [4X[28X[128X[104X
    [4X[28X     2  1  .  1[128X[104X
    [4X[28X     3  1  1  .[128X[104X
    [4X[28X[128X[104X
    [4X[28X       1a 3a 2a[128X[104X
    [4X[28X    2P 1a 3a 1a[128X[104X
    [4X[28X    3P 1a 1a 2a[128X[104X
    [4X[28X[128X[104X
    [4X[28XX.1     1  1  1[128X[104X
    [4X[28XX.2     1  1 -1[128X[104X
    [4X[28XX.3     2 -1  .[128X[104X
  [4X[32X[104X
  
  [33X[0;0YIf  [22Xk > 0[122X then [22XD_2n[122X has the structure [22XM.G.A[122X, with [22XM = N[122X and [22XG[122X a cyclic group
  of  order  two such that [22XM.G[122X is cyclic, and [22XA[122X is a cyclic group of order two
  that  inverts  each element of [22XM.G[122X and hence acts fixed-point freely on [22XM.G[122X.
  The smallest nontrivial example is of course that of [22XD_8[122X.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XtblMG:= CharacterTable( "Cyclic", 4 );;[127X[104X
    [4X[25Xgap>[125X [27XtblG:= CharacterTable( "Cyclic", 2 );;[127X[104X
    [4X[25Xgap>[125X [27XtblGA:= CharacterTable( "2^2" );;           [127X[104X
    [4X[25Xgap>[125X [27XOrdersClassRepresentatives( tblMG );[127X[104X
    [4X[28X[ 1, 4, 2, 4 ][128X[104X
    [4X[25Xgap>[125X [27XStoreFusion( tblMG, [ 1, 2, 1, 2 ], tblG ); [127X[104X
    [4X[25Xgap>[125X [27XStoreFusion( tblG, [ 1, 2 ], tblGA );      [127X[104X
    [4X[25Xgap>[125X [27Xelms:= Elements( AutomorphismsOfTable( tblMG ) );[127X[104X
    [4X[28X[ (), (2,4) ][128X[104X
    [4X[25Xgap>[125X [27Xorbs:= Orbits( Group( elms[2] ), [ 1 ..4 ] );;[127X[104X
    [4X[25Xgap>[125X [27Xnew:= PossibleCharacterTablesOfTypeMGA( tblMG, tblG, tblGA, orbs,[127X[104X
    [4X[25X>[125X [27X             "order8" );[127X[104X
    [4X[28X[ rec( MGfusMGA := [ 1, 2, 3, 2 ], [128X[104X
    [4X[28X      table := CharacterTable( "order8" ) ), [128X[104X
    [4X[28X  rec( MGfusMGA := [ 1, 2, 3, 2 ], [128X[104X
    [4X[28X      table := CharacterTable( "order8" ) ) ][128X[104X
  [4X[32X[104X
  
  [33X[0;0YHere  we  get  two  possible  tables,  which are the character tables of the
  dihedral and the quaternion group of order eight, respectively.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XList( new, x -> OrdersClassRepresentatives( x.table ) );[127X[104X
    [4X[28X[ [ 1, 4, 2, 2, 2 ], [ 1, 4, 2, 4, 4 ] ][128X[104X
    [4X[25Xgap>[125X [27XDisplay( new[1].table );[127X[104X
    [4X[28Xorder8[128X[104X
    [4X[28X[128X[104X
    [4X[28X     2  3  2  3  2  2[128X[104X
    [4X[28X[128X[104X
    [4X[28X       1a 4a 2a 2b 2c[128X[104X
    [4X[28X    2P 1a 2a 1a 1a 1a[128X[104X
    [4X[28X[128X[104X
    [4X[28XX.1     1  1  1  1  1[128X[104X
    [4X[28XX.2     1  1  1 -1 -1[128X[104X
    [4X[28XX.3     1 -1  1  1 -1[128X[104X
    [4X[28XX.4     1 -1  1 -1  1[128X[104X
    [4X[28XX.5     2  . -2  .  .[128X[104X
  [4X[32X[104X
  
  [33X[0;0YFor  each  [22Xk > 1[122X and [22Xm = 1[122X, we get two possible tables this way, that of the
  dihedral  group  of order [22X2^k+1[122X and that of the generalized quaternion group
  of order [22X2^k+1[122X.[133X
  
  
  [1X2.4-2 [33X[0;0YAn [22XM.G.A[122X[101X[1X Type Example with [22XM[122X[101X[1X noncentral in [22XM.G[122X[101X[1X (May 2004)[133X[101X
  
  [33X[0;0YThe  Sylow  [22X7[122X normalizer in the symmetric group [22XS_12[122X has the structure [22X7:6 ×
  S_5[122X,  its intersection [22XN[122X with the alternating group [22XA_12[122X is of index two, it
  has the structure [22X(7:3 × A_5):2[122X.[133X
  
  [33X[0;0YLet  [22XM[122X  denote  the normal subgroup of order [22X7[122X in [22XN[122X, let [22XG[122X denote the normal
  subgroup  of  the type [22X3 × A_5[122X in [22XF = N/M ≅ 3 × S_5[122X, and [22XA = F/G[122X, the cyclic
  group of order two. Then [22XN[122X has the structure [22XM.G.A[122X, where [22XA[122X acts fixed-point
  freely  on the irreducible characters of [22XM.G = 7:3 × A_5[122X that do not contain
  [22XM[122X  in  their  kernels,  hence  the character table of [22XN[122X is determined by the
  character tables of [22XM.G[122X and [22XF[122X, and the action of [22XA[122X on [22XM.G[122X.[133X
  
  [33X[0;0YNote that in this example, the group [22XM[122X is not central in [22XM.G[122X, unlike in most
  of our examples.[133X
  
                                   N
                                   │╲
                                   │ (7xA_5):2
                             7:3xA_5 │
                                  ╱ ╲│
                                 ╱   7xA_5
                                ╱   ╱ ╲
                             7:3   ╱   A_5
                                ╲ ╱   ╱
                                 7   ╱
                                  ╲ ╱
                                   1 
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XtblMG:= CharacterTable( "7:3" ) * CharacterTable( "A5" );;[127X[104X
    [4X[25Xgap>[125X [27Xnsg:= ClassPositionsOfNormalSubgroups( tblMG );[127X[104X
    [4X[28X[ [ 1 ], [ 1, 6 .. 11 ], [ 1 .. 5 ], [ 1, 6 .. 21 ], [ 1 .. 15 ], [128X[104X
    [4X[28X  [ 1 .. 25 ] ][128X[104X
    [4X[25Xgap>[125X [27XList( nsg, x -> Sum( SizesConjugacyClasses( tblMG ){ x } ) );[127X[104X
    [4X[28X[ 1, 7, 60, 21, 420, 1260 ][128X[104X
    [4X[25Xgap>[125X [27XtblG:= tblMG / nsg[2];;[127X[104X
    [4X[25Xgap>[125X [27XtblGA:= CharacterTable( "Cyclic", 3 ) * CharacterTable( "A5.2" );;[127X[104X
    [4X[25Xgap>[125X [27XGfusGA:= PossibleClassFusions( tblG, tblGA );[127X[104X
    [4X[28X[ [ 1, 2, 3, 4, 4, 8, 9, 10, 11, 11, 15, 16, 17, 18, 18 ], [128X[104X
    [4X[28X  [ 1, 2, 3, 4, 4, 15, 16, 17, 18, 18, 8, 9, 10, 11, 11 ] ][128X[104X
    [4X[25Xgap>[125X [27Xreps:= RepresentativesFusions( Group(()), GfusGA, tblGA );[127X[104X
    [4X[28X[ [ 1, 2, 3, 4, 4, 8, 9, 10, 11, 11, 15, 16, 17, 18, 18 ] ][128X[104X
    [4X[25Xgap>[125X [27XStoreFusion( tblG, reps[1], tblGA );[127X[104X
    [4X[25Xgap>[125X [27Xacts:= PossibleActionsForTypeMGA( tblMG, tblG, tblGA );[127X[104X
    [4X[28X[ [ [ 1 ], [ 2 ], [ 3 ], [ 4, 5 ], [ 6, 11 ], [ 7, 12 ], [ 8, 13 ], [128X[104X
    [4X[28X      [ 9, 15 ], [ 10, 14 ], [ 16 ], [ 17 ], [ 18 ], [ 19, 20 ], [128X[104X
    [4X[28X      [ 21 ], [ 22 ], [ 23 ], [ 24, 25 ] ] ][128X[104X
    [4X[25Xgap>[125X [27Xposs:= PossibleCharacterTablesOfTypeMGA( tblMG, tblG, tblGA,[127X[104X
    [4X[25X>[125X [27X              acts[1], "A12N7" );[127X[104X
    [4X[28X[ rec( [128X[104X
    [4X[28X      MGfusMGA := [ 1, 2, 3, 4, 4, 5, 6, 7, 8, 9, 5, 6, 7, 9, 8, 10, [128X[104X
    [4X[28X          11, 12, 13, 13, 14, 15, 16, 17, 17 ], [128X[104X
    [4X[28X      table := CharacterTable( "A12N7" ) ) ][128X[104X
  [4X[32X[104X
  
  [33X[0;0YLet  us compare the result table with the table of the Sylow [22X7[122X normalizer in
  [22XA_12[122X.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27Xg:= AlternatingGroup( 12 );;[127X[104X
    [4X[25Xgap>[125X [27XIsRecord( TransformingPermutationsCharacterTables( poss[1].table,[127X[104X
    [4X[25X>[125X [27X               CharacterTable( Normalizer( g, SylowSubgroup( g, 7 ) ) ) ) );[127X[104X
    [4X[28Xtrue[128X[104X
  [4X[32X[104X
  
  [33X[0;0YSince  July  2007,  an alternative way to construct the character table of [22XN[122X
  from  other  character  tables  is  to  exploit its structure as a subdirect
  product of index two in the group [22X7:6 × S_5[122X, see Section [14X2.3-6[114X.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27Xtblh1:= CharacterTable( "7:3" );;[127X[104X
    [4X[25Xgap>[125X [27Xtblg1:= CharacterTable( "7:6" );;[127X[104X
    [4X[25Xgap>[125X [27Xtblh2:= CharacterTable( "A5" );;[127X[104X
    [4X[25Xgap>[125X [27Xtblg2:= CharacterTable( "A5.2" );;[127X[104X
    [4X[25Xgap>[125X [27Xsubdir:= CharacterTableOfIndexTwoSubdirectProduct( tblh1, tblg1,[127X[104X
    [4X[25X>[125X [27X                tblh2, tblg2, "(7:3xA5).2" );;[127X[104X
    [4X[25Xgap>[125X [27XIsRecord( TransformingPermutationsCharacterTables( poss[1].table,[127X[104X
    [4X[25X>[125X [27X               subdir.table ) );[127X[104X
    [4X[28Xtrue[128X[104X
  [4X[32X[104X
  
  [33X[0;0YFor  storing  the  table  of  [22XN[122X  in  the  [5XGAP[105X  Character  Table Library, the
  construction  as  a  subdirect product is more suitable, since the [21Xauxiliary
  table[121X of the direct product [22X7:3 × A_5[122X need not be stored in the library.[133X
  
  
  [1X2.4-3 [33X[0;0Y[5XAtlas[105X[101X[1X Tables of the Type [22XM.G.A[122X[101X[1X[133X[101X
  
  [33X[0;0YWe  show  the  construction  of  some character tables of groups of the type
  [22XM.G.A[122X  that  are contained in the [5XGAP[105X Character Table Library. Each entry in
  the  following input list contains the names of the library character tables
  of [22XM.G[122X, [22XG[122X, [22XG.A[122X, and [22XM.G.A[122X.[133X
  
  [33X[0;0YFirst  we  consider  the  situation  where  [22XG[122X is a simple group or a central
  extension of a simple group whose character table is shown in the [5XAtlas[105X, and
  [22XM[122X and [22XA[122X are cyclic groups such that [22XM[122X is central in [22XM.G[122X.[133X
  
  [33X[0;0YIn  the following cases, the character tables are uniquely determined by the
  input tables. Note that in each of these cases, [22X|A|[122X and [22X|M|[122X are coprime.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XlistMGA:= [[127X[104X
    [4X[25X>[125X [27X[ "3.A6",        "A6",        "A6.2_1",        "3.A6.2_1"       ],[127X[104X
    [4X[25X>[125X [27X[ "3.A6",        "A6",        "A6.2_2",        "3.A6.2_2"       ],[127X[104X
    [4X[25X>[125X [27X[ "6.A6",        "2.A6",      "2.A6.2_1",      "6.A6.2_1"       ],[127X[104X
    [4X[25X>[125X [27X[ "6.A6",        "2.A6",      "2.A6.2_2",      "6.A6.2_2"       ],[127X[104X
    [4X[25X>[125X [27X[ "3.A7",        "A7",        "A7.2",          "3.A7.2"         ],[127X[104X
    [4X[25X>[125X [27X[ "6.A7",        "2.A7",      "2.A7.2",        "6.A7.2"         ],[127X[104X
    [4X[25X>[125X [27X[ "3.L3(4)",     "L3(4)",     "L3(4).2_2",     "3.L3(4).2_2"    ],[127X[104X
    [4X[25X>[125X [27X[ "3.L3(4)",     "L3(4)",     "L3(4).2_3",     "3.L3(4).2_3"    ],[127X[104X
    [4X[25X>[125X [27X[ "6.L3(4)",     "2.L3(4)",   "2.L3(4).2_2",   "6.L3(4).2_2"    ],[127X[104X
    [4X[25X>[125X [27X[ "6.L3(4)",     "2.L3(4)",   "2.L3(4).2_3",   "6.L3(4).2_3"    ],[127X[104X
    [4X[25X>[125X [27X[ "12_1.L3(4)",  "4_1.L3(4)", "4_1.L3(4).2_2", "12_1.L3(4).2_2" ],[127X[104X
    [4X[25X>[125X [27X[ "12_1.L3(4)",  "4_1.L3(4)", "4_1.L3(4).2_3", "12_1.L3(4).2_3" ],[127X[104X
    [4X[25X>[125X [27X[ "12_2.L3(4)",  "4_2.L3(4)", "4_2.L3(4).2_2", "12_2.L3(4).2_2" ],[127X[104X
    [4X[25X>[125X [27X[ "12_2.L3(4)",  "4_2.L3(4)", "4_2.L3(4).2_3", "12_2.L3(4).2_3" ],[127X[104X
    [4X[25X>[125X [27X[ "3.U3(5)",     "U3(5)",     "U3(5).2",       "3.U3(5).2"      ],[127X[104X
    [4X[25X>[125X [27X[ "3.M22",       "M22",       "M22.2",         "3.M22.2"        ],[127X[104X
    [4X[25X>[125X [27X[ "6.M22",       "2.M22",     "2.M22.2",       "6.M22.2"        ],[127X[104X
    [4X[25X>[125X [27X[ "12.M22",      "4.M22",     "4.M22.2",       "12.M22.2"       ],[127X[104X
    [4X[25X>[125X [27X[ "3.L3(7)",     "L3(7)",     "L3(7).2",       "3.L3(7).2"      ],[127X[104X
    [4X[25X>[125X [27X[ "3_1.U4(3)",   "U4(3)",     "U4(3).2_1",     "3_1.U4(3).2_1"  ],[127X[104X
    [4X[25X>[125X [27X[ "3_1.U4(3)",   "U4(3)",     "U4(3).2_2'",    "3_1.U4(3).2_2'" ],[127X[104X
    [4X[25X>[125X [27X[ "3_2.U4(3)",   "U4(3)",     "U4(3).2_1",     "3_2.U4(3).2_1"  ],[127X[104X
    [4X[25X>[125X [27X[ "3_2.U4(3)",   "U4(3)",     "U4(3).2_3'",    "3_2.U4(3).2_3'" ],[127X[104X
    [4X[25X>[125X [27X[ "6_1.U4(3)",   "2.U4(3)",   "2.U4(3).2_1",   "6_1.U4(3).2_1"  ],[127X[104X
    [4X[25X>[125X [27X[ "6_1.U4(3)",   "2.U4(3)",   "2.U4(3).2_2'",  "6_1.U4(3).2_2'" ],[127X[104X
    [4X[25X>[125X [27X[ "6_2.U4(3)",   "2.U4(3)",   "2.U4(3).2_1",   "6_2.U4(3).2_1"  ],[127X[104X
    [4X[25X>[125X [27X[ "6_2.U4(3)",   "2.U4(3)",   "2.U4(3).2_3'",  "6_2.U4(3).2_3'" ],[127X[104X
    [4X[25X>[125X [27X[ "12_1.U4(3)",  "4.U4(3)",   "4.U4(3).2_1",   "12_1.U4(3).2_1" ],[127X[104X
    [4X[25X>[125X [27X[ "12_2.U4(3)",  "4.U4(3)",   "4.U4(3).2_1",   "12_2.U4(3).2_1" ],[127X[104X
    [4X[25X>[125X [27X[ "3.G2(3)",     "G2(3)",     "G2(3).2",       "3.G2(3).2"      ],[127X[104X
    [4X[25X>[125X [27X[ "3.U3(8)",     "U3(8)",     "U3(8).2",       "3.U3(8).2"      ],[127X[104X
    [4X[25X>[125X [27X[ "3.U3(8).3_1", "U3(8).3_1", "U3(8).6",       "3.U3(8).6"      ],[127X[104X
    [4X[25X>[125X [27X[ "3.J3",        "J3",        "J3.2",          "3.J3.2"         ],[127X[104X
    [4X[25X>[125X [27X[ "3.U3(11)",    "U3(11)",    "U3(11).2",      "3.U3(11).2"     ],[127X[104X
    [4X[25X>[125X [27X[ "3.McL",       "McL",       "McL.2",         "3.McL.2"        ],[127X[104X
    [4X[25X>[125X [27X[ "3.O7(3)",     "O7(3)",     "O7(3).2",       "3.O7(3).2"      ],[127X[104X
    [4X[25X>[125X [27X[ "6.O7(3)",     "2.O7(3)",   "2.O7(3).2",     "6.O7(3).2"      ],[127X[104X
    [4X[25X>[125X [27X[ "3.U6(2)",     "U6(2)",     "U6(2).2",       "3.U6(2).2"      ],[127X[104X
    [4X[25X>[125X [27X[ "6.U6(2)",     "2.U6(2)",   "2.U6(2).2",     "6.U6(2).2"      ],[127X[104X
    [4X[25X>[125X [27X[ "3.Suz",       "Suz",       "Suz.2",         "3.Suz.2"        ],[127X[104X
    [4X[25X>[125X [27X[ "6.Suz",       "2.Suz",     "2.Suz.2",       "6.Suz.2"        ],[127X[104X
    [4X[25X>[125X [27X[ "3.ON",        "ON",        "ON.2",          "3.ON.2"         ],[127X[104X
    [4X[25X>[125X [27X[ "3.Fi22",      "Fi22",      "Fi22.2",        "3.Fi22.2"       ],[127X[104X
    [4X[25X>[125X [27X[ "6.Fi22",      "2.Fi22",    "2.Fi22.2",      "6.Fi22.2"       ],[127X[104X
    [4X[25X>[125X [27X[ "3.2E6(2)",    "2E6(2)",    "2E6(2).2",      "3.2E6(2).2"     ],[127X[104X
    [4X[25X>[125X [27X[ "6.2E6(2)",    "2.2E6(2)",  "2.2E6(2).2",    "6.2E6(2).2"     ],[127X[104X
    [4X[25X>[125X [27X[ "3.F3+",       "F3+",       "F3+.2",         "3.F3+.2"        ],[127X[104X
    [4X[25X>[125X [27X];;[127X[104X
  [4X[32X[104X
  
  [33X[0;0Y(We  need  not  consider  groups  [22X3.U_3(8).6'[122X  and  [22X3.U_3(8).6'[122X, see Section
  [14X2.4-7[114X.)[133X
  
  [33X[0;0YNote  that  the groups of the types [22X12_1.L_3(4).2_1[122X and [22X12_2.L_3(4).2_1[122X have
  central  subgroups  of  order six, so we cannot choose [22XG[122X equal to [22X4_1.L_3(4)[122X
  and  [22X4_2.L_3(4)[122X,  respectively,  in  these  cases. See Section [14X2.4-4[114X for the
  construction of these tables.[133X
  
  [33X[0;0YAlso  in  the  following cases, [22X|A|[122X and [22X|M|[122X are coprime, we have [22X|M| = 3[122X and
  [22X|A|  =  2[122X.  The  group [22XM.G[122X has a central subgroup of the type [22X2^2 × 3[122X, and [22XA[122X
  acts  on this group by inverting the elements in the subgroup of order [22X3[122X and
  by swapping two involutions in the Klein four group.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XAppend( listMGA, [[127X[104X
    [4X[25X>[125X [27X[ "(2^2x3).L3(4)",  "2^2.L3(4)",   "2^2.L3(4).2_2", "(2^2x3).L3(4).2_2" ],[127X[104X
    [4X[25X>[125X [27X[ "(2^2x3).L3(4)",  "2^2.L3(4)",   "2^2.L3(4).2_3", "(2^2x3).L3(4).2_3" ],[127X[104X
    [4X[25X>[125X [27X[ "(2^2x3).U6(2)",  "2^2.U6(2)",   "2^2.U6(2).2",   "(2^2x3).U6(2).2"   ],[127X[104X
    [4X[25X>[125X [27X[ "(2^2x3).2E6(2)", "2^2.2E6(2)",  "2^2.2E6(2).2",  "(2^2x3).2E6(2).2"  ],[127X[104X
    [4X[25X>[125X [27X] );[127X[104X
  [4X[32X[104X
  
  [33X[0;0YAdditionally,  there  are  a  few cases where [22XA[122X has order two, and [22XG.A[122X has a
  factor group of the type [22X2^2[122X, and a few cases where [22XM[122X has the type [22X2^2[122X and [22XA[122X
  is of order three and acts transitively on the involutions in [22XM[122X.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XAppend( listMGA, [[127X[104X
    [4X[25X>[125X [27X[ "3.A6.2_3",       "A6.2_3",    "A6.2^2",      "3.A6.2^2"          ],[127X[104X
    [4X[25X>[125X [27X[ "3.L3(4).2_1",    "L3(4).2_1", "L3(4).2^2",   "3.L3(4).2^2"       ],[127X[104X
    [4X[25X>[125X [27X[ "3_1.U4(3).2_2",  "U4(3).2_2", "U4(3).(2^2)_{122}",[127X[104X
    [4X[25X>[125X [27X                                            "3_1.U4(3).(2^2)_{122}" ],[127X[104X
    [4X[25X>[125X [27X[ "3_2.U4(3).2_3",  "U4(3).2_3", "U4(3).(2^2)_{133}",[127X[104X
    [4X[25X>[125X [27X                                            "3_2.U4(3).(2^2)_{133}" ],[127X[104X
    [4X[25X>[125X [27X[ "3^2.U4(3).2_3'", "3_2.U4(3).2_3'", "3_2.U4(3).(2^2)_{133}",[127X[104X
    [4X[25X>[125X [27X                                            "3^2.U4(3).(2^2)_{133}" ],[127X[104X
    [4X[25X>[125X [27X[ "2^2.L3(4)",      "L3(4)",     "L3(4).3",     "2^2.L3(4).3"       ],[127X[104X
    [4X[25X>[125X [27X[ "(2^2x3).L3(4)",  "3.L3(4)",   "3.L3(4).3",   "(2^2x3).L3(4).3"   ],[127X[104X
    [4X[25X>[125X [27X[ "2^2.L3(4).2_1",  "L3(4).2_1", "L3(4).6",     "2^2.L3(4).6"       ],[127X[104X
    [4X[25X>[125X [27X[ "2^2.Sz(8)",      "Sz(8)",     "Sz(8).3",     "2^2.Sz(8).3"       ],[127X[104X
    [4X[25X>[125X [27X[ "2^2.U6(2)",      "U6(2)",     "U6(2).3",     "2^2.U6(2).3"       ],[127X[104X
    [4X[25X>[125X [27X[ "(2^2x3).U6(2)",  "3.U6(2)",   "3.U6(2).3",   "(2^2x3).U6(2).3"   ],[127X[104X
    [4X[25X>[125X [27X[ "2^2.O8+(2)",     "O8+(2)",    "O8+(2).3",    "2^2.O8+(2).3"      ],[127X[104X
    [4X[25X>[125X [27X[ "2^2.O8+(3)",     "O8+(3)",    "O8+(3).3",    "2^2.O8+(3).3"      ],[127X[104X
    [4X[25X>[125X [27X[ "2^2.2E6(2)",     "2E6(2)",    "2E6(2).3",    "2^2.2E6(2).3"      ],[127X[104X
    [4X[25X>[125X [27X] );[127X[104X
  [4X[32X[104X
  
  [33X[0;0YThe   constructions   of  the  character  tables  of  groups  of  the  types
  [22X4_2.L_3(4).2_3[122X,  [22X12_2.L_3(4).2_3[122X,  [22X12_1.U_4(3).2_2'[122X  and [22X12_2.U_4(3).2_3'[122X is
  described  in  Section [14X2.4-5[114X  and [14X2.4-6[114X,  in  these  cases the [5XGAP[105X functions
  return several possible tables.[133X
  
  [33X[0;0YThe  construction  of  the  various  character  table of groups of the types
  [22X4_1.L_3(4).2^2[122X and [22X4_2.L_3(4).2^2[122X are described in Section [14X2.6-7[114X.[133X
  
  [33X[0;0YThe  following  function  takes  the ordinary character tables of the groups
  [22XM.G[122X,  [22XG[122X,  and  [22XG.A[122X,  a  string  to  be  used  as  the [2XIdentifier[102X ([14XReference:
  Identifier  for  tables of marks[114X) value of the character table of [22XM.G.A[122X, and
  the  character  table  of [22XM.G.A[122X that is contained in the [5XGAP[105X Character Table
  Library;  the  function  first  computes  the possible actions of [22XG.A[122X on the
  classes  of  [22XM.G[122X,  using  the  function  [2XPossibleActionsForTypeMGA[102X ([14XCTblLib:
  PossibleActionsForTypeMGA[114X),  then  computes  the union of possible character
  tables  for  these  actions,  and  then  representatives  up  to permutation
  equivalence; if there is only one solution then the result table is compared
  with the library table.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XConstructOrdinaryMGATable:= function( tblMG, tblG, tblGA, name, lib )[127X[104X
    [4X[25X>[125X [27X     local acts, poss, trans;[127X[104X
    [4X[25X>[125X [27X[127X[104X
    [4X[25X>[125X [27X     acts:= PossibleActionsForTypeMGA( tblMG, tblG, tblGA );[127X[104X
    [4X[25X>[125X [27X     poss:= Concatenation( List( acts, pi ->[127X[104X
    [4X[25X>[125X [27X                PossibleCharacterTablesOfTypeMGA( tblMG, tblG, tblGA, pi,[127X[104X
    [4X[25X>[125X [27X                    name ) ) );[127X[104X
    [4X[25X>[125X [27X     poss:= RepresentativesCharacterTables( poss );[127X[104X
    [4X[25X>[125X [27X     if Length( poss ) = 1 then[127X[104X
    [4X[25X>[125X [27X       # Compare the computed table with the library table.[127X[104X
    [4X[25X>[125X [27X       if not IsCharacterTable( lib ) then[127X[104X
    [4X[25X>[125X [27X         List( poss, x -> AutomorphismsOfTable( x.table ) );[127X[104X
    [4X[25X>[125X [27X         Print( "#I  no library table for ", name, "\n" );[127X[104X
    [4X[25X>[125X [27X       else[127X[104X
    [4X[25X>[125X [27X         trans:= TransformingPermutationsCharacterTables( poss[1].table,[127X[104X
    [4X[25X>[125X [27X                     lib );[127X[104X
    [4X[25X>[125X [27X         if not IsRecord( trans ) then[127X[104X
    [4X[25X>[125X [27X           Print( "#E  computed table and library table for ", name,[127X[104X
    [4X[25X>[125X [27X                  " differ\n" );[127X[104X
    [4X[25X>[125X [27X         fi;[127X[104X
    [4X[25X>[125X [27X         # Compare the computed fusion with the stored one.[127X[104X
    [4X[25X>[125X [27X         if OnTuples( poss[1].MGfusMGA, trans.columns )[127X[104X
    [4X[25X>[125X [27X                <> GetFusionMap( tblMG, lib ) then[127X[104X
    [4X[25X>[125X [27X           Print( "#E  computed and stored fusion for ", name,[127X[104X
    [4X[25X>[125X [27X                  " differ\n" );[127X[104X
    [4X[25X>[125X [27X         fi;[127X[104X
    [4X[25X>[125X [27X       fi;[127X[104X
    [4X[25X>[125X [27X     elif Length( poss ) = 0 then[127X[104X
    [4X[25X>[125X [27X       Print( "#E  no solution for ", name, "\n" );[127X[104X
    [4X[25X>[125X [27X     else[127X[104X
    [4X[25X>[125X [27X       Print( "#E  ", Length( poss ), " possibilities for ", name, "\n" );[127X[104X
    [4X[25X>[125X [27X     fi;[127X[104X
    [4X[25X>[125X [27X     return poss;[127X[104X
    [4X[25X>[125X [27X   end;;[127X[104X
  [4X[32X[104X
  
  [33X[0;0YThe  following  function  takes  the ordinary character tables of the groups
  [22XM.G[122X,  [22XG.A[122X,  and [22XM.G.A[122X, and tries to construct the [22Xp[122X-modular character tables
  of  [22XM.G.A[122X  from  the  [22Xp[122X-modular  character  tables of the first two of these
  tables, for all prime divisors [22Xp[122X of the order of [22XM.G.A[122X. Note that the tables
  of  [22XG[122X are not needed in the construction, only the class fusions from [22XM.G[122X to
  [22XM.G.A[122X and from [22XM.G.A[122X to [22XG.A[122X must be stored.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XConstructModularMGATables:= function( tblMG, tblGA, ordtblMGA )[127X[104X
    [4X[25X>[125X [27X   local name, poss, p, modtblMG, modtblGA, modtblMGA, modlib, trans;[127X[104X
    [4X[25X>[125X [27X[127X[104X
    [4X[25X>[125X [27X   name:= Identifier( ordtblMGA );[127X[104X
    [4X[25X>[125X [27X   poss:= [];[127X[104X
    [4X[25X>[125X [27X   for p in PrimeDivisors( Size( ordtblMGA ) ) do[127X[104X
    [4X[25X>[125X [27X     modtblMG := tblMG mod p;[127X[104X
    [4X[25X>[125X [27X     modtblGA := tblGA mod p;[127X[104X
    [4X[25X>[125X [27X     if ForAll( [ modtblMG, modtblGA ], IsCharacterTable ) then[127X[104X
    [4X[25X>[125X [27X       modtblMGA:= BrauerTableOfTypeMGA( modtblMG, modtblGA, ordtblMGA );[127X[104X
    [4X[25X>[125X [27X       Add( poss, modtblMGA );[127X[104X
    [4X[25X>[125X [27X       modlib:= ordtblMGA mod p;[127X[104X
    [4X[25X>[125X [27X       if IsCharacterTable( modlib ) then[127X[104X
    [4X[25X>[125X [27X         trans:= TransformingPermutationsCharacterTables( modtblMGA.table,[127X[104X
    [4X[25X>[125X [27X                     modlib );[127X[104X
    [4X[25X>[125X [27X         if not IsRecord( trans ) then[127X[104X
    [4X[25X>[125X [27X           Print( "#E  computed table and library table for ", name,[127X[104X
    [4X[25X>[125X [27X                  " mod ", p, " differ\n" );[127X[104X
    [4X[25X>[125X [27X         fi;[127X[104X
    [4X[25X>[125X [27X       else[127X[104X
    [4X[25X>[125X [27X         AutomorphismsOfTable( modtblMGA.table );[127X[104X
    [4X[25X>[125X [27X         Print( "#I  no library table for ", name, " mod ", p, "\n" );[127X[104X
    [4X[25X>[125X [27X       fi;[127X[104X
    [4X[25X>[125X [27X     else[127X[104X
    [4X[25X>[125X [27X       Print( "#I  not all input tables for ", name, " mod ", p,[127X[104X
    [4X[25X>[125X [27X              " available\n" );[127X[104X
    [4X[25X>[125X [27X     fi;[127X[104X
    [4X[25X>[125X [27X   od;[127X[104X
    [4X[25X>[125X [27X[127X[104X
    [4X[25X>[125X [27X   return poss;[127X[104X
    [4X[25X>[125X [27X   end;;[127X[104X
  [4X[32X[104X
  
  [33X[0;0YNow  we  run the constructions for the cases in the list. Note that in order
  to  avoid conflicts of the class fusions that arise in the construction with
  the  class  fusions that are already stored on the library tables, we choose
  identifiers for the result tables that are different from the identifiers of
  the library tables.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27Xfor  input in listMGA do[127X[104X
    [4X[25X>[125X [27X     tblMG := CharacterTable( input[1] );[127X[104X
    [4X[25X>[125X [27X     tblG  := CharacterTable( input[2] );[127X[104X
    [4X[25X>[125X [27X     tblGA := CharacterTable( input[3] );[127X[104X
    [4X[25X>[125X [27X     name  := Concatenation( "new", input[4] );[127X[104X
    [4X[25X>[125X [27X     lib   := CharacterTable( input[4] );[127X[104X
    [4X[25X>[125X [27X     poss:= ConstructOrdinaryMGATable( tblMG, tblG, tblGA, name, lib );[127X[104X
    [4X[25X>[125X [27X     if 1 <> Length( poss ) then[127X[104X
    [4X[25X>[125X [27X       Print( "#I  ", Length( poss ), " possibilities for ", name, "\n" );[127X[104X
    [4X[25X>[125X [27X     elif lib = fail then[127X[104X
    [4X[25X>[125X [27X       Print( "#I  no library table for ", input[4], "\n" );[127X[104X
    [4X[25X>[125X [27X     else[127X[104X
    [4X[25X>[125X [27X       ConstructModularMGATables( tblMG, tblGA, lib );[127X[104X
    [4X[25X>[125X [27X     fi;[127X[104X
    [4X[25X>[125X [27X   od;[127X[104X
    [4X[28X#I  not all input tables for 3.2E6(2).2 mod 2 available[128X[104X
    [4X[28X#I  not all input tables for 3.2E6(2).2 mod 3 available[128X[104X
    [4X[28X#I  not all input tables for 3.2E6(2).2 mod 5 available[128X[104X
    [4X[28X#I  not all input tables for 3.2E6(2).2 mod 7 available[128X[104X
    [4X[28X#I  not all input tables for 3.2E6(2).2 mod 11 available[128X[104X
    [4X[28X#I  not all input tables for 3.2E6(2).2 mod 13 available[128X[104X
    [4X[28X#I  not all input tables for 3.2E6(2).2 mod 17 available[128X[104X
    [4X[28X#I  not all input tables for 3.2E6(2).2 mod 19 available[128X[104X
    [4X[28X#I  not all input tables for 6.2E6(2).2 mod 2 available[128X[104X
    [4X[28X#I  not all input tables for 6.2E6(2).2 mod 3 available[128X[104X
    [4X[28X#I  not all input tables for 6.2E6(2).2 mod 5 available[128X[104X
    [4X[28X#I  not all input tables for 6.2E6(2).2 mod 7 available[128X[104X
    [4X[28X#I  not all input tables for 6.2E6(2).2 mod 11 available[128X[104X
    [4X[28X#I  not all input tables for 6.2E6(2).2 mod 13 available[128X[104X
    [4X[28X#I  not all input tables for 6.2E6(2).2 mod 17 available[128X[104X
    [4X[28X#I  not all input tables for 6.2E6(2).2 mod 19 available[128X[104X
    [4X[28X#I  not all input tables for 3.F3+.2 mod 2 available[128X[104X
    [4X[28X#I  not all input tables for 3.F3+.2 mod 3 available[128X[104X
    [4X[28X#I  not all input tables for 3.F3+.2 mod 5 available[128X[104X
    [4X[28X#I  not all input tables for 3.F3+.2 mod 7 available[128X[104X
    [4X[28X#I  not all input tables for 3.F3+.2 mod 13 available[128X[104X
    [4X[28X#I  not all input tables for 3.F3+.2 mod 17 available[128X[104X
    [4X[28X#I  not all input tables for 3.F3+.2 mod 29 available[128X[104X
    [4X[28X#I  not all input tables for (2^2x3).2E6(2).2 mod 2 available[128X[104X
    [4X[28X#I  not all input tables for (2^2x3).2E6(2).2 mod 3 available[128X[104X
    [4X[28X#I  not all input tables for (2^2x3).2E6(2).2 mod 5 available[128X[104X
    [4X[28X#I  not all input tables for (2^2x3).2E6(2).2 mod 7 available[128X[104X
    [4X[28X#I  not all input tables for (2^2x3).2E6(2).2 mod 11 available[128X[104X
    [4X[28X#I  not all input tables for (2^2x3).2E6(2).2 mod 13 available[128X[104X
    [4X[28X#I  not all input tables for (2^2x3).2E6(2).2 mod 17 available[128X[104X
    [4X[28X#I  not all input tables for (2^2x3).2E6(2).2 mod 19 available[128X[104X
    [4X[28X#I  not all input tables for 3^2.U4(3).(2^2)_{133} mod 2 available[128X[104X
    [4X[28X#I  not all input tables for 3^2.U4(3).(2^2)_{133} mod 5 available[128X[104X
    [4X[28X#I  not all input tables for 3^2.U4(3).(2^2)_{133} mod 7 available[128X[104X
    [4X[28X#I  not all input tables for 2^2.O8+(3).3 mod 5 available[128X[104X
    [4X[28X#I  not all input tables for 2^2.O8+(3).3 mod 7 available[128X[104X
    [4X[28X#I  not all input tables for 2^2.O8+(3).3 mod 13 available[128X[104X
    [4X[28X#I  not all input tables for 2^2.2E6(2).3 mod 2 available[128X[104X
    [4X[28X#I  not all input tables for 2^2.2E6(2).3 mod 3 available[128X[104X
    [4X[28X#I  not all input tables for 2^2.2E6(2).3 mod 5 available[128X[104X
    [4X[28X#I  not all input tables for 2^2.2E6(2).3 mod 7 available[128X[104X
    [4X[28X#I  not all input tables for 2^2.2E6(2).3 mod 11 available[128X[104X
    [4X[28X#I  not all input tables for 2^2.2E6(2).3 mod 13 available[128X[104X
    [4X[28X#I  not all input tables for 2^2.2E6(2).3 mod 17 available[128X[104X
    [4X[28X#I  not all input tables for 2^2.2E6(2).3 mod 19 available[128X[104X
  [4X[32X[104X
  
  [33X[0;0YWe do not get any unexpected output, so the character tables in question are
  determined by the inputs.[133X
  
  [33X[0;0YAlternative   constructions   of   the   character   tables   of  [22X3.A_6.2^2[122X,
  [22X3.L_3(4).2^2[122X, and [22X3_2.U_4(3).(2^2)_133[122X can be found in Section [14X2.6-2[114X.[133X
  
  
  [1X2.4-4 [33X[0;0YMore [5XAtlas[105X[101X[1X Tables of the Type [22XM.G.A[122X[101X[1X[133X[101X
  
  [33X[0;0YIn  the  following  situations, we have [22X|A| = 2[122X, and [22X|M|[122X is a multiple of [22X2[122X.
  The result turns out to be unique up to isoclinism, see Section [14X2.3-1[114X.[133X
  
  [33X[0;0YFirst,  there  are  some  cases where the centre of [22XM.G[122X is a cyclic group of
  order four, and [22X|M| = 2[122X holds.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XlistMGA2:= [[127X[104X
    [4X[25X>[125X [27X[ "4_1.L3(4)",  "2.L3(4)",   "2.L3(4).2_1",   "4_1.L3(4).2_1"  ],[127X[104X
    [4X[25X>[125X [27X[ "4_1.L3(4)",  "2.L3(4)",   "2.L3(4).2_2",   "4_1.L3(4).2_2"  ],[127X[104X
    [4X[25X>[125X [27X[ "4_2.L3(4)",  "2.L3(4)",   "2.L3(4).2_1",   "4_2.L3(4).2_1"  ],[127X[104X
    [4X[25X>[125X [27X[ "4.M22",      "2.M22",     "2.M22.2",       "4.M22.2"        ],[127X[104X
    [4X[25X>[125X [27X[ "4.U4(3)",    "2.U4(3)",   "2.U4(3).2_2",   "4.U4(3).2_2"    ],[127X[104X
    [4X[25X>[125X [27X[ "4.U4(3)",    "2.U4(3)",   "2.U4(3).2_3",   "4.U4(3).2_3"    ],[127X[104X
    [4X[25X>[125X [27X];;[127X[104X
  [4X[32X[104X
  
  [33X[0;0YNote  that  the  groups  [22X4_1.L3(4).2_3[122X and [22X4_2.L3(4).2_2[122X and their isoclinic
  variants  have  centres  of  order  four,  so  they  do not appear here. The
  construction  of  the character table of [22X4_2.L_3(4).2_3[122X is more involved, it
  is described in Section [14X2.4-5[114X.[133X
  
  [33X[0;0YAlso in the following cases, we have [22X|M| = 2[122X, but the situation is different
  because  [22XM.G[122X  has  a  central  subgroup  of the type [22X2^2[122X containing a unique
  subgroup of order [22X2[122X that is central in [22XM.G.A[122X.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XAppend( listMGA2, [[127X[104X
    [4X[25X>[125X [27X[ "2^2.L3(4)",     "2.L3(4)",     "2.L3(4).2_2",         "2^2.L3(4).2_2" ],[127X[104X
    [4X[25X>[125X [27X[ "2^2.L3(4)",     "2.L3(4)",     "2.L3(4).2_3",         "2^2.L3(4).2_3" ],[127X[104X
    [4X[25X>[125X [27X[ "2^2.L3(4).2_1", "2.L3(4).2_1", "2.L3(4).(2^2)_{123}", "2^2.L3(4).2^2" ],[127X[104X
    [4X[25X>[125X [27X[ "2^2.O8+(2)",    "2.O8+(2)",    "2.O8+(2).2",          "2^2.O8+(2).2"  ],[127X[104X
    [4X[25X>[125X [27X[ "2^2.U6(2)",     "2.U6(2)",     "2.U6(2).2",           "2^2.U6(2).2"   ],[127X[104X
    [4X[25X>[125X [27X[ "2^2.2E6(2)",    "2.2E6(2)",    "2.2E6(2).2",          "2^2.2E6(2).2"  ],[127X[104X
    [4X[25X>[125X [27X] );[127X[104X
  [4X[32X[104X
  
  [33X[0;0YNext  there  are two constructions for [22XG = 6.L_3(4)[122X, with [22X|M| = 12[122X and [22X|A| =
  2[122X.  Note  that  the  groups  [22X12_1.L3(4).2_1[122X  and [22X12_2.L3(4).2_1[122X have central
  subgroups of the order six, so we cannot use the factor groups [22X4_1.L3(4).2_1[122X
  and [22X4_2.L3(4).2_1[122X, respectively, for the constructions.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XAppend( listMGA2, [[127X[104X
    [4X[25X>[125X [27X[ "12_1.L3(4)", "6.L3(4)", "6.L3(4).2_1", "12_1.L3(4).2_1" ],[127X[104X
    [4X[25X>[125X [27X[ "12_2.L3(4)", "6.L3(4)", "6.L3(4).2_1", "12_2.L3(4).2_1" ],[127X[104X
    [4X[25X>[125X [27X] );[127X[104X
  [4X[32X[104X
  
  [33X[0;0YNext  there  are  alternative  constructions  for  tables  which  have  been
  constructed  in  Section [14X2.4-3[114X.  There  we  had  viewed  the  groups  of the
  structure  [22X12.S.2[122X, for a simple group [22XS[122X, as [22X3.G.2[122X with [22XG = 4.S[122X. Here we view
  these groups as [22X2.G.2[122X with [22XG = 6.S[122X, which means that we do not prescribe the
  [22X4.S.2[122X  type  factor group. So it is not surprising that we get more than one
  solution,  and  that  the  computation  of the [22X2[122X-power map of [22X12.S.2[122X is more
  involved.   Note   that   the   construction   of  the  character  table  of
  [22X12_2.L_3(4).2_3[122X is more involved, it is described in Section [14X2.4-5[114X.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XAppend( listMGA2, [[127X[104X
    [4X[25X>[125X [27X[ "12.M22",     "6.M22",     "6.M22.2",       "12.M22.2"       ],[127X[104X
    [4X[25X>[125X [27X[ "12_1.L3(4)", "6.L3(4)",   "6.L3(4).2_2",   "12_1.L3(4).2_2" ],[127X[104X
    [4X[25X>[125X [27X[ "12_1.U4(3)", "6_1.U4(3)", "6_1.U4(3).2_2", "12_1.U4(3).2_2" ],[127X[104X
    [4X[25X>[125X [27X[ "12_2.U4(3)", "6_2.U4(3)", "6_2.U4(3).2_3", "12_2.U4(3).2_3" ],[127X[104X
    [4X[25X>[125X [27X] );[127X[104X
  [4X[32X[104X
  
  [33X[0;0YFinally,  there  are alternative constructions for the cases where the group
  [22XM.G[122X  has a central subgroup of the type [22X2^2 × 3[122X, and [22XA[122X acts on this group by
  inverting  the  elements  in  the  subgroup  of  order [22X3[122X and by swapping two
  involutions in the Klein four group.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XAppend( listMGA2, [[127X[104X
    [4X[25X>[125X [27X[ "(2^2x3).L3(4)",  "6.L3(4)",   "6.L3(4).2_2", "(2^2x3).L3(4).2_2" ],[127X[104X
    [4X[25X>[125X [27X[ "(2^2x3).L3(4)",  "6.L3(4)",   "6.L3(4).2_3", "(2^2x3).L3(4).2_3" ],[127X[104X
    [4X[25X>[125X [27X[ "(2^2x3).U6(2)",  "6.U6(2)",   "6.U6(2).2",   "(2^2x3).U6(2).2"   ],[127X[104X
    [4X[25X>[125X [27X[ "(2^2x3).2E6(2)", "6.2E6(2)",  "6.2E6(2).2",  "(2^2x3).2E6(2).2"  ],[127X[104X
    [4X[25X>[125X [27X] );[127X[104X
  [4X[32X[104X
  
  [33X[0;0YNow we run the constructions for the cases in the list.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27Xfor  input in listMGA2 do[127X[104X
    [4X[25X>[125X [27X     tblMG := CharacterTable( input[1] );[127X[104X
    [4X[25X>[125X [27X     tblG  := CharacterTable( input[2] );[127X[104X
    [4X[25X>[125X [27X     tblGA := CharacterTable( input[3] );[127X[104X
    [4X[25X>[125X [27X     name  := Concatenation( "new", input[4] );[127X[104X
    [4X[25X>[125X [27X     lib   := CharacterTable( input[4] );[127X[104X
    [4X[25X>[125X [27X     poss:= ConstructOrdinaryMGATable( tblMG, tblG, tblGA, name, lib );[127X[104X
    [4X[25X>[125X [27X     if Length( poss ) = 2 then[127X[104X
    [4X[25X>[125X [27X       iso:= CharacterTableIsoclinic( poss[1].table );[127X[104X
    [4X[25X>[125X [27X       if IsRecord( TransformingPermutationsCharacterTables( poss[2].table,[127X[104X
    [4X[25X>[125X [27X                        iso ) ) then[127X[104X
    [4X[25X>[125X [27X         Unbind( poss[2] );[127X[104X
    [4X[25X>[125X [27X       fi;[127X[104X
    [4X[25X>[125X [27X     elif Length( poss ) = 1 then[127X[104X
    [4X[25X>[125X [27X       Print( "#I  unique up to permutation equivalence: ", name, "\n" );[127X[104X
    [4X[25X>[125X [27X     fi;[127X[104X
    [4X[25X>[125X [27X     if 1 <> Length( poss ) then[127X[104X
    [4X[25X>[125X [27X       Print( "#I  ", Length( poss ), " possibilities for ", name, "\n" );[127X[104X
    [4X[25X>[125X [27X     elif lib = fail then[127X[104X
    [4X[25X>[125X [27X       Print( "#I  no library table for ", input[4], "\n" );[127X[104X
    [4X[25X>[125X [27X     else[127X[104X
    [4X[25X>[125X [27X       ConstructModularMGATables( tblMG, tblGA, lib );[127X[104X
    [4X[25X>[125X [27X     fi;[127X[104X
    [4X[25X>[125X [27X   od;[127X[104X
    [4X[28X#E  2 possibilities for new4_1.L3(4).2_1[128X[104X
    [4X[28X#E  2 possibilities for new4_1.L3(4).2_2[128X[104X
    [4X[28X#E  2 possibilities for new4_2.L3(4).2_1[128X[104X
    [4X[28X#E  2 possibilities for new4.M22.2[128X[104X
    [4X[28X#E  2 possibilities for new4.U4(3).2_2[128X[104X
    [4X[28X#E  2 possibilities for new4.U4(3).2_3[128X[104X
    [4X[28X#I  unique up to permutation equivalence: new2^2.L3(4).2_2[128X[104X
    [4X[28X#I  unique up to permutation equivalence: new2^2.L3(4).2_3[128X[104X
    [4X[28X#I  unique up to permutation equivalence: new2^2.L3(4).2^2[128X[104X
    [4X[28X#I  unique up to permutation equivalence: new2^2.O8+(2).2[128X[104X
    [4X[28X#I  unique up to permutation equivalence: new2^2.U6(2).2[128X[104X
    [4X[28X#I  unique up to permutation equivalence: new2^2.2E6(2).2[128X[104X
    [4X[28X#I  not all input tables for 2^2.2E6(2).2 mod 2 available[128X[104X
    [4X[28X#I  not all input tables for 2^2.2E6(2).2 mod 3 available[128X[104X
    [4X[28X#I  not all input tables for 2^2.2E6(2).2 mod 5 available[128X[104X
    [4X[28X#I  not all input tables for 2^2.2E6(2).2 mod 7 available[128X[104X
    [4X[28X#E  2 possibilities for new12_1.L3(4).2_1[128X[104X
    [4X[28X#E  2 possibilities for new12_2.L3(4).2_1[128X[104X
    [4X[28X#E  2 possibilities for new12.M22.2[128X[104X
    [4X[28X#E  2 possibilities for new12_1.L3(4).2_2[128X[104X
    [4X[28X#E  2 possibilities for new12_1.U4(3).2_2[128X[104X
    [4X[28X#E  2 possibilities for new12_2.U4(3).2_3[128X[104X
    [4X[28X#I  unique up to permutation equivalence: new(2^2x3).L3(4).2_2[128X[104X
    [4X[28X#I  unique up to permutation equivalence: new(2^2x3).L3(4).2_3[128X[104X
    [4X[28X#I  unique up to permutation equivalence: new(2^2x3).U6(2).2[128X[104X
    [4X[28X#I  unique up to permutation equivalence: new(2^2x3).2E6(2).2[128X[104X
    [4X[28X#I  not all input tables for (2^2x3).2E6(2).2 mod 2 available[128X[104X
    [4X[28X#I  not all input tables for (2^2x3).2E6(2).2 mod 3 available[128X[104X
    [4X[28X#I  not all input tables for (2^2x3).2E6(2).2 mod 5 available[128X[104X
    [4X[28X#I  not all input tables for (2^2x3).2E6(2).2 mod 7 available[128X[104X
    [4X[28X#I  not all input tables for (2^2x3).2E6(2).2 mod 11 available[128X[104X
    [4X[28X#I  not all input tables for (2^2x3).2E6(2).2 mod 13 available[128X[104X
    [4X[28X#I  not all input tables for (2^2x3).2E6(2).2 mod 17 available[128X[104X
    [4X[28X#I  not all input tables for (2^2x3).2E6(2).2 mod 19 available[128X[104X
  [4X[32X[104X
  
  [33X[0;0YAgain,  we  do  not  get  any  unexpected output, so the character tables in
  question are determined up to isoclinism by the inputs.[133X
  
  
  [1X2.4-5 [33X[0;0YThe Character Tables of [22X4_2.L_3(4).2_3[122X[101X[1X and [22X12_2.L_3(4).2_3[122X[101X[1X[133X[101X
  
  [33X[0;0YIn  the  construction  of the character table of [22XM.G.A = 4_2.L_3(4).2_3[122X from
  the  tables  of  [22XM.G = 4_2.L_3(4)[122X and [22XG.A = 2.L_3(4).2_3[122X, the action of [22XA[122X on
  the  classes  of  [22XM.G[122X  is  uniquely  determined,  but  we  get four possible
  character tables.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XtblMG := CharacterTable( "4_2.L3(4)" );;[127X[104X
    [4X[25Xgap>[125X [27XtblG  := CharacterTable( "2.L3(4)" );;[127X[104X
    [4X[25Xgap>[125X [27XtblGA := CharacterTable( "2.L3(4).2_3" );;[127X[104X
    [4X[25Xgap>[125X [27Xname  := "new4_2.L3(4).2_3";;[127X[104X
    [4X[25Xgap>[125X [27Xlib   := CharacterTable( "4_2.L3(4).2_3" );;[127X[104X
    [4X[25Xgap>[125X [27Xposs  := ConstructOrdinaryMGATable( tblMG, tblG, tblGA, name, lib );[127X[104X
    [4X[28X#E  4 possibilities for new4_2.L3(4).2_3[128X[104X
    [4X[28X[ rec( [128X[104X
    [4X[28X      MGfusMGA := [ 1, 2, 3, 2, 4, 5, 6, 7, 8, 7, 9, 10, 11, 10, 12, [128X[104X
    [4X[28X          12, 13, 14, 15, 14, 16, 17, 18, 17, 19, 20, 21, 22, 19, 22, [128X[104X
    [4X[28X          21, 20 ], table := CharacterTable( "new4_2.L3(4).2_3" ) ), [128X[104X
    [4X[28X  rec( [128X[104X
    [4X[28X      MGfusMGA := [ 1, 2, 3, 2, 4, 5, 6, 7, 8, 7, 9, 10, 11, 10, 12, [128X[104X
    [4X[28X          12, 13, 14, 15, 14, 16, 17, 18, 17, 19, 20, 21, 22, 19, 22, [128X[104X
    [4X[28X          21, 20 ], table := CharacterTable( "new4_2.L3(4).2_3" ) ), [128X[104X
    [4X[28X  rec( [128X[104X
    [4X[28X      MGfusMGA := [ 1, 2, 3, 2, 4, 5, 6, 7, 8, 7, 9, 10, 11, 10, 12, [128X[104X
    [4X[28X          12, 13, 14, 15, 14, 16, 17, 18, 17, 19, 20, 21, 22, 19, 22, [128X[104X
    [4X[28X          21, 20 ], table := CharacterTable( "new4_2.L3(4).2_3" ) ), [128X[104X
    [4X[28X  rec( [128X[104X
    [4X[28X      MGfusMGA := [ 1, 2, 3, 2, 4, 5, 6, 7, 8, 7, 9, 10, 11, 10, 12, [128X[104X
    [4X[28X          12, 13, 14, 15, 14, 16, 17, 18, 17, 19, 20, 21, 22, 19, 22, [128X[104X
    [4X[28X          21, 20 ], table := CharacterTable( "new4_2.L3(4).2_3" ) ) ][128X[104X
  [4X[32X[104X
  
  [33X[0;0YThe   centre   of  [22X4_2.L_3(4)[122X  is  inverted  by  the  action  of  the  outer
  automorphism,  so  the  existence  of  [13Xtwo[113X  possible  tables can be expected
  because   two  isoclinic  groups  of  the  type  [22X4_2.L_3(4).2_3[122X  exist,  see
  Section [14X2.2-6[114X.[133X
  
  [33X[0;0YIndeed  the  result consists of two pairs of isoclinic tables, so we have to
  decide   which   pair   of   tables  belongs  to  the  groups  of  the  type
  [22X4_2.L_3(4).2_3[122X.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XIsRecord( TransformingPermutationsCharacterTables( poss[1].table,[127X[104X
    [4X[25X>[125X [27X                 CharacterTableIsoclinic( poss[4].table ) ) );[127X[104X
    [4X[28Xtrue[128X[104X
    [4X[25Xgap>[125X [27XIsRecord( TransformingPermutationsCharacterTables( poss[2].table,[127X[104X
    [4X[25X>[125X [27X                 CharacterTableIsoclinic( poss[3].table ) ) );[127X[104X
    [4X[28Xtrue[128X[104X
  [4X[32X[104X
  
  [33X[0;0YThe  possible  tables  differ  only  w.r.t. the  [22X2[122X-power map and perhaps the
  element  orders.  The  [5XAtlas[105X prints the table of the split extension of [22XM.G[122X,
  this table is one of the first two possibilities.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XList( poss, x -> PowerMap( x.table, 2 ) );[127X[104X
    [4X[28X[ [ 1, 3, 1, 1, 3, 6, 8, 6, 4, 4, 4, 5, 16, 18, 16, 13, 15, 13, 19, [128X[104X
    [4X[28X      21, 19, 21, 1, 1, 6, 6, 9, 9, 11, 11, 16, 16, 13, 13 ], [128X[104X
    [4X[28X  [ 1, 3, 1, 1, 3, 6, 8, 6, 4, 4, 4, 5, 16, 18, 16, 13, 15, 13, 19, [128X[104X
    [4X[28X      21, 19, 21, 1, 1, 6, 6, 11, 11, 9, 9, 16, 16, 13, 13 ], [128X[104X
    [4X[28X  [ 1, 3, 1, 1, 3, 6, 8, 6, 4, 4, 4, 5, 16, 18, 16, 13, 15, 13, 19, [128X[104X
    [4X[28X      21, 19, 21, 3, 3, 8, 8, 9, 9, 11, 11, 18, 18, 15, 15 ], [128X[104X
    [4X[28X  [ 1, 3, 1, 1, 3, 6, 8, 6, 4, 4, 4, 5, 16, 18, 16, 13, 15, 13, 19, [128X[104X
    [4X[28X      21, 19, 21, 3, 3, 8, 8, 11, 11, 9, 9, 18, 18, 15, 15 ] ][128X[104X
  [4X[32X[104X
  
  [33X[0;0YThe  [22X2[122X-power map is not determined by the irreducible characters (and by the
  [22X2[122X-power  map  of the factor group [22X2.L_3(4).2_3[122X). We determine this map using
  the embedding of [22X4_2.L_3(4).2_3[122X into [22X4.U_4(3).2_3[122X. Note that [22XL_3(4).2_3[122X is a
  maximal  subgroup of [22XU_4(3).2_3[122X (see [CCN+85, p. 52]), and that the subgroup
  [22XL_3(4)[122X  of  [22XU_4(3)[122X  lifts  to [22X4_2.L_3(4)[122X in [22X4.U_4(3)[122X because no embedding of
  [22XL_3(4)[122X, [22X2.L_3(4)[122X, or [22X4_1.L_3(4)[122X into [22X4.U_4(3)[122X is possible.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XPossiblePowerMaps( poss[1].table, 2 );[127X[104X
    [4X[28X[ [ 1, 3, 1, 1, 3, 6, 8, 6, 4, 4, 4, 5, 16, 18, 16, 13, 15, 13, 19, [128X[104X
    [4X[28X      21, 19, 21, 1, 1, 6, 6, 11, 11, 9, 9, 16, 16, 13, 13 ], [128X[104X
    [4X[28X  [ 1, 3, 1, 1, 3, 6, 8, 6, 4, 4, 4, 5, 16, 18, 16, 13, 15, 13, 19, [128X[104X
    [4X[28X      21, 19, 21, 1, 1, 6, 6, 9, 9, 11, 11, 16, 16, 13, 13 ] ][128X[104X
    [4X[25Xgap>[125X [27Xt:= CharacterTable( "4.U4(3)" );;[127X[104X
    [4X[25Xgap>[125X [27XList( [ "L3(4)", "2.L3(4)", "4_1.L3(4)", "4_2.L3(4)" ], name ->[127X[104X
    [4X[25X>[125X [27X         Length( PossibleClassFusions( CharacterTable( name ), t ) ) );[127X[104X
    [4X[28X[ 0, 0, 0, 4 ][128X[104X
  [4X[32X[104X
  
  [33X[0;0YSo  the  split  extension  [22X4_2.L_3(4).2_3[122X of [22X4_2.L_3(4)[122X is a subgroup of the
  split  extension  [22X4.U_4(3).2_3[122X of [22X4.U_4(3)[122X, and only one of the two possible
  tables  of  [22X4_2.L_3(4).2_3[122X  admits  a  class  fusion into the [5XAtlas[105X table of
  [22X4.U_3(4).2_3[122X;   the   construction   of   the   latter  table  is  shown  in
  Section [14X2.4-3[114X.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27Xt2:= CharacterTable( "4.U4(3).2_3" );;[127X[104X
    [4X[25Xgap>[125X [27XList( poss, x -> Length( PossibleClassFusions( x.table, t2 ) ) );[127X[104X
    [4X[28X[ 0, 16, 0, 0 ][128X[104X
  [4X[32X[104X
  
  [33X[0;0YI  do  not  know  a  character  theoretic  argument  that would disprove the
  existence  of  a  group whose character table is the other candidate (or its
  isoclinic   variant).   For   example,  the  table  passes  the  tests  from
  Section [14X2.4-17[114X.[133X
  
  [33X[0;0Y(It  is  straightforward  to  compute  all  extensions  of  [22X4_2.L_3(4)[122X by an
  automorphism  of  order two. The extensions with [22X34[122X conjugacy classes belong
  to the second candidate and its isoclinic variant.)[133X
  
  [33X[0;0YThe  correct  table  is the one that is contained in the [5XGAP[105X Character Table
  Library.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XIsRecord( TransformingPermutationsCharacterTables( poss[2].table,[127X[104X
    [4X[25X>[125X [27X                 lib ) );[127X[104X
    [4X[28Xtrue[128X[104X
    [4X[25Xgap>[125X [27XConstructModularMGATables( tblMG, tblGA, lib );;[127X[104X
  [4X[32X[104X
  
  [33X[0;0YIn  the  construction  of  the  character table of [22X12_2.L_3(4).2_3[122X, the same
  ambiguity arises. We resolve it using the fact that [22X4_2.L_3(4).2_3[122X occurs as
  a factor group, modulo the unique normal subgroup of order three.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XtblMG := CharacterTable( "12_2.L3(4)" );;[127X[104X
    [4X[25Xgap>[125X [27XtblG  := CharacterTable( "6.L3(4)" );;[127X[104X
    [4X[25Xgap>[125X [27XtblGA := CharacterTable( "6.L3(4).2_3" );;[127X[104X
    [4X[25Xgap>[125X [27Xname  := "new12_2.L3(4).2_3";;[127X[104X
    [4X[25Xgap>[125X [27Xlib   := CharacterTable( "12_2.L3(4).2_3" );;[127X[104X
    [4X[25Xgap>[125X [27Xposs  := ConstructOrdinaryMGATable( tblMG, tblG, tblGA, name, lib );;[127X[104X
    [4X[28X#E  4 possibilities for new12_2.L3(4).2_3[128X[104X
    [4X[25Xgap>[125X [27XLength( poss );[127X[104X
    [4X[28X4[128X[104X
    [4X[25Xgap>[125X [27Xnsg:= ClassPositionsOfNormalSubgroups( poss[1].table );[127X[104X
    [4X[28X[ [ 1 ], [ 1, 5 ], [ 1, 7 ], [ 1, 4 .. 7 ], [ 1, 3 .. 7 ], [128X[104X
    [4X[28X  [ 1 .. 7 ], [ 1 .. 50 ], [ 1 .. 62 ] ][128X[104X
    [4X[25Xgap>[125X [27XList( nsg, x -> Sum( SizesConjugacyClasses( poss[1].table ){ x } ) );[127X[104X
    [4X[28X[ 1, 3, 2, 4, 6, 12, 241920, 483840 ][128X[104X
    [4X[25Xgap>[125X [27Xfactlib:= CharacterTable( "4_2.L3(4).2_3" );;[127X[104X
    [4X[25Xgap>[125X [27XList( poss, x -> IsRecord( TransformingPermutationsCharacterTables([127X[104X
    [4X[25X>[125X [27X                        x.table / [ 1, 5 ], factlib ) ) );[127X[104X
    [4X[28X[ false, true, false, false ][128X[104X
    [4X[25Xgap>[125X [27XIsRecord( TransformingPermutationsCharacterTables( poss[2].table,[127X[104X
    [4X[25X>[125X [27X                 lib ) );[127X[104X
    [4X[28Xtrue[128X[104X
    [4X[25Xgap>[125X [27XConstructModularMGATables( tblMG, tblGA, lib );;[127X[104X
  [4X[32X[104X
  
  
  [1X2.4-6   [33X[0;0YThe   Character  Tables  of  [22X12_1.U_4(3).2_2'[122X[101X[1X  and  [22X12_2.U_4(3).2_3'[122X[101X[1X[101X
  [1X(December 2015)[133X[101X
  
  [33X[0;0YIn  the construction of the character table of [22XM.G.A = 12_1.U_4(3).2_2'[122X from
  the  tables of [22XM.G = 12_1.U_4(3)[122X and [22XG.A = 2.U_4(3).2_2'[122X, the action of [22XA[122X on
  the classes of [22XM.G[122X is uniquely determined, but we get two possible character
  tables.[133X
  
  [33X[0;0Y(Note  that the groups [22X2.U_4(3).2_2[122X and [22X2.U_4(3).2_2'[122X are isomorphic, but we
  have  to  take  the  latter  one  because  the  stored  factor  fusion  from
  [22X12_1.U_4(3)[122X to [22X2.U_4(3)[122X must be combined with the class fusion from [22X2.U_4(3)[122X
  to   [22X2.U_4(3).2_2'[122X;  using  the  library  table  of  [22X2.U_4(3).2_2[122X  would  be
  technically more involved.)[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XtblMG := CharacterTable( "12_1.U4(3)" );;[127X[104X
    [4X[25Xgap>[125X [27XtblG  := CharacterTable( "2.U4(3)" );;[127X[104X
    [4X[25Xgap>[125X [27XtblGA := CharacterTable( "2.U4(3).2_2'" );;[127X[104X
    [4X[25Xgap>[125X [27Xname  := "new12_1.U4(3).2_2'";;[127X[104X
    [4X[25Xgap>[125X [27Xlib   := CharacterTable( "12_1.U4(3).2_2'" );;[127X[104X
    [4X[25Xgap>[125X [27Xposs  := ConstructOrdinaryMGATable( tblMG, tblG, tblGA, name, lib );;[127X[104X
    [4X[28X#E  2 possibilities for new12_1.U4(3).2_2'[128X[104X
    [4X[25Xgap>[125X [27XConstructModularMGATables( tblMG, tblGA, lib );;[127X[104X
  [4X[32X[104X
  
  [33X[0;0YThis is not surprising, the two tables involve the two isoclinic variants of
  [22X4.U_4(3).2_2'[122X  (which  is  isomorphic with [22X4.U_4(3).2_2[122X) as tables of factor
  groups.  The  irreducible  characters  of the two tables are equal, only the
  [22X2[122X-power map and the element orders are different.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XIrr( poss[1].table ) = Irr( poss[2].table );[127X[104X
    [4X[28Xtrue[128X[104X
    [4X[25Xgap>[125X [27Xiso:= CharacterTableIsoclinic( poss[1].table );;[127X[104X
    [4X[25Xgap>[125X [27XTransformingPermutationsCharacterTables( iso, poss[2].table );[127X[104X
    [4X[28Xrec( columns := (), group := <permutation group with 5 generators>, [128X[104X
    [4X[28X  rows := () )[128X[104X
  [4X[32X[104X
  
  [33X[0;0YThe  same  phenomenon  occurs  in the construction of the character table of
  [22XM.G.A  =  12_2.U_4(3).2_3'[122X  from  the  tables of [22XM.G = 12_2.U_4(3)[122X and [22XG.A =
  2.U_4(3).2_3'[122X.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XtblMG := CharacterTable( "12_2.U4(3)" );;[127X[104X
    [4X[25Xgap>[125X [27XtblG  := CharacterTable( "2.U4(3)" );;[127X[104X
    [4X[25Xgap>[125X [27XtblGA := CharacterTable( "2.U4(3).2_3'" );;[127X[104X
    [4X[25Xgap>[125X [27Xname  := "new12_2.U4(3).2_3'";;[127X[104X
    [4X[25Xgap>[125X [27Xlib   := CharacterTable( "12_2.U4(3).2_3'" );;[127X[104X
    [4X[25Xgap>[125X [27Xposs  := ConstructOrdinaryMGATable( tblMG, tblG, tblGA, name, lib );;[127X[104X
    [4X[28X#E  2 possibilities for new12_2.U4(3).2_3'[128X[104X
    [4X[25Xgap>[125X [27XConstructModularMGATables( tblMG, tblGA, lib );;[127X[104X
    [4X[25Xgap>[125X [27Xiso:= CharacterTableIsoclinic( poss[1].table );;[127X[104X
    [4X[25Xgap>[125X [27XTransformingPermutationsCharacterTables( iso, poss[2].table );[127X[104X
    [4X[28Xrec( columns := (), group := <permutation group with 8 generators>, [128X[104X
    [4X[28X  rows := () )[128X[104X
  [4X[32X[104X
  
  
  [1X2.4-7 [33X[0;0YGroups of the Structures [22X3.U_3(8).3_1[122X[101X[1X and [22X3.U_3(8).6[122X[101X[1X (February 2017)[133X[101X
  
  [33X[0;0YThe  list  of  Improvements  to the [5XAtlas[105X of Finite Groups [BN95] states the
  following, concerning the group [22XG = U_3(8)[122X.[133X
  
  [33X[0;0Y[21XThere is a unique group of type [22X3.G.6[122X which contains the group of type [22X3.G.3[122X
  shown.  But  the (unique) groups of type [22X3.G.6'[122X and [22X3.G.6''[122X contain not this
  [22X3.G.3[122X but its [13Xisoclines[113X.[121X[133X
  
  [33X[0;0YIn  this  section  we  will  show that this statement is not correct, in the
  sense  that  the  three  isoclinic  variants  of  groups  of  the  structure
  [22X3.U_3(8).3_1[122X are in fact isomorphic.[133X
  
  [33X[0;0YAs a consequence, there is a unique group of the structure [22X3.U_3(8).6[122X, up to
  isomorphism.  Note  that  otherwise  the  strange situation of nonisomorphic
  groups  [22X3.G.6[122X,  [22X3.G.6'[122X,  and  [22X3.G.6''[122X  would happen, which would be also not
  isoclinic because their centres are trivial.[133X
  
  [33X[0;0YA  group  of  the  structure  [22X3.U_3(8).3_1[122X can be obtained as the semidirect
  product [22XG[122X, say, of the group SU[22X(3,8)[122X with the automorphism of the field with
  [22X64[122X  elements  that  raises each field element to its fourth power. Note that
  the  semidirect  product of SU[22X(3,8)[122X with the field automorphism that squares
  each field element yields a group of the structure [22X3.U_3(8).6[122X.[133X
  
  [33X[0;0YFirst we create a permutation representation of [22XG[122X.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27Xs:= SU(3,8);;[127X[104X
    [4X[25Xgap>[125X [27Xgens:= GeneratorsOfGroup( s );;[127X[104X
    [4X[25Xgap>[125X [27Ximgs1:= List( gens, m -> List( m, v -> List( v, x -> x^4 ) ) );;[127X[104X
    [4X[25Xgap>[125X [27Ximgs2:= List( gens, m -> List( m, v -> List( v, x -> x^16 ) ) );;[127X[104X
    [4X[25Xgap>[125X [27Xf:= GF(64);;[127X[104X
    [4X[25Xgap>[125X [27Xmats:= List( gens, m -> IdentityMat( 9, f ) );;[127X[104X
    [4X[25Xgap>[125X [27Xfor i in [ 1 .. Length( gens ) ] do[127X[104X
    [4X[25X>[125X [27X     mats[i]{ [ 1 .. 3 ] }{ [ 1 .. 3 ] }:= gens[i];[127X[104X
    [4X[25X>[125X [27X     mats[i]{ [ 4 .. 6 ] }{ [ 4 .. 6 ] }:= imgs1[i];[127X[104X
    [4X[25X>[125X [27X     mats[i]{ [ 7 .. 9 ] }{ [ 7 .. 9 ] }:= imgs2[i];[127X[104X
    [4X[25X>[125X [27X   od;[127X[104X
    [4X[25Xgap>[125X [27Xfieldaut:= NullMat( 9, 9, f );;[127X[104X
    [4X[25Xgap>[125X [27Xfieldaut{ [ 4 .. 6 ] }{ [ 1 .. 3 ] }:= IdentityMat( 3, f );;[127X[104X
    [4X[25Xgap>[125X [27Xfieldaut{ [ 7 .. 9 ] }{ [ 4 .. 6 ] }:= IdentityMat( 3, f );;[127X[104X
    [4X[25Xgap>[125X [27Xfieldaut{ [ 1 .. 3 ] }{ [ 7 .. 9 ] }:= IdentityMat( 3, f );;[127X[104X
    [4X[25Xgap>[125X [27Xv:= [ 1, 0, 0, 1, 0, 0, 1, 0, 0 ] * One( f );;[127X[104X
    [4X[25Xgap>[125X [27Xg:= Group( Concatenation( mats, [ fieldaut ] ) );;[127X[104X
    [4X[25Xgap>[125X [27Xorb:= Orbit( g, v );;[127X[104X
    [4X[25Xgap>[125X [27XLength( orb );[127X[104X
    [4X[28X32319[128X[104X
    [4X[25Xgap>[125X [27Xact:= Action( g, orb );;[127X[104X
    [4X[25Xgap>[125X [27XSize( act ) = 3 * Size( s );[127X[104X
    [4X[28Xtrue[128X[104X
    [4X[25Xgap>[125X [27Xsm:= SmallerDegreePermutationRepresentation( act );;[127X[104X
    [4X[25Xgap>[125X [27XNrMovedPoints( Image( sm ) );[127X[104X
    [4X[28X4617[128X[104X
    [4X[25Xgap>[125X [27Xg:= Image( sm );;[127X[104X
  [4X[32X[104X
  
  [33X[0;0YThe  next  step is the construction of the central product of [22XG[122X and a cyclic
  group  of  order  nine, of the structure [22X3.(3 × U_3(8).3_1)[122X. We could try to
  create  the  factor  group of [22X9 × 3.U_3(8).3_1[122X modulo a diagonal subgroup of
  order three, by just applying the [10X/[110X operation. Since [5XGAP[105X would need too much
  time for that, and since we know better in which situation we are, we create
  the desired action directly on suitable sets on pairs.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27Xc:= CyclicGroup( IsPermGroup, 9 );;[127X[104X
    [4X[25Xgap>[125X [27Xdp:= DirectProduct( g, c );;[127X[104X
    [4X[25Xgap>[125X [27Xu:= Image( Embedding( dp, 1 ) );;[127X[104X
    [4X[25Xgap>[125X [27Xc:= Image( Embedding( dp, 2 ) );;[127X[104X
    [4X[25Xgap>[125X [27Xc3:= c.1^3;[127X[104X
    [4X[28X(4618,4621,4624)(4619,4622,4625)(4620,4623,4626)[128X[104X
    [4X[25Xgap>[125X [27Xz:= Centre( u );;[127X[104X
    [4X[25Xgap>[125X [27XSize( z );  Length( GeneratorsOfGroup( z ) );[127X[104X
    [4X[28X3[128X[104X
    [4X[28X1[128X[104X
    [4X[25Xgap>[125X [27Xdiag:= Subgroup( dp, [ c3 * z.1 ] );;[127X[104X
    [4X[25Xgap>[125X [27Xorb:= Orbit( dp, [ 1, 4618 ], OnPairs );;[127X[104X
    [4X[25Xgap>[125X [27XLength( orb );[127X[104X
    [4X[28X41553[128X[104X
    [4X[25Xgap>[125X [27Xorb:= Set( orb );;[127X[104X
    [4X[25Xgap>[125X [27Xorbs:= List( OrbitsDomain( diag, orb, OnSets ), Set );;[127X[104X
    [4X[25Xgap>[125X [27XLength( orbs );[127X[104X
    [4X[28X13851[128X[104X
    [4X[25Xgap>[125X [27Xcp:= Action( dp, orbs, OnSetsSets );;[127X[104X
    [4X[25Xgap>[125X [27XSize( cp );[127X[104X
    [4X[28X148925952[128X[104X
  [4X[32X[104X
  
  [33X[0;0YThe  three  isoclinic  variants  of  the  structure  [22X3.U_3(8).3_1[122X  appear as
  subgroups  of  index  three in this central product. (The fourth subgroup of
  index three is of course a central product of the structure [22X3.(3 × U_3(8))[122X.)[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27Xder:= DerivedSubgroup( cp );;[127X[104X
    [4X[25Xgap>[125X [27XIndex( cp, der );[127X[104X
    [4X[28X9[128X[104X
    [4X[25Xgap>[125X [27Xinter:= IntermediateSubgroups( cp, der ).subgroups;;[127X[104X
    [4X[25Xgap>[125X [27Xz:= Centre( cp );;[127X[104X
    [4X[25Xgap>[125X [27XSize( z );[127X[104X
    [4X[28X9[128X[104X
    [4X[25Xgap>[125X [27Xinter:= Filtered( inter, x -> not IsSubset( x, z ) );;[127X[104X
    [4X[25Xgap>[125X [27XList( inter, Size );[127X[104X
    [4X[28X[ 49641984, 49641984, 49641984 ][128X[104X
  [4X[32X[104X
  
  [33X[0;0YFinally, we check that the three groups are isomorphic.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XIsomorphismGroups( inter[1], inter[2] ) <> fail;[127X[104X
    [4X[28Xtrue[128X[104X
    [4X[25Xgap>[125X [27XIsomorphismGroups( inter[1], inter[3] ) <> fail;[127X[104X
    [4X[28Xtrue[128X[104X
  [4X[32X[104X
  
  [33X[0;0Y[13XRemark:[113X[133X
  
  [33X[0;0YAn  indication  that  the  groups might be isomorphic is the fact that their
  character tables are equivalent, which can be shown much easier, as follows.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27Xt1:= CharacterTable( "3.U3(8).3_1" );;[127X[104X
    [4X[25Xgap>[125X [27Xt2:= CharacterTableIsoclinic( t1, rec( k:= 1 ) );;[127X[104X
    [4X[25Xgap>[125X [27Xt3:= CharacterTableIsoclinic( t1, rec( k:= 2 ) );;[127X[104X
    [4X[25Xgap>[125X [27XTransformingPermutationsCharacterTables( t1, t2 ) <> fail;[127X[104X
    [4X[28Xtrue[128X[104X
    [4X[25Xgap>[125X [27XTransformingPermutationsCharacterTables( t1, t3 ) <> fail;[127X[104X
    [4X[28Xtrue[128X[104X
  [4X[32X[104X
  
  
  [1X2.4-8 [33X[0;0YThe Character Table of [22X(2^2 × F_4(2)):2 < B[122X[101X[1X (March 2003)[133X[101X
  
  [33X[0;0YThe  sporadic  simple  group  [22XB[122X contains a maximal subgroup [22XoverlineN[122X of the
  type  [22X(2^2 × F_4(2)):2[122X, which is the normalizer of a [10X2C[110X element [22Xoverlinex[122X in
  [22XB[122X (see [CCN+85, p. 217]).[133X
  
  [33X[0;0YWe  will  see below that the normal Klein four group [22XV[122X in [22XoverlineN[122X contains
  two  [10X2A[110X  elements  in  [22XB[122X.  The [10X2A[110X centralizer in [22XB[122X, a group of the structure
  [22X2.^2E_6(2).2[122X,  contains  maximal  subgroups of the type [22X2^2 × F_4(2)[122X. So the
  two  [10X2A[110X type subgroups [22XC_1[122X, [22XC_2[122X in [22XV[122X are conjugate in [22XoverlineN[122X, and [22XZ = ⟨ x
  ⟩[122X is the centre of [22XoverlineN[122X.[133X
  
                                   Nbar
                                  ╱│╲
                                 U . .
                                ╱ ╲│╱
                               ╱   .
                              ╱   ╱
                             V   ╱
                            ╱│╲ ╱
                          C1 . Z
                            ╲│╱
                             1
  
  [33X[0;0YWe start with computing the class fusion of the [22X2^2 × F_4(2)[122X type subgroup [22XU[122X
  of  [22XoverlineN[122X  into [22XB[122X; in order to speed this up, we first compute the class
  fusion  of the [22XF_4(2)[122X subgroup of [22XU[122X into [22XB[122X (which is unique), and use it and
  the  stored embedding into [22XU[122X for prescribing an approximation of the desired
  class  fusion.  Additionally, we prescribe (without loss of generality) that
  the [13Xfirst[113X involution class in [22XV[122X is mapped to the class [10X2C[110X of [22XB[122X.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27Xf42:= CharacterTable( "F4(2)" );;[127X[104X
    [4X[25Xgap>[125X [27Xv4:= CharacterTable( "2^2" );;[127X[104X
    [4X[25Xgap>[125X [27Xdp:= v4 * f42;[127X[104X
    [4X[28XCharacterTable( "V4xF4(2)" )[128X[104X
    [4X[25Xgap>[125X [27Xb:= CharacterTable( "B" );;[127X[104X
    [4X[25Xgap>[125X [27Xf42fusb:= PossibleClassFusions( f42, b );;[127X[104X
    [4X[25Xgap>[125X [27XLength( f42fusb );[127X[104X
    [4X[28X1[128X[104X
    [4X[25Xgap>[125X [27Xf42fusdp:= GetFusionMap( f42, dp );;[127X[104X
    [4X[25Xgap>[125X [27Xcomp:= CompositionMaps( f42fusb[1], InverseMap( f42fusdp ) );[127X[104X
    [4X[28X[ 1, 3, 3, 3, 5, 6, 6, 7, 9, 9, 9, 9, 14, 14, 13, 13, 10, 14, 14, 12, [128X[104X
    [4X[28X  14, 17, 15, 18, 22, 22, 22, 22, 26, 26, 22, 22, 27, 27, 28, 31, 31, [128X[104X
    [4X[28X  39, 39, 36, 36, 33, 33, 39, 39, 35, 41, 42, 47, 47, 49, 49, 49, 58, [128X[104X
    [4X[28X  58, 56, 56, 66, 66, 66, 66, 58, 58, 66, 66, 69, 69, 60, 72, 72, 75, [128X[104X
    [4X[28X  79, 79, 81, 81, 85, 86, 83, 83, 91, 91, 94, 94, 104, 104, 109, 109, [128X[104X
    [4X[28X  116, 116, 114, 114, 132, 132, 140, 140 ][128X[104X
    [4X[25Xgap>[125X [27Xv4fusdp:= GetFusionMap( v4, dp );[127X[104X
    [4X[28X[ 1, 96 .. 286 ][128X[104X
    [4X[25Xgap>[125X [27Xcomp[ v4fusdp[2] ]:= 4;;[127X[104X
    [4X[25Xgap>[125X [27Xdpfusb:= PossibleClassFusions( dp, b, rec( fusionmap:= comp ) );;[127X[104X
    [4X[25Xgap>[125X [27XLength( dpfusb );[127X[104X
    [4X[28X4[128X[104X
    [4X[25Xgap>[125X [27XSet( dpfusb, x -> x{ v4fusdp } );[127X[104X
    [4X[28X[ [ 1, 4, 2, 2 ] ][128X[104X
  [4X[32X[104X
  
  [33X[0;0YAs announced above, we see that [22XV[122X contains two [10X2A[110X involutions.[133X
  
  [33X[0;0YSet  [22XG  =  U  / Z[122X, [22XM.G = U[122X, and [22XG.A = overlineN / Z[122X. The latter group is the
  direct  product  of  [22XF_4(2).2[122X and a cyclic group of order [22X2[122X. Next we compute
  the class fusion from [22XG[122X into [22XG.A[122X.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XtblG:= dp / v4fusdp{ [ 1, 2 ] };;[127X[104X
    [4X[25Xgap>[125X [27XtblMG:= dp;;[127X[104X
    [4X[25Xgap>[125X [27Xc2:= CharacterTable( "Cyclic", 2 );;[127X[104X
    [4X[25Xgap>[125X [27XtblGA:= c2 * CharacterTable( "F4(2).2" );[127X[104X
    [4X[28XCharacterTable( "C2xF4(2).2" )[128X[104X
    [4X[25Xgap>[125X [27XGfusGA:= PossibleClassFusions( tblG, tblGA );;[127X[104X
    [4X[25Xgap>[125X [27XLength( GfusGA );[127X[104X
    [4X[28X4[128X[104X
    [4X[25Xgap>[125X [27XLength( RepresentativesFusions( tblG, GfusGA, tblGA ) );[127X[104X
    [4X[28X1[128X[104X
  [4X[32X[104X
  
  [33X[0;0YIn  principle,  we  have  to  be  careful  which of these equivalent maps we
  choose,  since  the  underlying  symmetries  may  be  broken  in the central
  extension [22XM.G → G[122X, for which we choose the default factor fusion.[133X
  
  [33X[0;0YHowever,  in  this  situation  the fusion [22XG[122X into [22XG.A[122X is unique already up to
  table automorphisms of the table of [22XG.A[122X, so we are free to choose one map.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XLength( RepresentativesFusions( Group( () ), GfusGA, tblGA ) );[127X[104X
    [4X[28X1[128X[104X
    [4X[25Xgap>[125X [27XStoreFusion( tblG, GfusGA[1], tblGA );[127X[104X
  [4X[32X[104X
  
  [33X[0;0YThe  tables  involved  determine  the  character  table of [22XM.G.A ≅ overlineN[122X
  uniquely.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27Xelms:= PossibleActionsForTypeMGA( tblMG, tblG, tblGA );;[127X[104X
    [4X[25Xgap>[125X [27XLength( elms );[127X[104X
    [4X[28X1[128X[104X
    [4X[25Xgap>[125X [27Xposs:= PossibleCharacterTablesOfTypeMGA( tblMG, tblG, tblGA, elms[1],[127X[104X
    [4X[25X>[125X [27X              "(2^2xF4(2)):2" );;[127X[104X
    [4X[25Xgap>[125X [27XLength( poss );[127X[104X
    [4X[28X1[128X[104X
    [4X[25Xgap>[125X [27XtblMGA:= poss[1].table;;[127X[104X
  [4X[32X[104X
  
  [33X[0;0YFinally,  we compare the table we constructed with the one that is contained
  in the [5XGAP[105X Character Table Library.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XIsRecord( TransformingPermutationsCharacterTables( tblMGA,[127X[104X
    [4X[25X>[125X [27X                 CharacterTable( "(2^2xF4(2)):2" ) ) );[127X[104X
    [4X[28Xtrue[128X[104X
  [4X[32X[104X
  
  
  [1X2.4-9 [33X[0;0YThe Character Table of [22X2.(S_3 × Fi_22.2) < 2.B[122X[101X[1X (March 2003)[133X[101X
  
  [33X[0;0YThe  sporadic  simple  group [22XB[122X contains a maximal subgroup [22XoverlineM[122X of type
  [22XS_3  × Fi_22.2[122X. In order to compute the character table of its preimage [22XM[122X in
  the  Schur  cover [22X2.B[122X, we first analyse the structure of [22XM[122X and then describe
  the construction of the character table from known character tables.[133X
  
  [33X[0;0YLet  [22XZ[122X  denote  the  centre of [22X2.B[122X. We start with [22XoverlineM = M/Z[122X. Its class
  fusion into [22XB[122X is uniquely determined by the character tables.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27Xs3:= CharacterTable( "Dihedral", 6 );;[127X[104X
    [4X[25Xgap>[125X [27Xfi222:= CharacterTable( "Fi22.2" );;[127X[104X
    [4X[25Xgap>[125X [27XtblMbar:= s3 * fi222;;[127X[104X
    [4X[25Xgap>[125X [27Xb:= CharacterTable( "B" );;[127X[104X
    [4X[25Xgap>[125X [27XMbarfusb:= PossibleClassFusions( tblMbar, b );;[127X[104X
    [4X[25Xgap>[125X [27XLength( Mbarfusb );[127X[104X
    [4X[28X1[128X[104X
  [4X[32X[104X
  
  [33X[0;0YThe  subgroup  of  type  [22XFi_22[122X lifts to the double cover [22X2.Fi_22[122X (that is, a
  group  that  is  [13Xnot[113X  a direct product [22X2 × Fi_22[122X) in [22X2.B[122X since [22X2.B[122X admits no
  class fusion from [22XFi_22[122X.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27X2b:= CharacterTable( "2.B" );;[127X[104X
    [4X[25Xgap>[125X [27XPossibleClassFusions( CharacterTable( "Fi22" ), 2b );[127X[104X
    [4X[28X[  ][128X[104X
  [4X[32X[104X
  
  [33X[0;0YSo  the  preimage  of  [22XFi_22.2[122X is one of the two nonisomorphic but isoclinic
  groups of type [22X2.Fi_22.2[122X, and we have to decide which one really occurs. For
  that,  we  consider  the  subgroup  of  type [22X3 × Fi_22.2[122X in [22XB[122X, which is a [10X3A[110X
  centralizer  in  [22XB[122X. Its preimage has the structure [22X3 × 2.Fi_22.2[122X because the
  preimage  of  the  central group of order [22X3[122X is a cyclic group of order [22X6[122X and
  thus  contains a normal complement of the [22X2.Fi_22[122X type subgroup. And a class
  fusion  into  [22X2.B[122X  is  possible  only from the direct product containing the
  [22X2.Fi_22.2[122X group that is printed in the [5XAtlas[105X.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27Xc3:= CharacterTable( "Cyclic", 3 );;[127X[104X
    [4X[25Xgap>[125X [27X2fi222:= CharacterTable( "2.Fi22.2" );;[127X[104X
    [4X[25Xgap>[125X [27XPossibleClassFusions( c3 * CharacterTableIsoclinic( 2fi222 ), 2b );[127X[104X
    [4X[28X[  ][128X[104X
  [4X[32X[104X
  
  [33X[0;0YNext  we  note that the involutions in the normal subgroup [22XoverlineS[122X of type
  [22XS_3[122X in [22XoverlineM[122X lift to involutions in [22X2.B[122X.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27Xs3inMbar:= GetFusionMap( s3, tblMbar );[127X[104X
    [4X[28X[ 1, 113 .. 225 ][128X[104X
    [4X[25Xgap>[125X [27Xs3inb:= Mbarfusb[1]{ s3inMbar };[127X[104X
    [4X[28X[ 1, 6, 2 ][128X[104X
    [4X[25Xgap>[125X [27X2bfusb:= GetFusionMap( 2b, b );;[127X[104X
    [4X[25Xgap>[125X [27X2s3in2B:= InverseMap( 2bfusb ){ s3inb };[127X[104X
    [4X[28X[ [ 1, 2 ], [ 8, 9 ], 3 ][128X[104X
    [4X[25Xgap>[125X [27XCompositionMaps( OrdersClassRepresentatives( 2b ), 2s3in2B );[127X[104X
    [4X[28X[ [ 1, 2 ], [ 3, 6 ], 2 ][128X[104X
  [4X[32X[104X
  
  [33X[0;0YThus  the  preimage  [22XS[122X  of  [22XoverlineS[122X  contains  elements  of order [22X6[122X but no
  elements of order [22X4[122X, which implies that [22XS[122X is a direct product [22X2 × S_3[122X.[133X
  
  [33X[0;0YThe  two  complements  [22XC_1[122X,  [22XC_2[122X  of  [22XZ[122X in [22XS[122X are normal in the preimage [22XN[122X of
  [22XoverlineN  = S_3 × Fi_22[122X, which is thus of type [22XS_3 × 2.Fi_22[122X. However, they
  are  conjugate  under the action of [22X2.Fi_22.2[122X, as no class fusion from [22XS_3 ×
  2.Fi_22.2[122X into [22X2.B[122X is possible.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XPossibleClassFusions( s3 * 2fi222, 2b );[127X[104X
    [4X[28X[  ][128X[104X
  [4X[32X[104X
  
  [33X[0;0Y(More  specifically,  the  classes  of  element  order  [22X36[122X in [22X2.Fi_22.2[122X have
  centralizer orders [22X36[122X and [22X72[122X, so their centralizer orders in [22XS_3 × 2.Fi_22.2[122X
  are  [22X216[122X  and  [22X432[122X;  but  the  centralizers of order [22X36[122X elements in [22X2.B[122X have
  centralizer order at most [22X216[122X.)[133X
  
  [33X[0;0YNow let us see how the character table of [22XM[122X can be constructed.[133X
  
  [33X[0;0YLet  [22XY[122X  denote the normal subgroup of order [22X3[122X in [22XM[122X, and [22XU[122X its centralizer in
  [22XM[122X,  which  has  index [22X2[122X in [22XM[122X. Then the character table of [22XM[122X is determined by
  the tables of [22XM/Y[122X, [22XU[122X, [22XU/Y ≅ 2.Fi_22.2[122X, and the action of [22XM[122X on the classes of
  [22XU[122X.[133X
  
  [33X[0;0YAs  for  [22XM/Y[122X,  consider the normal subgroup [22XN = N_M(C_1)[122X of index [22X2[122X in [22XM[122X. In
  particular,  [22XS/Y[122X is central in [22XN/Y[122X but not in [22XM/Y[122X, so the character table of
  [22XM/Y[122X  is  determined by the tables of [22XM/(YZ)[122X, [22XN/Y ≅ 2 × 2.Fi_22[122X, [22XN/(YZ) ≅ 2 ×
  Fi_22[122X, and the action of [22XM/Y[122X on the classes of [22XN/Y[122X.[133X
  
  [33X[0;0YThus we proceed in two steps, starting with the computation of the character
  table  of  [22XM/Y[122X,  for  which  we  choose  the name according to the structure
  [22X2^2.Fi_22.2[122X.[133X
  
                                   M
                                  ╱│╲
                                 N . U
                                ╱ ╲│╱│
                               ╱   . │
                              ╱   ╱│ .
                             S   ╱ │╱
                            ╱│╲ ╱  .
                          C1 . 6  ╱
                            ╲│╱│ ╱
                             Y │╱
                             │ Z
                             │╱
                             1
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27Xc2:= CharacterTable( "Cyclic", 2 );;[127X[104X
    [4X[25Xgap>[125X [27X2fi22:= CharacterTable( "2.Fi22" );;[127X[104X
    [4X[25Xgap>[125X [27XtblNmodY:= c2 * 2fi22;;[127X[104X
    [4X[25Xgap>[125X [27Xcentre:= GetFusionMap( 2fi22, tblNmodY ){[127X[104X
    [4X[25X>[125X [27X                ClassPositionsOfCentre( 2fi22 ) };[127X[104X
    [4X[28X[ 1, 2 ][128X[104X
    [4X[25Xgap>[125X [27XtblNmod6:= tblNmodY / centre;;[127X[104X
    [4X[25Xgap>[125X [27XtblMmod6:= c2 * fi222;;[127X[104X
    [4X[25Xgap>[125X [27Xfus:= PossibleClassFusions( tblNmod6, tblMmod6 );;[127X[104X
    [4X[25Xgap>[125X [27XLength( fus );[127X[104X
    [4X[28X1[128X[104X
    [4X[25Xgap>[125X [27XStoreFusion( tblNmod6, fus[1], tblMmod6 );[127X[104X
    [4X[25Xgap>[125X [27Xelms:= PossibleActionsForTypeMGA( tblNmodY, tblNmod6, tblMmod6 );;[127X[104X
    [4X[25Xgap>[125X [27XLength( elms );[127X[104X
    [4X[28X1[128X[104X
    [4X[25Xgap>[125X [27Xposs:= PossibleCharacterTablesOfTypeMGA( tblNmodY, tblNmod6, tblMmod6,[127X[104X
    [4X[25X>[125X [27X              elms[1], "2^2.Fi22.2" );;[127X[104X
    [4X[25Xgap>[125X [27XLength( poss );[127X[104X
    [4X[28X1[128X[104X
    [4X[25Xgap>[125X [27XtblMmodY:= poss[1].table;[127X[104X
    [4X[28XCharacterTable( "2^2.Fi22.2" )[128X[104X
  [4X[32X[104X
  
  [33X[0;0YSo we found a unique solution for the character table of [22XM/Y[122X. Now we compute
  the  table  of  [22XM[122X. For that, we have to specify the class fusion of [22XU/Y[122X into
  [22XM/Y[122X; it is unique up to table automorphisms of [22XM/Y[122X.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XtblU:= c3 * 2fi222;;[127X[104X
    [4X[25Xgap>[125X [27XtblUmodY:= tblU / GetFusionMap( c3, tblU );;[127X[104X
    [4X[25Xgap>[125X [27Xfus:= PossibleClassFusions( tblUmodY, tblMmodY );;[127X[104X
    [4X[25Xgap>[125X [27XLength( RepresentativesFusions( Group( () ), fus, tblMmodY ) );[127X[104X
    [4X[28X1[128X[104X
    [4X[25Xgap>[125X [27XStoreFusion( tblUmodY, fus[1], tblMmodY );[127X[104X
    [4X[25Xgap>[125X [27Xelms:= PossibleActionsForTypeMGA( tblU, tblUmodY, tblMmodY );;[127X[104X
    [4X[25Xgap>[125X [27XLength( elms );[127X[104X
    [4X[28X1[128X[104X
    [4X[25Xgap>[125X [27Xposs:= PossibleCharacterTablesOfTypeMGA( tblU, tblUmodY, tblMmodY,[127X[104X
    [4X[25X>[125X [27X              elms[1], "(S3x2.Fi22).2" );;[127X[104X
    [4X[25Xgap>[125X [27XLength( poss );[127X[104X
    [4X[28X1[128X[104X
    [4X[25Xgap>[125X [27XtblM:= poss[1].table;[127X[104X
    [4X[28XCharacterTable( "(S3x2.Fi22).2" )[128X[104X
    [4X[25Xgap>[125X [27Xmfus2b:= PossibleClassFusions( tblM, 2b );;[127X[104X
    [4X[25Xgap>[125X [27XLength( RepresentativesFusions( tblM, mfus2b, 2b ) );[127X[104X
    [4X[28X1[128X[104X
  [4X[32X[104X
  
  [33X[0;0YWe  did  not  construct  [22XM[122X as a central extension of [22XoverlineM[122X, so we verify
  that  the  tables  fit  together;  note  that this way we get also the class
  fusion from [22XM[122X onto [22XoverlineM[122X.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XIrr( tblM / ClassPositionsOfCentre( tblM ) ) = Irr( tblMbar );[127X[104X
    [4X[28Xtrue[128X[104X
  [4X[32X[104X
  
  [33X[0;0YFinally,  we compare the table we constructed with the one that is contained
  in the [5XGAP[105X Character Table Library.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XIsRecord( TransformingPermutationsCharacterTables( tblM,[127X[104X
    [4X[25X>[125X [27X                 CharacterTable( "(S3x2.Fi22).2" ) ) );[127X[104X
    [4X[28Xtrue[128X[104X
  [4X[32X[104X
  
  
  [1X2.4-10 [33X[0;0YThe Character Table of [22X(2 × 2.Fi_22):2 < Fi_24[122X[101X[1X (November 2008)[133X[101X
  
  [33X[0;0YThe automorphism group [22XFi_24[122X of the sporadic simple group [22XFi_24^'[122X contains a
  maximal  subgroup  [22XN[122X  of  the  type [22X(2 × 2.Fi_22):2[122X, whose intersection with
  [22XFi_24^'[122X is [22X2.Fi_22.2[122X (see [CCN+85, p. 207]).[133X
  
  [33X[0;0YThe  normal  Klein  four  group  [22XV[122X  in  [22XN[122X contains two [10X2C[110X elements in [22XFi_24[122X,
  because  the  [10X2C[110X  centralizer  in [22XFi_24[122X, a group of the structure [22X2 × Fi_23[122X,
  contains  maximal  subgroups of the type [22X2 × 2.Fi_22[122X, and so the two [10X2C[110X type
  subgroups  [22XC_1[122X, [22XC_2[122X in [22XV[122X are conjugate in [22XN[122X, and [22XZ = Z(N)[122X is the centre of [22XN
  ∩ Fi_24^'[122X.[133X
  
                                   N
                                  ╱│╲
                                 U . N ⌒ Fi_24'
                                ╱ ╲│╱
                               ╱   .
                              ╱   ╱
                             V   ╱
                            ╱│╲ ╱
                          C1 . Z
                            ╲│╱
                             1
  
  [33X[0;0YWith  [22XU = C_N(C_1)[122X, a group of the type [22X2 × 2.Fi_22[122X, we set [22XG = U / Z[122X, [22XM.G =
  U[122X,  and [22XG.A = N / Z[122X. The latter group is the direct product of [22XFi_22.2[122X and a
  cyclic group of order [22X2[122X.[133X
  
  [33X[0;0YThis  is exactly the situation of the construction of the character table of
  the  group  that  is  called  [22X2^2.Fi_22.2[122X in Section [14X2.4-9[114X, where this group
  occurs as [21X[22XM/Y[122X[121X. Since the character table is uniquely determined by the input
  data, it is the table we are interested in here.[133X
  
  [33X[0;0YSo  all  we  have  to do is to compute the class fusion from this table into
  that of [22XFi_24[122X.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27Xfi24:= CharacterTable( "Fi24" );;[127X[104X
    [4X[25Xgap>[125X [27Xt:= CharacterTable( "2^2.Fi22.2" );;[127X[104X
    [4X[25Xgap>[125X [27Xfus:= PossibleClassFusions( t, fi24 );;[127X[104X
    [4X[25Xgap>[125X [27XLength( fus );[127X[104X
    [4X[28X4[128X[104X
    [4X[25Xgap>[125X [27XLength( RepresentativesFusions( t, fus, fi24 ) );[127X[104X
    [4X[28X1[128X[104X
  [4X[32X[104X
  
  [33X[0;0Y(It  should  be  noted  that  we  did  not  need  the character table of the
  [22X2.Fi_22.2[122X  type  subgroup of [22XN[122X in the above construction, only the tables of
  [22X2.Fi_22[122X and [22XFi_22.2[122X were used.)[133X
  
  [33X[0;0YThe fact that the character table of a factor of a subgroup of [22X2.B[122X occurs as
  the  character  table  of a subgroup of [22XFi_24[122X is not a coincidence. In fact,
  the  groups  [22X3.Fi_24[122X  and  [22X2.B[122X are subgroups of the Monster group [22XM[122X, and the
  subgroup  [22XU = 2.(S_3 × Fi_22.2)[122X of [22X2.B[122X normalizes an element of order three.
  The  full  normalizer  of  this element in [22XM[122X is [22X3.Fi_24[122X, which means that we
  have  established  [22XU[122X  as  a (maximal) subgroup of [22X3.Fi_24[122X. Note that we have
  constructed the character table of [22XU[122X in Section [14X2.4-9[114X.[133X
  
  [33X[0;0YLet us compute the class fusion of [22XU[122X into [22X3.Fi_24[122X.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27Xt:= CharacterTable( "(S3x2.Fi22).2" );;[127X[104X
    [4X[25Xgap>[125X [27X3fi24:= CharacterTable( "3.Fi24" );;                        [127X[104X
    [4X[25Xgap>[125X [27Xfus:= PossibleClassFusions( t, 3fi24 );;[127X[104X
    [4X[25Xgap>[125X [27XLength( fus );[127X[104X
    [4X[28X16[128X[104X
    [4X[25Xgap>[125X [27XLength( RepresentativesFusions( t, fus, 3fi24 ) );[127X[104X
    [4X[28X1[128X[104X
    [4X[25Xgap>[125X [27XGetFusionMap( t, 3fi24 ) in fus; [127X[104X
    [4X[28Xtrue[128X[104X
  [4X[32X[104X
  
  [33X[0;0YMoreover, [22XU[122X turns out to be the full normalizer of a [10X6A[110X element in [22XM[122X,[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27Xm:= CharacterTable( "M" );;[127X[104X
    [4X[25Xgap>[125X [27Xtfusm:= PossibleClassFusions( t, m );;[127X[104X
    [4X[25Xgap>[125X [27XLength( tfusm );[127X[104X
    [4X[28X4[128X[104X
    [4X[25Xgap>[125X [27XLength( RepresentativesFusions( t, tfusm, m ) );[127X[104X
    [4X[28X1[128X[104X
    [4X[25Xgap>[125X [27Xnsg:= Filtered( ClassPositionsOfNormalSubgroups( t ),[127X[104X
    [4X[25X>[125X [27X       x -> Sum( SizesConjugacyClasses( t ){ x } ) = 6 );[127X[104X
    [4X[28X[ [ 1, 2, 142, 143 ] ][128X[104X
    [4X[25Xgap>[125X [27XSet( tfusm, x -> x{ nsg[1] } );[127X[104X
    [4X[28X[ [ 1, 2, 4, 13 ] ][128X[104X
    [4X[25Xgap>[125X [27XOrdersClassRepresentatives( t ){ nsg[1] };[127X[104X
    [4X[28X[ 1, 2, 3, 6 ][128X[104X
    [4X[25Xgap>[125X [27XPowerMap( m, -1 )[13];[127X[104X
    [4X[28X13[128X[104X
    [4X[25Xgap>[125X [27XSize( t ) = 2 * SizesCentralizers( m )[13];[127X[104X
    [4X[28Xtrue[128X[104X
  [4X[32X[104X
  
  [33X[0;0Y(Thus [22XU[122X is also the full normalizer of an element of order six in [22X2.B[122X and in
  [22X3.Fi_24[122X.)[133X
  
  
  [1X2.4-11 [33X[0;0YThe Character Table of [22XS_3 × 2.U_4(3).2_2 ≤ 2.Fi_22[122X[101X[1X (September 2002)[133X[101X
  
  [33X[0;0YThe  sporadic  simple  Fischer  group  [22XFi_22[122X  contains  a  maximal  subgroup
  [22XoverlineM[122X of type [22XS_3 × U_4(3).2_2[122X (see [CCN+85, p. 163]). We claim that the
  preimage  [22XM[122X  of [22XoverlineM[122X in the central extension [22X2.Fi_22[122X has the structure
  [22XS_3 × 2.U_4(3).2_2[122X, where the factor of type [22X2.U_4(3).2_2[122X is the one printed
  in the [5XAtlas[105X.[133X
  
  [33X[0;0YFor  that,  we  first note that the normal subgroup [22XoverlineS[122X of type [22XS_3[122X in
  [22XoverlineM[122X  lifts  to a group [22XS[122X which has the structure [22X2 × S_3[122X. This follows
  from  the  fact that all involutions in [22XFi_22[122X lift to involutions in [22X2.Fi_22[122X
  or, equivalently, the central involution in [22X2.Fi_22[122X is not a square.[133X
  
                                   M
                                  ╱ ╲
                                 .   ╲
                                ╱ ╲   U
                               ╱   ╲ ╱
                              S     U'
                             ╱ ╲   ╱
                           S_3  ╲ ╱
                             ╲   .
                              ╲ ╱
                               1
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27X2Fi22:= CharacterTable( "2.Fi22" );;[127X[104X
    [4X[25Xgap>[125X [27XClassPositionsOfCentre( 2Fi22 );[127X[104X
    [4X[28X[ 1, 2 ][128X[104X
    [4X[25Xgap>[125X [27X2 in PowerMap( 2Fi22, 2 );[127X[104X
    [4X[28Xfalse[128X[104X
  [4X[32X[104X
  
  [33X[0;0YSecond,  the  normal  subgroup  [22XoverlineU  ≅  U_4(3).2_2[122X of [22XFi_22[122X lifts to a
  nonsplit  extension  [22XU[122X  in  [22X2.Fi_22[122X,  since  [22X2.Fi_22[122X contains no [22XU_4(3)[122X type
  subgroup. Furthermore, [22XU[122X is the [22X2.U_4(3).2_2[122X type group printed in the [5XAtlas[105X
  because the isoclinic variant does not admit a class fusion into [22X2.Fi_22[122X.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XPossibleClassFusions( CharacterTable( "U4(3)" ), 2Fi22 );[127X[104X
    [4X[28X[  ][128X[104X
    [4X[25Xgap>[125X [27XtblU:= CharacterTable( "2.U4(3).2_2" );;[127X[104X
    [4X[25Xgap>[125X [27Xiso:= CharacterTableIsoclinic( tblU );[127X[104X
    [4X[28XCharacterTable( "Isoclinic(2.U4(3).2_2)" )[128X[104X
    [4X[25Xgap>[125X [27XPossibleClassFusions( iso, 2Fi22 );                      [127X[104X
    [4X[28X[  ][128X[104X
  [4X[32X[104X
  
  [33X[0;0YNow there are just two possibilities. Either the two [22XS_3[122X type subgroups in [22XS[122X
  are  normal  in [22XM[122X (and thus [22XM[122X is the direct product of any such [22XS_3[122X with the
  preimage of the [22XU_4(3).2_2[122X type subgroup), or they are conjugate in [22XM[122X.[133X
  
  [33X[0;0YSuppose  we  are in the latter situation, let [22Xz[122X be a generator of the centre
  of  [22X2.Fi_22[122X,  and  let  [22Xτ[122X,  [22Xσ[122X  be  an  involution and an order three element
  respectively, in one of the [22XS_3[122X type subgroups.[133X
  
  [33X[0;0YEach element [22Xg ∈ U ∖ U^'[122X conjugates [22Xτ[122X to an involution in the other [22XS_3[122X type
  subgroup  of [22XS[122X, so [22Xg^-1 τ g = τ σ^i z[122X for some [22Xi ∈ { 0, 1, 2 }[122X. Furthermore,
  it is possible to choose [22Xg[122X as an involution.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27Xderpos:= ClassPositionsOfDerivedSubgroup( tblU );;[127X[104X
    [4X[25Xgap>[125X [27Xouter:= Difference( [ 1 .. NrConjugacyClasses( tblU ) ], derpos );;[127X[104X
    [4X[25Xgap>[125X [27X2 in OrdersClassRepresentatives( tblU ){ outer };[127X[104X
    [4X[28Xtrue[128X[104X
  [4X[32X[104X
  
  [33X[0;0YWith  this  choice,  [22X(g τ)^2 = τ σ^i z τ = σ^-i z[122X holds, which means that [22X(g
  τ)^3[122X  squares  to [22Xz[122X. As we have seen above, this is impossible, hence [22XM[122X is a
  direct product, as claimed.[133X
  
  [33X[0;0YThe class fusion of [22XM[122X into [22X2.Fi_22[122X is determined by the character tables, up
  to table automorphisms.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XtblM:= CharacterTable( "Dihedral", 6 ) * tblU;;[127X[104X
    [4X[25Xgap>[125X [27Xfus:= PossibleClassFusions( tblM, 2Fi22 );;[127X[104X
    [4X[25Xgap>[125X [27XLength( RepresentativesFusions( tblM, fus, 2Fi22 ) );[127X[104X
    [4X[28X1[128X[104X
    [4X[25Xgap>[125X [27XIsRecord( TransformingPermutationsCharacterTables( tblM,[127X[104X
    [4X[25X>[125X [27X                 CharacterTable( "2.Fi22M8" ) ) );[127X[104X
    [4X[28Xtrue[128X[104X
  [4X[32X[104X
  
  
  [1X2.4-12 [33X[0;0YThe Character Table of [22X4.HS.2 ≤ HN.2[122X[101X[1X (May 2002)[133X[101X
  
  [33X[0;0YThe  maximal  subgroup  [22XU[122X  of  type  [22X2.HS.2[122X  in the sporadic simple group [22XHN[122X
  extends  to  a group [22XN[122X of structure [22X4.HS.2[122X in the automorphism group [22XHN.2[122X of
  [22XHN[122X (see [CCN+85, p. 166]).[133X
  
  [33X[0;0Y[22XN[122X is the normalizer of a [10X4D[110X element [22Xg ∈ HN.2 ∖ HN[122X. The centralizer [22XC[122X of [22Xg[122X is
  of  type [22X4.HS[122X, which is the central product of [22X2.HS[122X and the cyclic group [22X⟨ g
  ⟩[122X  of  order [22X4[122X. We have [22XZ = Z(N) = ⟨ g^2 ⟩[122X. Since [22XU/Z ≅ HS.2[122X is a complement
  of  [22X⟨ g ⟩ / Z[122X in [22XN/Z[122X, the factor group [22XN/Z[122X is a direct product of [22XHS.2[122X and a
  cyclic group of order [22X2[122X.[133X
  
                                   N
                                  ╱│╲
                                 C . U
                                ╱ ╲│╱
                               ╱   .
                              ╱   ╱
                            ⟨g⟩  ╱
                              ╲ ╱
                               Z
                               │ 
                               1
  
  [33X[0;0YThus  [22XN[122X has the structure [22X2.G.2[122X, the normal subgroup [22X2.G[122X being [22XC[122X, the factor
  group  [22XG.2[122X being [22X2 × HS.2[122X, and [22XG[122X being [22X2 × HS[122X. Each element in [22XN ∖ C[122X inverts
  [22Xg[122X, so [22XN[122X acts fixed point freely on the faithful irreducible characters of [22XC[122X.
  Hence     we     can    use    [2XPossibleCharacterTablesOfTypeMGA[102X    ([14XCTblLib:
  PossibleCharacterTablesOfTypeMGA[114X)  for constructing the character table of [22XN[122X
  from the tables of [22XC[122X and [22XN/Z[122X and the action of [22XN[122X on the classes of [22XC[122X.[133X
  
  [33X[0;0YWe  start  with  the  table of the central product [22XC[122X. It can be viewed as an
  isoclinic table of the direct product of [22X2.HS[122X and a cyclic group of order [22X2[122X,
  see [14X2.2-4[114X.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27Xc2:= CharacterTable( "Cyclic", 2 );;[127X[104X
    [4X[25Xgap>[125X [27XtblC:= CharacterTableIsoclinic( CharacterTable( "2.HS" ) * c2 );;[127X[104X
  [4X[32X[104X
  
  [33X[0;0YThe  table  of  [22XG[122X  is given as that of the factor group by the unique normal
  subgroup of [22XC[122X that consists of two conjugacy classes.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27Xord2:= Filtered( ClassPositionsOfNormalSubgroups( tblC ),[127X[104X
    [4X[25X>[125X [27X              x -> Length( x ) = 2 );[127X[104X
    [4X[28X[ [ 1, 3 ] ][128X[104X
    [4X[25Xgap>[125X [27XtblCbar:= tblC / ord2[1];;[127X[104X
  [4X[32X[104X
  
  [33X[0;0YFinally, we construct the table of the extension [22XG.2[122X and the class fusion of
  [22XG[122X into this table (which is uniquely determined by the character tables).[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XtblNbar:= CharacterTable( "HS.2" ) * c2;;[127X[104X
    [4X[25Xgap>[125X [27Xfus:= PossibleClassFusions( tblCbar, tblNbar );[127X[104X
    [4X[28X[ [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, [128X[104X
    [4X[28X      19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 29, 30, 31, 32, [128X[104X
    [4X[28X      33, 34, 35, 36, 35, 36, 37, 38, 39, 40, 41, 42, 41, 42 ] ][128X[104X
    [4X[25Xgap>[125X [27XStoreFusion( tblCbar, fus[1], tblNbar );[127X[104X
  [4X[32X[104X
  
  [33X[0;0YNow we compute the table automorphisms of the table of [22XC[122X that are compatible
  with the extension [22XN[122X; we get two solutions.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27Xelms:= PossibleActionsForTypeMGA( tblC, tblCbar, tblNbar );[127X[104X
    [4X[28X[ [ [ 1 ], [ 2, 4 ], [ 3 ], [ 5 ], [ 6, 8 ], [ 7 ], [ 9 ], [ 10 ], [128X[104X
    [4X[28X      [ 11 ], [ 12, 14 ], [ 13 ], [ 15 ], [ 16, 18 ], [ 17 ], [ 19 ], [128X[104X
    [4X[28X      [ 20 ], [ 21 ], [ 22 ], [ 23 ], [ 24, 26 ], [ 25 ], [ 27 ], [128X[104X
    [4X[28X      [ 28, 30 ], [ 29 ], [ 31 ], [ 32, 34 ], [ 33 ], [ 35 ], [128X[104X
    [4X[28X      [ 36, 38 ], [ 37 ], [ 39 ], [ 40, 42 ], [ 41 ], [ 43 ], [128X[104X
    [4X[28X      [ 44, 46 ], [ 45 ], [ 47 ], [ 48, 50 ], [ 49 ], [ 51, 53 ], [128X[104X
    [4X[28X      [ 52, 54 ], [ 55 ], [ 56, 58 ], [ 57 ], [ 59 ], [ 60 ], [128X[104X
    [4X[28X      [ 61, 65 ], [ 62, 68 ], [ 63, 67 ], [ 64, 66 ], [ 69 ], [128X[104X
    [4X[28X      [ 70, 72 ], [ 71 ], [ 73 ], [ 74, 76 ], [ 75 ], [ 77, 81 ], [128X[104X
    [4X[28X      [ 78, 84 ], [ 79, 83 ], [ 80, 82 ] ], [128X[104X
    [4X[28X  [ [ 1 ], [ 2, 4 ], [ 3 ], [ 5 ], [ 6, 8 ], [ 7 ], [ 9 ], [ 10 ], [128X[104X
    [4X[28X      [ 11 ], [ 12, 14 ], [ 13 ], [ 15, 17 ], [ 16 ], [ 18 ], [ 19 ], [128X[104X
    [4X[28X      [ 20 ], [ 21 ], [ 22 ], [ 23 ], [ 24, 26 ], [ 25 ], [ 27 ], [128X[104X
    [4X[28X      [ 28, 30 ], [ 29 ], [ 31 ], [ 32, 34 ], [ 33 ], [ 35, 37 ], [128X[104X
    [4X[28X      [ 36 ], [ 38 ], [ 39 ], [ 40, 42 ], [ 41 ], [ 43 ], [ 44, 46 ], [128X[104X
    [4X[28X      [ 45 ], [ 47, 49 ], [ 48 ], [ 50 ], [ 51, 53 ], [ 52, 54 ], [128X[104X
    [4X[28X      [ 55 ], [ 56, 58 ], [ 57 ], [ 59 ], [ 60 ], [ 61, 65 ], [128X[104X
    [4X[28X      [ 62, 68 ], [ 63, 67 ], [ 64, 66 ], [ 69, 71 ], [ 70 ], [ 72 ], [128X[104X
    [4X[28X      [ 73 ], [ 74, 76 ], [ 75 ], [ 77, 83 ], [ 78, 82 ], [ 79, 81 ], [128X[104X
    [4X[28X      [ 80, 84 ] ] ][128X[104X
  [4X[32X[104X
  
  [33X[0;0YWe compute the possible character tables arising from these two actions.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27Xposs:= List( elms, pi -> PossibleCharacterTablesOfTypeMGA([127X[104X
    [4X[25X>[125X [27X                tblC, tblCbar, tblNbar, pi, "4.HS.2" ) );;[127X[104X
    [4X[25Xgap>[125X [27XList( poss, Length );[127X[104X
    [4X[28X[ 0, 2 ][128X[104X
  [4X[32X[104X
  
  [33X[0;0YSo  one  of  the  two  table  automorphisms turned out to be impossible; the
  reason  is  that the corresponding [21Xcharacter table[121X would not admit a [22X2[122X-power
  map.  (Alternatively,  we could exclude this action on [22XC[122X by the fact that it
  is  not  compatible  with  the  action of [22X2.HS.2[122X on its subgroup [22X2.HS[122X, which
  occurs  here  as the restriction of the action of [22XN[122X on [22XC[122X to that of [22XU[122X on [22XC ∩
  U[122X.)[133X
  
  [33X[0;0YThe other table automorphism leads to two possible character tables. This is
  not  surprising  since  [22XN[122X  contains a subgroup of type [22X2.HS.2[122X, and the above
  setup  does  not  determine  which of the two isoclinism types of this group
  occurs.  Let  us  look  at the possible class fusions from these tables into
  that of [22XHN.2[122X:[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27Xresult:= poss[2];;[127X[104X
    [4X[25Xgap>[125X [27Xhn2:= CharacterTable( "HN.2" );;[127X[104X
    [4X[25Xgap>[125X [27Xpossfus:= List( result, r -> PossibleClassFusions( r.table, hn2 ) );;[127X[104X
    [4X[25Xgap>[125X [27XList( possfus, Length );[127X[104X
    [4X[28X[ 32, 0 ][128X[104X
    [4X[25Xgap>[125X [27XRepresentativesFusions( result[1].table, possfus[1], hn2 );[127X[104X
    [4X[28X[ [ 1, 46, 2, 2, 47, 3, 7, 45, 4, 58, 13, 6, 46, 47, 6, 47, 7, 48, [128X[104X
    [4X[28X      10, 62, 20, 9, 63, 21, 12, 64, 24, 27, 49, 50, 13, 59, 14, 16, [128X[104X
    [4X[28X      70, 30, 18, 53, 52, 17, 54, 20, 65, 22, 36, 56, 26, 76, 39, 77, [128X[104X
    [4X[28X      28, 59, 58, 31, 78, 41, 34, 62, 35, 65, 2, 45, 3, 45, 6, 48, 7, [128X[104X
    [4X[28X      47, 17, 54, 13, 49, 13, 50, 14, 50, 18, 53, 18, 52, 21, 56, 25, [128X[104X
    [4X[28X      57, 27, 59, 30, 60, 44, 72, 34, 66, 35, 66, 41, 71 ] ][128X[104X
  [4X[32X[104X
  
  [33X[0;0YOnly  one  of  the  candidates  admits an embedding, and the class fusion is
  unique up to table automorphisms. So we are done.[133X
  
  [33X[0;0YFinally,  we  compare  the  table  we  have constructed with the one that is
  contained in the [5XGAP[105X Character Table Library.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27Xlibtbl:= CharacterTable( "4.HS.2" );;[127X[104X
    [4X[25Xgap>[125X [27XIsRecord( TransformingPermutationsCharacterTables( result[1].table,[127X[104X
    [4X[25X>[125X [27X                 libtbl ) );[127X[104X
    [4X[28Xtrue[128X[104X
  [4X[32X[104X
  
  [33X[0;0Y(The following paragraphs have been added in May 2006.)[133X
  
  [33X[0;0YThe  Brauer tables of [22XN = 2.G.2[122X can be constructed as in Section [14X2.4-3[114X. Note
  that  the  Brauer  tables  of  [22XC  = 2.G[122X and of [22XN / Z = G.2[122X are automatically
  available  because  the  ordinary tables constructed above arose as a direct
  product and as an isoclinic table of a direct product, and the [5XGAP[105X Character
  Table Library contains the Brauer tables of the direct factors involved.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XStoreFusion( tblC, result[1].MGfusMGA, result[1].table );[127X[104X
    [4X[25Xgap>[125X [27XForAll( PrimeDivisors( Size( result[1].table ) ),[127X[104X
    [4X[25X>[125X [27X           p -> IsRecord( TransformingPermutationsCharacterTables([127X[104X
    [4X[25X>[125X [27X                    BrauerTableOfTypeMGA( tblC mod p, tblNbar mod p,[127X[104X
    [4X[25X>[125X [27X                        result[1].table ).table, libtbl mod p ) ) );[127X[104X
    [4X[28Xtrue[128X[104X
  [4X[32X[104X
  
  [33X[0;0YHere  it is advantageous that the Brauer table of [22XC / Z = G[122X is not needed in
  the construction, since [5XGAP[105X does not know how to compute the [22Xp[122X-modular table
  of  the ordinary table of [22XG[122X constructed above. Of course we have [22XG ≅ 2 × HS[122X,
  and the [22Xp[122X-modular table of [22XHS[122X is known, but in the construction of the table
  of  [22XG[122X  as  a factor of the table of [22X2.G[122X, the information is missing that the
  nonsolvable  simple direct factor of [22X2.G[122X corresponds to the library table of
  [22XHS[122X.[133X
  
  
  [1X2.4-13 [33X[0;0YThe Character Tables of [22X4.A_6.2_3[122X[101X[1X, [22X12.A_6.2_3[122X[101X[1X, and [22X4.L_2(25).2_3[122X[101X[1X[133X[101X
  
  [33X[0;0YFor the [21Xbroken box[121X cases in the [5XAtlas[105X (see [CCN+85, p. xxiv]), the character
  tables   can   be  constructed  with  the  [22XM.G.A[122X  construction  method  from
  Section [14X2.3-1[114X.  (The  situation  with [22X9.U_3(8).3_3[122X is more complicated, this
  group will be considered in Section [14X2.4-16[114X.)[133X
  
  [33X[0;0YThe  group  [22XN = 4.A_6.2_3[122X (see [CCN+85, p. 5]) can be described as an upward
  extension  of the normal subgroup [22XC ≅ 4.A_6[122X –which is a central product of [22XU
  =  2.A_6[122X  and a cyclic group [22X⟨ g ⟩[122X of order [22X4[122X– by a cyclic group of order [22X2[122X,
  such that the factor group of [22XN[122X by the central subgroup [22XZ = ⟨ g^2 ⟩[122X of order
  [22X2[122X  is  isomorphic  to  a subdirect product [22XoverlineN[122X of [22XM_10 = A_6.2_3[122X and a
  cyclic  group of order [22X4[122X and that [22XN[122X acts nontrivially on its normal subgroup
  [22X⟨ g ⟩[122X.[133X
  
                                   N
                                   │
                                   C
                                  ╱ ╲
                                 ╱   U
                               ⟨g⟩  ╱
                                 ╲ ╱
                                  Z
                                  │
                                  1
  
  [33X[0;0YThus  [22XN[122X has the structure [22X2.G.2[122X, with [22X2.G = C[122X and [22XG.2 = overlineN[122X. These two
  groups  are  isoclinic  variants of [22X2 × 2.A_6[122X and of [22X2 × M_10[122X, respectively.
  Each  element  in  [22XN  ∖  C[122X  inverts  [22Xg[122X, so it acts fixed point freely on the
  faithful    irreducible    characters    of    [22XC[122X.    Hence    we   can   use
  [2XPossibleCharacterTablesOfTypeMGA[102X ([14XCTblLib: PossibleCharacterTablesOfTypeMGA[114X)
  for  constructing  the character table of [22XN[122X from the tables of [22XC[122X and [22XN/Z[122X and
  the action of [22XN[122X on the classes of [22XC[122X.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27Xc2:= CharacterTable( "Cyclic", 2 );;[127X[104X
    [4X[25Xgap>[125X [27X2a6:= CharacterTable( "2.A6" );;[127X[104X
    [4X[25Xgap>[125X [27XtblC:= CharacterTableIsoclinic( 2a6 * c2 );;[127X[104X
    [4X[25Xgap>[125X [27Xord2:= Filtered( ClassPositionsOfNormalSubgroups( tblC ),[127X[104X
    [4X[25X>[125X [27X              x -> Length( x ) = 2 );[127X[104X
    [4X[28X[ [ 1, 3 ] ][128X[104X
    [4X[25Xgap>[125X [27XtblG:= tblC / ord2[1];;[127X[104X
    [4X[25Xgap>[125X [27XtblNbar:= CharacterTableIsoclinic( CharacterTable( "A6.2_3" ) * c2 );;[127X[104X
    [4X[25Xgap>[125X [27Xfus:= PossibleClassFusions( tblG, tblNbar );[127X[104X
    [4X[28X[ [ 1, 2, 3, 4, 5, 6, 5, 6, 7, 8, 9, 10, 9, 10 ] ][128X[104X
    [4X[25Xgap>[125X [27XStoreFusion( tblG, fus[1], tblNbar );[127X[104X
    [4X[25Xgap>[125X [27Xelms:= PossibleActionsForTypeMGA( tblC, tblG, tblNbar );[127X[104X
    [4X[28X[ [ [ 1 ], [ 2 ], [ 3 ], [ 4 ], [ 5 ], [ 6 ], [ 7, 11 ], [ 8, 12 ], [128X[104X
    [4X[28X      [ 9, 13 ], [ 10, 14 ], [ 15, 17 ], [ 16, 18 ], [ 19, 23 ], [128X[104X
    [4X[28X      [ 20, 24 ], [ 21, 25 ], [ 22, 26 ] ], [128X[104X
    [4X[28X  [ [ 1 ], [ 2, 4 ], [ 3 ], [ 5 ], [ 6 ], [ 7, 11 ], [ 8, 14 ], [128X[104X
    [4X[28X      [ 9, 13 ], [ 10, 12 ], [ 15 ], [ 16, 18 ], [ 17 ], [ 19, 23 ], [128X[104X
    [4X[28X      [ 20, 26 ], [ 21, 25 ], [ 22, 24 ] ], [128X[104X
    [4X[28X  [ [ 1 ], [ 2, 4 ], [ 3 ], [ 5 ], [ 6 ], [ 7, 11 ], [ 8, 14 ], [128X[104X
    [4X[28X      [ 9, 13 ], [ 10, 12 ], [ 15, 17 ], [ 16 ], [ 18 ], [ 19, 23 ], [128X[104X
    [4X[28X      [ 20, 26 ], [ 21, 25 ], [ 22, 24 ] ] ][128X[104X
    [4X[25Xgap>[125X [27Xposs:= List( elms, pi -> PossibleCharacterTablesOfTypeMGA([127X[104X
    [4X[25X>[125X [27X                tblC, tblG, tblNbar, pi, "4.A6.2_3" ) );[127X[104X
    [4X[28X[ [  ], [  ], [128X[104X
    [4X[28X  [ [128X[104X
    [4X[28X      rec( [128X[104X
    [4X[28X          MGfusMGA := [ 1, 2, 3, 2, 4, 5, 6, 7, 8, 9, 6, 9, 8, 7, 10, [128X[104X
    [4X[28X              11, 10, 12, 13, 14, 15, 16, 13, 16, 15, 14 ], [128X[104X
    [4X[28X          table := CharacterTable( "4.A6.2_3" ) ) ] ][128X[104X
  [4X[32X[104X
  
  [33X[0;0YSo  we  get  a  unique  solution.  It  coincides with the character table of
  [22X4.A_6.2_3[122X that is stored in the [5XGAP[105X Character Table Library.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27Xt:= poss[3][1].table;;[127X[104X
    [4X[25Xgap>[125X [27XIsRecord( TransformingPermutationsCharacterTables( t,[127X[104X
    [4X[25X>[125X [27X                 CharacterTable( "4.A6.2_3" ) ) );[127X[104X
    [4X[28Xtrue[128X[104X
  [4X[32X[104X
  
  [33X[0;0YNote that the first two candidates for the action lead to tables that do not
  admit  a  [22X2[122X-power  map.  In  fact  the [22X2[122X-power map of the character table of
  [22X4.A_6.2_3[122X  is  not  uniquely  determined  by the matrix of character values.
  However,  the  [22X2[122X-power map is unique up to automorphisms of this matrix; the
  function              [2XPossibleCharacterTablesOfTypeMGA[102X             ([14XCTblLib:
  PossibleCharacterTablesOfTypeMGA[114X)  takes this into account, and returns only
  representatives, in this case one table.[133X
  
  [33X[0;0YAs is mentioned in the [5XAtlas[105X (see [CCN+85, Section 6.7]), the group [22XΓ L(2,9)[122X
  contains subgroups of the structure [22X4.A_6.2_3[122X. We can find them as follows.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27Xg:= GammaL(2,9);;[127X[104X
    [4X[25Xgap>[125X [27Xphi:= IsomorphismPermGroup( g );;[127X[104X
    [4X[25Xgap>[125X [27Ximg:= Image( phi );;[127X[104X
    [4X[25Xgap>[125X [27Xder:= DerivedSubgroup( img );;[127X[104X
    [4X[25Xgap>[125X [27Xderder:= DerivedSubgroup( der );;[127X[104X
    [4X[25Xgap>[125X [27XIndex( img, derder );[127X[104X
    [4X[28X16[128X[104X
    [4X[25Xgap>[125X [27Xinter:= Filtered( IntermediateSubgroups( img, derder ).subgroups,[127X[104X
    [4X[25X>[125X [27X               s -> Size( s ) = 4 * Size( derder ) and[127X[104X
    [4X[25X>[125X [27X                    IsCyclic( CommutatorFactorGroup( s ) ) and[127X[104X
    [4X[25X>[125X [27X                    Size( Centre( s ) ) = 2 );;[127X[104X
    [4X[25Xgap>[125X [27XLength( inter );[127X[104X
    [4X[28X2[128X[104X
    [4X[25Xgap>[125X [27XForAll( inter, x -> IsConjugate( img, inter[1], x ) );[127X[104X
    [4X[28Xtrue[128X[104X
    [4X[25Xgap>[125X [27XIsRecord( TransformingPermutationsCharacterTables( t,[127X[104X
    [4X[25X>[125X [27X                 CharacterTable( inter[1] ) ) );[127X[104X
    [4X[28Xtrue[128X[104X
  [4X[32X[104X
  
  [33X[0;0YThe  [5XAtlas[105X  states  in [CCN+85,  Section  6.7]  that there is a group of the
  structure  [22X2^2.A_6.2_3[122X  that  is isoclinic with [22X4.A_6.2_3[122X. We construct also
  the   character   table  of  the  [22X2^2.A_6.2_3[122X  type  group  with  the  [22XM.G.A[122X
  construction method from Section [14X2.3-1[114X.[133X
  
  [33X[0;0YThe  group  [22XN  =  2^2.A_6.2_3[122X can be described as an upward extension of the
  normal  subgroup  [22XC  ≅ 2 × 2.A_6[122X by a cyclic group of order [22X2[122X, such that the
  factor  group of [22XN[122X by the central subgroup [22XZ[122X of order [22X2[122X that is contained in
  [22XU  =  C'  ≅  2.A_6[122X  is isomorphic to a subdirect product [22XoverlineN[122X of [22XM_10 =
  A_6.2_3[122X  and  a  cyclic group of order [22X4[122X and that [22XN[122X acts nontrivially on the
  centre of [22XC[122X, which is a Klein four group.[133X
  
                                   N
                                   │
                                   C
                                  ╱ ╲
                                 ╱   U
                                .   ╱
                               ╱│╲ ╱
                              . . Z
                               ╲│╱
                                1
  
  [33X[0;0YThus  [22XN[122X  has  the  structure  [22X2.G.2[122X, with [22X2.G = C[122X and [22XG.2 = overlineN[122X. These
  latter  group is an isoclinic variant of [22X2 × M_10[122X, as in the construction of
  [22X4.A_6.2_3[122X.  Each  element in [22XN ∖ C[122X swaps the two involutions in [22XZ(C) ∖ Z[122X, so
  it  acts  fixed  point  freely  on  those  irreducible characters of [22XC[122X whose
  kernels  do not contain [22XZ[122X. Hence we can use [2XPossibleCharacterTablesOfTypeMGA[102X
  ([14XCTblLib:  PossibleCharacterTablesOfTypeMGA[114X)  for constructing the character
  table  of  [22XN[122X from the tables of [22XC[122X and [22XN/Z[122X and the action of [22XN[122X on the classes
  of [22XC[122X.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XtblC:= 2a6 * c2;;[127X[104X
    [4X[25Xgap>[125X [27Xz:= GetFusionMap( 2a6, tblC ){ ClassPositionsOfCentre( 2a6 ) };[127X[104X
    [4X[28X[ 1, 3 ][128X[104X
    [4X[25Xgap>[125X [27XtblG:= tblC / z;;[127X[104X
    [4X[25Xgap>[125X [27XtblNbar:= CharacterTableIsoclinic( CharacterTable( "A6.2_3" ) * c2 );;[127X[104X
    [4X[25Xgap>[125X [27Xfus:= PossibleClassFusions( tblG, tblNbar );[127X[104X
    [4X[28X[ [ 1, 2, 3, 4, 5, 6, 5, 6, 7, 8, 9, 10, 9, 10 ] ][128X[104X
    [4X[25Xgap>[125X [27XStoreFusion( tblG, fus[1], tblNbar );[127X[104X
    [4X[25Xgap>[125X [27Xelms:= PossibleActionsForTypeMGA( tblC, tblG, tblNbar );[127X[104X
    [4X[28X[ [ [ 1 ], [ 2 ], [ 3 ], [ 4 ], [ 5 ], [ 6 ], [ 7, 11 ], [ 8, 12 ], [128X[104X
    [4X[28X      [ 9, 13 ], [ 10, 14 ], [ 15, 17 ], [ 16, 18 ], [ 19, 23 ], [128X[104X
    [4X[28X      [ 20, 24 ], [ 21, 25 ], [ 22, 26 ] ], [128X[104X
    [4X[28X  [ [ 1 ], [ 2, 4 ], [ 3 ], [ 5 ], [ 6 ], [ 7, 11 ], [ 8, 14 ], [128X[104X
    [4X[28X      [ 9, 13 ], [ 10, 12 ], [ 15 ], [ 16, 18 ], [ 17 ], [ 19, 23 ], [128X[104X
    [4X[28X      [ 20, 26 ], [ 21, 25 ], [ 22, 24 ] ], [128X[104X
    [4X[28X  [ [ 1 ], [ 2, 4 ], [ 3 ], [ 5 ], [ 6 ], [ 7, 11 ], [ 8, 14 ], [128X[104X
    [4X[28X      [ 9, 13 ], [ 10, 12 ], [ 15, 17 ], [ 16 ], [ 18 ], [ 19, 23 ], [128X[104X
    [4X[28X      [ 20, 26 ], [ 21, 25 ], [ 22, 24 ] ] ][128X[104X
    [4X[25Xgap>[125X [27Xposs:= List( elms, pi -> PossibleCharacterTablesOfTypeMGA([127X[104X
    [4X[25X>[125X [27X                tblC, tblG, tblNbar, pi, "2^2.A6.2_3" ) );[127X[104X
    [4X[28X[ [  ], [  ], [128X[104X
    [4X[28X  [ [128X[104X
    [4X[28X      rec( [128X[104X
    [4X[28X          MGfusMGA := [ 1, 2, 3, 2, 4, 5, 6, 7, 8, 9, 6, 9, 8, 7, 10, [128X[104X
    [4X[28X              11, 10, 12, 13, 14, 15, 16, 13, 16, 15, 14 ], [128X[104X
    [4X[28X          table := CharacterTable( "2^2.A6.2_3" ) ) ] ][128X[104X
  [4X[32X[104X
  
  [33X[0;0YSo we get a unique solution.[133X
  
  [33X[0;0YThe  group [22XN = 12.A_6.2_3[122X (see [CCN+85, p. 5]) can be described as an upward
  extension of the normal subgroup [22XC ≅ 12.A_6[122X –which is a central product of [22XU
  =  6.A_6[122X  and a cyclic group [22X⟨ g ⟩[122X of order [22X4[122X– by a cyclic group of order [22X2[122X,
  such that the factor group of [22XN[122X by the central subgroup [22XZ = ⟨ g^2 ⟩[122X of order
  [22X2[122X is isomorphic to a subdirect product [22XoverlineN[122X of [22X3.M_10 = 3.A_6.2_3[122X and a
  cyclic  group of order [22X4[122X and that [22XN[122X acts nontrivially on its normal subgroup
  [22X⟨ g ⟩[122X.[133X
  
  [33X[0;0YNote that [22XN[122X has a central subgroup [22XY[122X, say, of order [22X3[122X, so the situation here
  differs  from  that  for  groups  of  the  type [22X12.G.2[122X with [22XG[122X one of [22XL_3(4)[122X,
  [22XU_4(3)[122X,  where  the  action  on  the  normal  subgroup  of  order  three  is
  nontrivial.[133X
  
                                   N
                                   │
                                   C
                                  ╱ ╲
                                 ╱   U
                                .   ╱
                               ╱ ╲ ╱
                             ⟨g⟩  .
                               ╲ ╱│
                                Z Y
                                │╱
                                1
  
  [33X[0;0YThus  [22XN[122X has the structure [22X2.G.2[122X, with [22X2.G = C[122X and [22XG.2 = overlineN[122X. These two
  groups  are isoclinic variants of [22X2 × 6.A_6[122X and of [22X2 × 3.M_10[122X, respectively.
  Each  element  in  [22XN  ∖  C[122X  inverts  [22Xg[122X, so it acts fixed point freely on the
  faithful    irreducible    characters    of    [22XC[122X.    Hence    we   can   use
  [2XPossibleCharacterTablesOfTypeMGA[102X ([14XCTblLib: PossibleCharacterTablesOfTypeMGA[114X)
  for  constructing  the character table of [22XN[122X from the tables of [22XC[122X and [22XN/Z[122X and
  the action of [22XN[122X on the classes of [22XC[122X.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27Xc2:= CharacterTable( "Cyclic", 2 );;[127X[104X
    [4X[25Xgap>[125X [27XtblC:= CharacterTableIsoclinic( CharacterTable( "6.A6" ) * c2 );;[127X[104X
    [4X[25Xgap>[125X [27Xord2:= Filtered( ClassPositionsOfNormalSubgroups( tblC ),[127X[104X
    [4X[25X>[125X [27X              x -> Length( x ) = 2 );[127X[104X
    [4X[28X[ [ 1, 7 ] ][128X[104X
    [4X[25Xgap>[125X [27XtblG:= tblC / ord2[1];;[127X[104X
    [4X[25Xgap>[125X [27XtblNbar:= CharacterTableIsoclinic( CharacterTable( "3.A6.2_3" ) * c2 );;[127X[104X
    [4X[25Xgap>[125X [27Xfus:= PossibleClassFusions( tblG, tblNbar );[127X[104X
    [4X[28X[ [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 13, 14, 15, 16, [128X[104X
    [4X[28X      17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 21, 22, 23, 24, 25, 26 ][128X[104X
    [4X[28X    , [128X[104X
    [4X[28X  [ 1, 2, 5, 6, 3, 4, 7, 8, 11, 12, 9, 10, 13, 14, 13, 14, 15, 16, [128X[104X
    [4X[28X      19, 20, 17, 18, 21, 22, 25, 26, 23, 24, 21, 22, 25, 26, 23, 24 [128X[104X
    [4X[28X     ] ][128X[104X
    [4X[25Xgap>[125X [27Xrep:= RepresentativesFusions( Group( () ), fus, tblNbar );[127X[104X
    [4X[28X[ [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 13, 14, 15, 16, [128X[104X
    [4X[28X      17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 21, 22, 23, 24, 25, 26 [128X[104X
    [4X[28X     ] ][128X[104X
    [4X[25Xgap>[125X [27XStoreFusion( tblG, rep[1], tblNbar );[127X[104X
    [4X[25Xgap>[125X [27Xelms:= PossibleActionsForTypeMGA( tblC, tblG, tblNbar );[127X[104X
    [4X[28X[ [ [ 1 ], [ 2 ], [ 3 ], [ 4 ], [ 5 ], [ 6 ], [ 7 ], [ 8 ], [ 9 ], [128X[104X
    [4X[28X      [ 10 ], [ 11 ], [ 12 ], [ 13 ], [ 14 ], [ 15 ], [ 16 ], [ 17 ], [128X[104X
    [4X[28X      [ 18 ], [ 19, 23 ], [ 20, 24 ], [ 21, 25 ], [ 22, 26 ], [128X[104X
    [4X[28X      [ 27, 33 ], [ 28, 34 ], [ 29, 35 ], [ 30, 36 ], [ 31, 37 ], [128X[104X
    [4X[28X      [ 32, 38 ], [ 39, 51 ], [ 40, 52 ], [ 41, 53 ], [ 42, 54 ], [128X[104X
    [4X[28X      [ 43, 55 ], [ 44, 56 ], [ 45, 57 ], [ 46, 58 ], [ 47, 59 ], [128X[104X
    [4X[28X      [ 48, 60 ], [ 49, 61 ], [ 50, 62 ] ], [128X[104X
    [4X[28X  [ [ 1 ], [ 2, 8 ], [ 3 ], [ 4, 10 ], [ 5 ], [ 6, 12 ], [ 7 ], [128X[104X
    [4X[28X      [ 9 ], [ 11 ], [ 13 ], [ 14 ], [ 15 ], [ 16 ], [ 17 ], [ 18 ], [128X[104X
    [4X[28X      [ 19, 23 ], [ 20, 26 ], [ 21, 25 ], [ 22, 24 ], [ 27 ], [128X[104X
    [4X[28X      [ 28, 34 ], [ 29 ], [ 30, 36 ], [ 31 ], [ 32, 38 ], [ 33 ], [128X[104X
    [4X[28X      [ 35 ], [ 37 ], [ 39, 51 ], [ 40, 58 ], [ 41, 53 ], [ 42, 60 ], [128X[104X
    [4X[28X      [ 43, 55 ], [ 44, 62 ], [ 45, 57 ], [ 46, 52 ], [ 47, 59 ], [128X[104X
    [4X[28X      [ 48, 54 ], [ 49, 61 ], [ 50, 56 ] ], [128X[104X
    [4X[28X  [ [ 1 ], [ 2, 8 ], [ 3 ], [ 4, 10 ], [ 5 ], [ 6, 12 ], [ 7 ], [128X[104X
    [4X[28X      [ 9 ], [ 11 ], [ 13 ], [ 14 ], [ 15 ], [ 16 ], [ 17 ], [ 18 ], [128X[104X
    [4X[28X      [ 19, 23 ], [ 20, 26 ], [ 21, 25 ], [ 22, 24 ], [ 27, 33 ], [128X[104X
    [4X[28X      [ 28 ], [ 29, 35 ], [ 30 ], [ 31, 37 ], [ 32 ], [ 34 ], [ 36 ], [128X[104X
    [4X[28X      [ 38 ], [ 39, 51 ], [ 40, 58 ], [ 41, 53 ], [ 42, 60 ], [128X[104X
    [4X[28X      [ 43, 55 ], [ 44, 62 ], [ 45, 57 ], [ 46, 52 ], [ 47, 59 ], [128X[104X
    [4X[28X      [ 48, 54 ], [ 49, 61 ], [ 50, 56 ] ] ][128X[104X
    [4X[25Xgap>[125X [27Xposs:= List( elms, pi -> PossibleCharacterTablesOfTypeMGA([127X[104X
    [4X[25X>[125X [27X                tblC, tblG, tblNbar, pi, "12.A6.2_3" ) );[127X[104X
    [4X[28X[ [  ], [  ], [128X[104X
    [4X[28X  [ [128X[104X
    [4X[28X      rec( [128X[104X
    [4X[28X          MGfusMGA := [ 1, 2, 3, 4, 5, 6, 7, 2, 8, 4, 9, 6, 10, 11, 12, [128X[104X
    [4X[28X              13, 14, 15, 16, 17, 18, 19, 16, 19, 18, 17, 20, 21, 22, [128X[104X
    [4X[28X              23, 24, 25, 20, 26, 22, 27, 24, 28, 29, 30, 31, 32, 33, [128X[104X
    [4X[28X              34, 35, 36, 37, 38, 39, 40, 29, 36, 31, 38, 33, 40, 35, [128X[104X
    [4X[28X              30, 37, 32, 39, 34 ], [128X[104X
    [4X[28X          table := CharacterTable( "12.A6.2_3" ) ) ] ][128X[104X
  [4X[32X[104X
  
  [33X[0;0YSo  we  get  again  a unique solution. It coincides with the character table
  that is stored in the [5XGAP[105X Character Table Library.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XIsRecord( TransformingPermutationsCharacterTables( poss[3][1].table,[127X[104X
    [4X[25X>[125X [27X                 CharacterTable( "12.A6.2_3" ) ) );[127X[104X
    [4X[28Xtrue[128X[104X
  [4X[32X[104X
  
  [33X[0;0YThe  construction  of  the  character table of [22X4.L_2(25).2_3[122X is analogous to
  that  of  the  table of [22X4.A_6.2_3[122X. We get a unique table that coincides with
  the table in the [5XGAP[105X library.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27Xc2:= CharacterTable( "Cyclic", 2 );;[127X[104X
    [4X[25Xgap>[125X [27XtblC:= CharacterTableIsoclinic( CharacterTable( "2.L2(25)" ) * c2 );;[127X[104X
    [4X[25Xgap>[125X [27Xord2:= Filtered( ClassPositionsOfNormalSubgroups( tblC ),[127X[104X
    [4X[25X>[125X [27X              x -> Length( x ) = 2 );[127X[104X
    [4X[28X[ [ 1, 3 ] ][128X[104X
    [4X[25Xgap>[125X [27XtblG:= tblC / ord2[1];;[127X[104X
    [4X[25Xgap>[125X [27XtblNbar:= CharacterTableIsoclinic( CharacterTable( "L2(25).2_3" ) * c2 );;[127X[104X
    [4X[25Xgap>[125X [27Xfus:= PossibleClassFusions( tblG, tblNbar );[127X[104X
    [4X[28X[ [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 9, 10, 11, 12, 13, 14, 13, 14, 15, [128X[104X
    [4X[28X      16, 15, 16, 17, 18, 17, 18, 19, 20, 19, 20 ], [128X[104X
    [4X[28X  [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 9, 10, 11, 12, 13, 14, 13, 14, 17, [128X[104X
    [4X[28X      18, 17, 18, 19, 20, 19, 20, 15, 16, 15, 16 ], [128X[104X
    [4X[28X  [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 9, 10, 11, 12, 13, 14, 13, 14, 19, [128X[104X
    [4X[28X      20, 19, 20, 15, 16, 15, 16, 17, 18, 17, 18 ] ][128X[104X
    [4X[25Xgap>[125X [27Xrep:= RepresentativesFusions( Group( () ), fus, tblNbar );[127X[104X
    [4X[28X[ [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 9, 10, 11, 12, 13, 14, 13, 14, 15, [128X[104X
    [4X[28X      16, 15, 16, 17, 18, 17, 18, 19, 20, 19, 20 ] ][128X[104X
    [4X[25Xgap>[125X [27XStoreFusion( tblG, rep[1], tblNbar );[127X[104X
    [4X[25Xgap>[125X [27Xelms:= PossibleActionsForTypeMGA( tblC, tblG, tblNbar );[127X[104X
    [4X[28X[ [ [ 1 ], [ 2 ], [ 3 ], [ 4 ], [ 5 ], [ 6 ], [ 7 ], [ 8 ], [ 9 ], [128X[104X
    [4X[28X      [ 10 ], [ 11, 13 ], [ 12, 14 ], [ 15, 19 ], [ 16, 20 ], [128X[104X
    [4X[28X      [ 17, 21 ], [ 18, 22 ], [ 23, 25 ], [ 24, 26 ], [ 27, 33 ], [128X[104X
    [4X[28X      [ 28, 34 ], [ 29, 31 ], [ 30, 32 ], [ 35, 39 ], [ 36, 40 ], [128X[104X
    [4X[28X      [ 37, 41 ], [ 38, 42 ], [ 43, 47 ], [ 44, 48 ], [ 45, 49 ], [128X[104X
    [4X[28X      [ 46, 50 ], [ 51, 55 ], [ 52, 56 ], [ 53, 57 ], [ 54, 58 ] ], [128X[104X
    [4X[28X  [ [ 1 ], [ 2, 4 ], [ 3 ], [ 5 ], [ 6 ], [ 7 ], [ 8, 10 ], [ 9 ], [128X[104X
    [4X[28X      [ 11 ], [ 12, 14 ], [ 13 ], [ 15, 19 ], [ 16, 22 ], [ 17, 21 ], [128X[104X
    [4X[28X      [ 18, 20 ], [ 23, 25 ], [ 24 ], [ 26 ], [ 27, 31 ], [ 28, 34 ], [128X[104X
    [4X[28X      [ 29, 33 ], [ 30, 32 ], [ 35, 39 ], [ 36, 42 ], [ 37, 41 ], [128X[104X
    [4X[28X      [ 38, 40 ], [ 43, 47 ], [ 44, 50 ], [ 45, 49 ], [ 46, 48 ], [128X[104X
    [4X[28X      [ 51, 55 ], [ 52, 58 ], [ 53, 57 ], [ 54, 56 ] ], [128X[104X
    [4X[28X  [ [ 1 ], [ 2, 4 ], [ 3 ], [ 5 ], [ 6 ], [ 7 ], [ 8, 10 ], [ 9 ], [128X[104X
    [4X[28X      [ 11, 13 ], [ 12 ], [ 14 ], [ 15, 19 ], [ 16, 22 ], [ 17, 21 ], [128X[104X
    [4X[28X      [ 18, 20 ], [ 23, 25 ], [ 24 ], [ 26 ], [ 27, 33 ], [ 28, 32 ], [128X[104X
    [4X[28X      [ 29, 31 ], [ 30, 34 ], [ 35, 39 ], [ 36, 42 ], [ 37, 41 ], [128X[104X
    [4X[28X      [ 38, 40 ], [ 43, 47 ], [ 44, 50 ], [ 45, 49 ], [ 46, 48 ], [128X[104X
    [4X[28X      [ 51, 55 ], [ 52, 58 ], [ 53, 57 ], [ 54, 56 ] ] ][128X[104X
    [4X[25Xgap>[125X [27Xposs:= List( elms, pi -> PossibleCharacterTablesOfTypeMGA([127X[104X
    [4X[25X>[125X [27X                tblC, tblG, tblNbar, pi, "4.L2(25).2_3" ) );[127X[104X
    [4X[28X[ [  ], [  ], [128X[104X
    [4X[28X  [ [128X[104X
    [4X[28X      rec( [128X[104X
    [4X[28X          MGfusMGA := [ 1, 2, 3, 2, 4, 5, 6, 7, 8, 7, 9, 10, 9, 11, 12, [128X[104X
    [4X[28X              13, 14, 15, 12, 15, 14, 13, 16, 17, 16, 18, 19, 20, 21, [128X[104X
    [4X[28X              22, 21, 20, 19, 22, 23, 24, 25, 26, 23, 26, 25, 24, 27, [128X[104X
    [4X[28X              28, 29, 30, 27, 30, 29, 28, 31, 32, 33, 34, 31, 34, 33, [128X[104X
    [4X[28X              32 ], table := CharacterTable( "4.L2(25).2_3" ) ) ] ][128X[104X
    [4X[25Xgap>[125X [27XIsRecord( TransformingPermutationsCharacterTables( poss[3][1].table,[127X[104X
    [4X[25X>[125X [27X                 CharacterTable( "4.L2(25).2_3" ) ) );[127X[104X
    [4X[28Xtrue[128X[104X
  [4X[32X[104X
  
  [33X[0;0YNote  that  the  group [22XΓ L(2,25)[122X does [13Xnot[113X contain subgroups of the structure
  [22X4.L_2(25).2_3[122X,  since  [22XΓ L(2,25)[122X acts on its subgroup of scalar matrices via
  mapping  each element to its fifth power, thus the central subgroup of order
  four in GL[22X(2,25)[122X is central also in [22XΓ L(2,25)[122X.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27Xg:= GammaL(2,25);;[127X[104X
    [4X[25Xgap>[125X [27Xphi:= IsomorphismPermGroup( g );;[127X[104X
    [4X[25Xgap>[125X [27Ximg:= Image( phi );;[127X[104X
    [4X[25Xgap>[125X [27Xder:= DerivedSubgroup( img );;[127X[104X
    [4X[25Xgap>[125X [27Xderder:= DerivedSubgroup( der );;[127X[104X
    [4X[25Xgap>[125X [27XIndex( img, derder );[127X[104X
    [4X[28X48[128X[104X
    [4X[25Xgap>[125X [27Xinter:= Filtered( IntermediateSubgroups( img, derder ).subgroups,[127X[104X
    [4X[25X>[125X [27X               s -> Size( s ) = 4 * Size( derder ) and[127X[104X
    [4X[25X>[125X [27X                    IsCyclic( CommutatorFactorGroup( s ) ) and[127X[104X
    [4X[25X>[125X [27X                    Size( Centre( s ) ) = 2 );[127X[104X
    [4X[28X[  ][128X[104X
  [4X[32X[104X
  
  [33X[0;0YIn  order  to  construct  a  representation  of  a  group  of  the structure
  [22X4.L_2(25).2_3[122X, we can use the function [10XCyclicExtensions[110X from the [5XGAP[105X package
  [5XGrpConst[105X. We start from the index two subgroup [22X4.L_2(25)[122X, which is a central
  product  of  [22XSL(2,25)[122X and a cyclic group of order four, and find exactly one
  upwards  extension  by  a cyclic group of order two, up to isomorphism, with
  the required properties.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27Xc:= Centralizer( img, derder );;[127X[104X
    [4X[25Xgap>[125X [27XSize( c );  IsCyclic( c );[127X[104X
    [4X[28X24[128X[104X
    [4X[28Xtrue[128X[104X
    [4X[25Xgap>[125X [27Xcgen:= MinimalGeneratingSet( c );;[127X[104X
    [4X[25Xgap>[125X [27Xfour:= cgen[1]^6;;[127X[104X
    [4X[25Xgap>[125X [27Xs:= ClosureGroup( derder, four );;[127X[104X
    [4X[25Xgap>[125X [27XLoadPackage( "GrpConst", false );[127X[104X
    [4X[28Xtrue[128X[104X
    [4X[25Xgap>[125X [27Xfilt:= Filtered( CyclicExtensions( s, 2 ),[127X[104X
    [4X[25X>[125X [27X              x -> Size( Centre( x ) ) = 2 and[127X[104X
    [4X[25X>[125X [27X                   IsCyclic( CommutatorFactorGroup( x ) ) );;[127X[104X
    [4X[25Xgap>[125X [27XLength( filt );[127X[104X
    [4X[28X2[128X[104X
    [4X[25Xgap>[125X [27XIsomorphismGroups( filt[1], filt[2] ) <> fail;[127X[104X
    [4X[28Xtrue[128X[104X
  [4X[32X[104X
  
  [33X[0;0YThe character table of this group coincides with the library table.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XTransformingPermutationsCharacterTables( CharacterTable( filt[1] ),[127X[104X
    [4X[25X>[125X [27X       CharacterTable( "4.L2(25).2_3" ) ) <> fail;[127X[104X
    [4X[28Xtrue[128X[104X
  [4X[32X[104X
  
  
  [1X2.4-14 [33X[0;0YThe Character Table of [22X4.L_2(49).2_3[122X[101X[1X (December 2020)[133X[101X
  
  [33X[0;0YThe  character  tables  of the simple group [22XL_2(49)[122X and of its extensions do
  not  appear in the [5XAtlas[105X of Finite Groups [CCN+85], but they may be regarded
  as  [5XAtlas[105X tables because a data file in the format used to produce the [5XAtlas[105X
  has been available for a long time, as is stated in [JLPW95, Appendix 2].[133X
  
  [33X[0;0YAnalogous to [22XL_2(9) ≅ A_6[122X and [22XL_2(25)[122X, see Section [14X2.4-13[114X, the [5XAtlas[105X map for
  [22XG = L_2(49)[122X shows a [21Xbroken box[121X, since there is no group of the form [22X2.G.2_3[122X,
  and  a group of the structure [22X4.G.2_3[122X can be considered instead, which has a
  normal subgroup isomorphic with [22X2.(2 × G)[122X and a factor group isomorphic with
  [22X(2  ×  G).2_3[122X,  see Section [14X2.4-13[114X. Having its character table available has
  the  effect that the functions [2XDisplayAtlasMap[102X ([14XCTblLib: DisplayAtlasMap for
  the name of a simple group[114X) and [2XBrowseAtlasTable[102X ([14XCTblLib: BrowseAtlasTable[114X)
  work with input [10X"L2(49)"[110X.[133X
  
  [33X[0;0YWe construct the character table of [22X4.L_2(49).2_3[122X in the same way as for the
  extensions of [22XL_2(9)[122X and [22XL_2(25)[122X. There is a unique solution.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27Xc2:= CharacterTable( "Cyclic", 2 );;[127X[104X
    [4X[25Xgap>[125X [27X2l:= CharacterTable( "2.L2(49)" );;[127X[104X
    [4X[25Xgap>[125X [27XtblC:= CharacterTableIsoclinic( 2l * c2 );;[127X[104X
    [4X[25Xgap>[125X [27Xord2:= Filtered( ClassPositionsOfNormalSubgroups( tblC ),[127X[104X
    [4X[25X>[125X [27X              x -> Length( x ) = 2 );[127X[104X
    [4X[28X[ [ 1, 3 ] ][128X[104X
    [4X[25Xgap>[125X [27XtblG:= tblC / ord2[1];;[127X[104X
    [4X[25Xgap>[125X [27XtblNbar:= CharacterTableIsoclinic([127X[104X
    [4X[25X>[125X [27X                 CharacterTable( "L2(49).2_3" ) * c2 );;[127X[104X
    [4X[25Xgap>[125X [27Xfus:= PossibleClassFusions( tblG, tblNbar );;[127X[104X
    [4X[25Xgap>[125X [27XLength( fus );[127X[104X
    [4X[28X10[128X[104X
    [4X[25Xgap>[125X [27XStoreFusion( tblG, fus[1], tblNbar );[127X[104X
    [4X[25Xgap>[125X [27Xelms:= PossibleActionsForTypeMGA( tblC, tblG, tblNbar );;[127X[104X
    [4X[25Xgap>[125X [27Xposs:= List( elms, pi -> PossibleCharacterTablesOfTypeMGA([127X[104X
    [4X[25X>[125X [27X                tblC, tblG, tblNbar, pi, "4.L2(49).2_3" ) );;[127X[104X
    [4X[25Xgap>[125X [27XList( poss, Length );[127X[104X
    [4X[28X[ 0, 0, 1 ][128X[104X
    [4X[25Xgap>[125X [27Xt:= poss[3][1].table;[127X[104X
    [4X[28XCharacterTable( "4.L2(49).2_3" )[128X[104X
  [4X[32X[104X
  
  [33X[0;0YAnalogous to the situation with [22XL_2(9)[122X, a group of the desired structure can
  be  found  inside  the semilinear group [22XΓ[122XL[22X(2,49)[122X. In fact, there is a unique
  class  of  subgroups in [22XΓ[122XL[22X(2,49)[122X that contain SL[22X(2,49) ≅ 2.G[122X, have the right
  order, have cyclic commutator factor group, and centre of order [22X2[122X.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27Xg:= GammaL(2,49);;[127X[104X
    [4X[25Xgap>[125X [27Xphi:= IsomorphismPermGroup( g );;[127X[104X
    [4X[25Xgap>[125X [27Ximg:= Image( phi );;[127X[104X
    [4X[25Xgap>[125X [27Xder:= DerivedSubgroup( img );;[127X[104X
    [4X[25Xgap>[125X [27Xderder:= DerivedSubgroup( der );;[127X[104X
    [4X[25Xgap>[125X [27XIndex( img, derder );[127X[104X
    [4X[28X96[128X[104X
    [4X[25Xgap>[125X [27Xinter:= Filtered( IntermediateSubgroups( img, derder ).subgroups,[127X[104X
    [4X[25X>[125X [27X               s -> Size( s ) = 4 * Size( derder ) and[127X[104X
    [4X[25X>[125X [27X                    IsCyclic( CommutatorFactorGroup( s ) ) and[127X[104X
    [4X[25X>[125X [27X                    Size( Centre( s ) ) = 2 );;[127X[104X
    [4X[25Xgap>[125X [27XLength( inter );                                        [127X[104X
    [4X[28X4[128X[104X
    [4X[25Xgap>[125X [27XForAll( inter, x -> IsConjugate( img, inter[1], x ) );[127X[104X
    [4X[28Xtrue[128X[104X
  [4X[32X[104X
  
  [33X[0;0YThe  character  tables  of  these groups coincide with the table constructed
  above, and with the library table.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XTransformingPermutationsCharacterTables( t,[127X[104X
    [4X[25X>[125X [27X       CharacterTable( inter[1] ) ) <> fail;[127X[104X
    [4X[28Xtrue[128X[104X
    [4X[25Xgap>[125X [27XTransformingPermutationsCharacterTables( t,[127X[104X
    [4X[25X>[125X [27X       CharacterTable( "4.L2(49).2_3" ) ) <> fail;[127X[104X
    [4X[28Xtrue[128X[104X
  [4X[32X[104X
  
  
  [1X2.4-15 [33X[0;0YThe Character Table of [22X4.L_2(81).2_3[122X[101X[1X (December 2020)[133X[101X
  
  [33X[0;0YWe  start with the character-theoretic construction of this table, analogous
  to the cases of [22XL_2(9)[122X, [22XL_2(25)[122X, [22XL_2(49)[122X.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27Xc2:= CharacterTable( "Cyclic", 2 );;[127X[104X
    [4X[25Xgap>[125X [27X2l:= CharacterTable( "2.L2(81)" );;[127X[104X
    [4X[25Xgap>[125X [27XtblC:= CharacterTableIsoclinic( 2l * c2 );;[127X[104X
    [4X[25Xgap>[125X [27Xord2:= Filtered( ClassPositionsOfNormalSubgroups( tblC ),[127X[104X
    [4X[25X>[125X [27X              x -> Length( x ) = 2 );[127X[104X
    [4X[28X[ [ 1, 3 ] ][128X[104X
    [4X[25Xgap>[125X [27XtblG:= tblC / ord2[1];;[127X[104X
    [4X[25Xgap>[125X [27XtblNbar:= CharacterTableIsoclinic([127X[104X
    [4X[25X>[125X [27X                 CharacterTable( "L2(81).2_3" ) * c2 );;[127X[104X
    [4X[25Xgap>[125X [27Xfus:= PossibleClassFusions( tblG, tblNbar );;[127X[104X
    [4X[25Xgap>[125X [27XLength( fus );[127X[104X
    [4X[28X40[128X[104X
    [4X[25Xgap>[125X [27Xfusreps:= RepresentativesFusions( tblG, fus, tblNbar );;[127X[104X
    [4X[25Xgap>[125X [27XLength( fusreps );[127X[104X
    [4X[28X1[128X[104X
    [4X[25Xgap>[125X [27XStoreFusion( tblG, fusreps[1], tblNbar );[127X[104X
    [4X[25Xgap>[125X [27Xelms:= PossibleActionsForTypeMGA( tblC, tblG, tblNbar );;[127X[104X
    [4X[25Xgap>[125X [27Xposs:= List( elms, pi -> PossibleCharacterTablesOfTypeMGA([127X[104X
    [4X[25X>[125X [27X                tblC, tblG, tblNbar, pi, "4.L2(81).2_3" ) );;[127X[104X
    [4X[25Xgap>[125X [27XList( poss, Length );[127X[104X
    [4X[28X[ 0, 0, 1 ][128X[104X
    [4X[25Xgap>[125X [27XTransformingPermutationsCharacterTables( poss[3][1].table,[127X[104X
    [4X[25X>[125X [27X       CharacterTable( "4.L2(81).2_3" ) ) <> fail;[127X[104X
    [4X[28Xtrue[128X[104X
  [4X[32X[104X
  
  [33X[0;0YLike  in the case of [22XL_2(25)[122X, there are [13Xno[113X [22X4.L_2(81).2_3[122X type subgroups in [22XΓ
  L(2,81)[122X.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27Xg:= GammaL(2,81);;[127X[104X
    [4X[25Xgap>[125X [27Xphi:= IsomorphismPermGroup( g );;[127X[104X
    [4X[25Xgap>[125X [27Ximg:= Image( phi );;[127X[104X
    [4X[25Xgap>[125X [27Xder:= DerivedSubgroup( img );;[127X[104X
    [4X[25Xgap>[125X [27Xderder:= DerivedSubgroup( der );;[127X[104X
    [4X[25Xgap>[125X [27XIndex( img, derder );[127X[104X
    [4X[28X320[128X[104X
    [4X[25Xgap>[125X [27Xinter:= Filtered( IntermediateSubgroups( img, derder ).subgroups,[127X[104X
    [4X[25X>[125X [27X               s -> Size( s ) = 4 * Size( derder ) and[127X[104X
    [4X[25X>[125X [27X                    IsCyclic( CommutatorFactorGroup( s ) ) and[127X[104X
    [4X[25X>[125X [27X                    Size( Centre( s ) ) = 2 );;[127X[104X
    [4X[25Xgap>[125X [27XForAll( inter, x -> IsConjugate( img, inter[1], x ) );[127X[104X
    [4X[28Xtrue[128X[104X
    [4X[25Xgap>[125X [27XNrConjugacyClasses( inter[1] );[127X[104X
    [4X[28X52[128X[104X
    [4X[25Xgap>[125X [27XNrConjugacyClasses( CharacterTable( "4.L2(81).2_3" ) );[127X[104X
    [4X[28X112[128X[104X
  [4X[32X[104X
  
  [33X[0;0YThe   subgroups   of   [22XΓ   L(2,81)[122X  constructed  above  have  the  structure
  [22X2.L_2(81).4_1[122X.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27Xt:= CharacterTable( "2.L2(81).4_1" );;[127X[104X
    [4X[25Xgap>[125X [27XNrConjugacyClasses( t );[127X[104X
    [4X[28X52[128X[104X
    [4X[25Xgap>[125X [27XTransformingPermutationsCharacterTables( t,[127X[104X
    [4X[25X>[125X [27X       CharacterTable( inter[1] ) ) <> fail;[127X[104X
    [4X[28Xtrue[128X[104X
  [4X[32X[104X
  
  [33X[0;0YLike  in  the  case  of [22XL_2(25)[122X, we can construct a group with the structure
  [22X4.L_2(81).2_3[122X  via  the  function  [10XCyclicExtensions[110X  from  the  [5XGAP[105X  package
  [5XGrpConst[105X.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27Xc:= Centralizer( img, derder );;[127X[104X
    [4X[25Xgap>[125X [27XSize( c );  IsCyclic( c );[127X[104X
    [4X[28X80[128X[104X
    [4X[28Xtrue[128X[104X
    [4X[25Xgap>[125X [27Xcgen:= MinimalGeneratingSet( c );;[127X[104X
    [4X[25Xgap>[125X [27Xfour:= cgen[1]^20;;[127X[104X
    [4X[25Xgap>[125X [27Xs:= ClosureGroup( derder, four );;[127X[104X
    [4X[25Xgap>[125X [27XLoadPackage( "GrpConst", false );[127X[104X
    [4X[28Xtrue[128X[104X
    [4X[25Xgap>[125X [27Xfilt:= Filtered( CyclicExtensions( s, 2 ),[127X[104X
    [4X[25X>[125X [27X              x -> Size( Centre( x ) ) = 2 and[127X[104X
    [4X[25X>[125X [27X                   IsCyclic( CommutatorFactorGroup( x ) ) );;[127X[104X
    [4X[25Xgap>[125X [27XLength( filt );[127X[104X
    [4X[28X2[128X[104X
    [4X[25Xgap>[125X [27XIsomorphismGroups( filt[1], filt[2] ) <> fail;[127X[104X
    [4X[28Xtrue[128X[104X
    [4X[25Xgap>[125X [27XTransformingPermutationsCharacterTables( CharacterTable( filt[1] ),[127X[104X
    [4X[25X>[125X [27X       CharacterTable( "4.L2(81).2_3" ) ) <> fail;[127X[104X
    [4X[28Xtrue[128X[104X
  [4X[32X[104X
  
  
  [1X2.4-16 [33X[0;0YThe Character Table of [22X9.U_3(8).3_3[122X[101X[1X (March 2017)[133X[101X
  
  [33X[0;0YThe  group  that is called [22X9.U_3(8).3_3[122X in the [5XAtlas[105X of Finite Groups occurs
  as  a  subgroup  of  [22XΓ[122XU[22X(3,  8)[122X.  Note that GU[22X(3, 8)[122X has the structure [22X3.(3 ×
  U_3(8)).3_2[122X  (see  [CCN+85,  p. 66]),  and extending the subgroup [22XC = 3.(3 ×
  U_3(8))[122X  by  the product of an element outside [22XC[122X with the field automorphism
  of  order  three  of  GF[22X(64)[122X  yields  a  group  [22XN[122X  of  the  structure [22X3.(3 ×
  U_3(8)).3_3[122X whose centre has order three.[133X
  
  [33X[0;0YThe  character  table  of  [22XN[122X  can be constructed with the [22XM.G.A[122X construction
  method  from Section [14X2.3-1[114X. The situation is similar to that with [22X4.A_6.2_3[122X,
  see  Section [14X2.4-13[114X,  in  particular  the situation is described by the same
  picture  that  is  shown for [22X4.A_6.2_3[122X in this section, just the subgroups [22XZ[122X
  and  [22X⟨  g  ⟩[122X  have  the orders three and nine, respectively, and [22XC[122X has index
  three in [22XN[122X.[133X
  
  [33X[0;0YThe  normal subgroup [22XC ≅ 9.U_3(8)[122X is a central product of [22XU = 3.U_3(8)[122X and a
  cyclic  group  [22X⟨  g  ⟩[122X  of order [22X9[122X, and the factor group of [22XN[122X by the central
  subgroup  [22XZ  =  ⟨  g^3  ⟩[122X  of  order  [22X3[122X is isomorphic to a subdirect product
  [22XoverlineN[122X  of  [22XU_3(8).3_3[122X  and  a  cyclic group of order [22X9[122X, such that [22XN[122X acts
  nontrivially on its normal subgroup [22X⟨ g ⟩[122X.[133X
  
  [33X[0;0YThus  [22XN[122X  has  the  structure  [22X3.G.3[122X,  with [22X3.G = C[122X and [22XG.3 = overlineN[122X. Each
  element  in  [22XN ∖ C[122X raises [22Xg[122X to its fourth or seventh power, so it acts fixed
  point  freely  on the faithful irreducible characters of [22XC[122X. Hence we can use
  [2XPossibleCharacterTablesOfTypeMGA[102X ([14XCTblLib: PossibleCharacterTablesOfTypeMGA[114X)
  for  constructing  the character table of [22XN[122X from the tables of [22XC[122X and [22XN/Z[122X and
  the action of [22XN[122X on the classes of [22XC[122X.[133X
  
  [33X[0;0YSince  we  want  to construct also [13XBrauer tables[113X of [22XN[122X, we have to choose the
  class fusion that describes the embedding of [22XC / Z[122X into [22XoverlineN[122X compatibly
  with  the  known  Brauer  tables  of  [22XU_3(8)[122X  and  [22XU_3(8).3_3[122X. Note that the
  [22X2[122X-modular  tables  of these groups impose additional conditions on the class
  fusion.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27Xs:= CharacterTable( "U3(8)" );;[127X[104X
    [4X[25Xgap>[125X [27Xs3:= CharacterTable( "U3(8).3_3" );;[127X[104X
    [4X[25Xgap>[125X [27Xposs:= PossibleClassFusions( s, s3 );;[127X[104X
    [4X[25Xgap>[125X [27XLength( poss );[127X[104X
    [4X[28X4[128X[104X
    [4X[25Xgap>[125X [27XLength( RepresentativesFusions( s, poss, s3 ) );[127X[104X
    [4X[28X1[128X[104X
    [4X[25Xgap>[125X [27Xsmod2:= s mod 2;;[127X[104X
    [4X[25Xgap>[125X [27Xs3mod2:= s3 mod 2;;[127X[104X
    [4X[25Xgap>[125X [27Xgood:= [];;  modmap:= 0;;[127X[104X
    [4X[25Xgap>[125X [27Xfor map in poss do[127X[104X
    [4X[25X>[125X [27X     modmap:= CompositionMaps( InverseMap( GetFusionMap( s3mod2, s3 ) ),[127X[104X
    [4X[25X>[125X [27X                  CompositionMaps( map, GetFusionMap( smod2, s ) ) );[127X[104X
    [4X[25X>[125X [27X     rest:= List( Irr( s3mod2 ), x -> x{ modmap } );[127X[104X
    [4X[25X>[125X [27X     if not fail in Decomposition( Irr( smod2 ), rest, "nonnegative" ) then[127X[104X
    [4X[25X>[125X [27X       Add( good, map );[127X[104X
    [4X[25X>[125X [27X     fi;[127X[104X
    [4X[25X>[125X [27X   od;[127X[104X
    [4X[25Xgap>[125X [27XLength( good );[127X[104X
    [4X[28X2[128X[104X
  [4X[32X[104X
  
  [33X[0;0YThe  class  fusion  from  [22XU_3(8)[122X  to  [22XU_3(8).3_3[122X is determined up to complex
  conjugation  by  the  [22X2[122X-modular  Brauer tables. We choose the fusion that is
  stored on the library tables.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27Xgood[2] = CompositionMaps( PowerMap( s3, -1 ), good[1] );[127X[104X
    [4X[28Xtrue[128X[104X
    [4X[25Xgap>[125X [27XGetFusionMap( s, s3 ) in good;[127X[104X
    [4X[28Xtrue[128X[104X
    [4X[25Xgap>[125X [27Xsfuss3:= GetFusionMap( s, s3 );;[127X[104X
  [4X[32X[104X
  
  [33X[0;0YIn  the  next  step, we construct the character tables of [22XC / Z ≅ U_3(8) × 3[122X
  and [22XN / Z ≅ (U_3(8) × 3).3_3[122X, and those class fusions between the two tables
  that  are  compatible  with  the  fusion between the factors that was chosen
  above (w. r. t. the stored factor fusions).[133X
  
  [33X[0;0YIn  order  not  to  leave  out some candidates, we have to consider also the
  table  of  [22XN/Z[122X  that is obtained from the [21Xother[121X construction as an isoclinic
  table of [22X3 × U_3(8).3_3[122X.[133X
  
  [33X[0;0Y(This  may  look  complicated. It would perhaps be more natural to construct
  the ordinary tables first, by considering the possible fusions, and later to
  adjust  the choices to the conditions that are imposed by the Brauer tables.
  However,  the  technical  complications  of  that  construction would not be
  smaller in the end.)[133X
  
  [33X[0;0YWe get four candidates, two for each of the two tables of [22XN/Z[122X.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27Xc3:= CharacterTable( "Cyclic", 3 );;[127X[104X
    [4X[25Xgap>[125X [27XtblG:= s * c3;;[127X[104X
    [4X[25Xgap>[125X [27Xdp:= s3 * c3;;[127X[104X
    [4X[25Xgap>[125X [27XtblGA1:= CharacterTableIsoclinic( dp, rec( k:= 1 ) );;[127X[104X
    [4X[25Xgap>[125X [27XtblGA2:= CharacterTableIsoclinic( dp, rec( k:= 2 ) );;[127X[104X
    [4X[25Xgap>[125X [27Xgood:= [];;[127X[104X
    [4X[25Xgap>[125X [27XtblGmod2:= tblG mod 2;;[127X[104X
    [4X[25Xgap>[125X [27Xfor tblGA in [ tblGA1, tblGA2 ] do[127X[104X
    [4X[25X>[125X [27X     tblGAmod2:= tblGA mod 2;[127X[104X
    [4X[25X>[125X [27X     for map in PossibleClassFusions( tblG, tblGA ) do[127X[104X
    [4X[25X>[125X [27X       modmap:= CompositionMaps([127X[104X
    [4X[25X>[125X [27X           InverseMap( GetFusionMap( tblGAmod2, tblGA ) ),[127X[104X
    [4X[25X>[125X [27X           CompositionMaps( map, GetFusionMap( tblGmod2, tblG ) ) );[127X[104X
    [4X[25X>[125X [27X       rest:= List( Irr( tblGAmod2 ), x -> x{ modmap } );[127X[104X
    [4X[25X>[125X [27X       if not fail in Decomposition( Irr( tblGmod2 ), rest,[127X[104X
    [4X[25X>[125X [27X                          "nonnegative" ) and[127X[104X
    [4X[25X>[125X [27X          CompositionMaps( GetFusionMap( tblGA, s3 ), map ) =[127X[104X
    [4X[25X>[125X [27X          CompositionMaps( sfuss3, GetFusionMap( tblG, s ) ) then[127X[104X
    [4X[25X>[125X [27X         Add( good, [ tblGA, map ] );[127X[104X
    [4X[25X>[125X [27X       fi;[127X[104X
    [4X[25X>[125X [27X     od;[127X[104X
    [4X[25X>[125X [27X   od;[127X[104X
    [4X[25Xgap>[125X [27XList( good, x -> x[1] );[127X[104X
    [4X[28X[ CharacterTable( "Isoclinic(U3(8).3_3xC3,1)" ), [128X[104X
    [4X[28X  CharacterTable( "Isoclinic(U3(8).3_3xC3,1)" ), [128X[104X
    [4X[28X  CharacterTable( "Isoclinic(U3(8).3_3xC3,2)" ), [128X[104X
    [4X[28X  CharacterTable( "Isoclinic(U3(8).3_3xC3,2)" ) ][128X[104X
  [4X[32X[104X
  
  [33X[0;0YThe  character  table  of  [22XC[122X can be constructed with [2XCharacterTableIsoclinic[102X
  ([14XReference:  CharacterTableIsoclinic[114X)  from  the  character  table  of  [22X3  ×
  3.U_3(8)[122X. (Here we need to consider only one variant of the table.)[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27X3s:= CharacterTable( "3.U3(8)" );;[127X[104X
    [4X[25Xgap>[125X [27Xdp:= 3s * c3;;[127X[104X
    [4X[25Xgap>[125X [27XtblMG:= CharacterTableIsoclinic( dp );;[127X[104X
  [4X[32X[104X
  
  [33X[0;0YThe  construction of this table does not automatically yield a factor fusion
  to  the  table of [22XC/Z[122X. We form the relevant factor table, which has the same
  ordering of irreducible characters, and use the factor fusion to this table.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XGetFusionMap( tblMG, tblG );[127X[104X
    [4X[28Xfail[128X[104X
    [4X[25Xgap>[125X [27Xcen:= ClassPositionsOfCentre( tblMG );[127X[104X
    [4X[28X[ 1, 2, 3, 4, 5, 6, 7, 8, 9 ][128X[104X
    [4X[25Xgap>[125X [27XOrdersClassRepresentatives( tblMG ){ cen };[127X[104X
    [4X[28X[ 1, 9, 9, 3, 9, 9, 3, 9, 9 ][128X[104X
    [4X[25Xgap>[125X [27Xfacttbl:= tblMG / [ 1, 4, 7 ];;[127X[104X
    [4X[25Xgap>[125X [27Xtr:= TransformingPermutationsCharacterTables( facttbl, tblG );;[127X[104X
    [4X[25Xgap>[125X [27Xtr.rows;  tr.columns;[127X[104X
    [4X[28X()[128X[104X
    [4X[28X()[128X[104X
    [4X[25Xgap>[125X [27XStoreFusion( tblMG, GetFusionMap( tblMG, facttbl ), tblG );[127X[104X
  [4X[32X[104X
  
  [33X[0;0YNow  we compute the orbits of the possible actions of [22XN[122X on the classes of [22XC[122X,
  and the resulting candidates for the character table of [22XN[122X.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27Xposstbls:= [];;[127X[104X
    [4X[25Xgap>[125X [27Xfor pair in good do[127X[104X
    [4X[25X>[125X [27X     tblGA:= pair[1];[127X[104X
    [4X[25X>[125X [27X     GfusGA:= pair[2];[127X[104X
    [4X[25X>[125X [27X     tblG:= s * c3;[127X[104X
    [4X[25X>[125X [27X     StoreFusion( tblG, GfusGA, tblGA );[127X[104X
    [4X[25X>[125X [27X     for pi in PossibleActionsForTypeMGA( tblMG, tblG, tblGA ) do[127X[104X
    [4X[25X>[125X [27X       for cand in PossibleCharacterTablesOfTypeMGA([127X[104X
    [4X[25X>[125X [27X                       tblMG, tblG, tblGA, pi, "test" ) do[127X[104X
    [4X[25X>[125X [27X         Add( posstbls, [ tblGA, cand ] );[127X[104X
    [4X[25X>[125X [27X       od;[127X[104X
    [4X[25X>[125X [27X     od;[127X[104X
    [4X[25X>[125X [27X   od;[127X[104X
    [4X[25Xgap>[125X [27XLength( posstbls );[127X[104X
    [4X[28X32[128X[104X
  [4X[32X[104X
  
  [33X[0;0YNow  we  discard  all  those  candidates  that  are  not compatible with the
  [22X2[122X-modular character tables.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27Xcompatible:= [];;  r:= 0;;  modr:= 0;;[127X[104X
    [4X[25Xgap>[125X [27Xfor pair in posstbls do[127X[104X
    [4X[25X>[125X [27X     tblGA:= pair[1];[127X[104X
    [4X[25X>[125X [27X     r:= pair[2];[127X[104X
    [4X[25X>[125X [27X     comp:= ComputedClassFusions( tblMG );[127X[104X
    [4X[25X>[125X [27X     pos:= PositionProperty( comp, x -> x.name = Identifier( r.table ) );[127X[104X
    [4X[25X>[125X [27X     if pos = fail then[127X[104X
    [4X[25X>[125X [27X       StoreFusion( tblMG, r.MGfusMGA, r.table );[127X[104X
    [4X[25X>[125X [27X     else[127X[104X
    [4X[25X>[125X [27X       comp[ pos ]:= ShallowCopy( comp[ pos ] );[127X[104X
    [4X[25X>[125X [27X       comp[ pos ].map:= r.MGfusMGA;[127X[104X
    [4X[25X>[125X [27X     fi;[127X[104X
    [4X[25X>[125X [27X     Unbind( ComputedBrauerTables( tblMG )[2] );[127X[104X
    [4X[25X>[125X [27X     modr:= BrauerTableOfTypeMGA( tblMG mod 2, tblGA mod 2, r.table );[127X[104X
    [4X[25X>[125X [27X     rest:= List( Irr( modr.table ), x -> x{ modr.MGfusMGA } );[127X[104X
    [4X[25X>[125X [27X     dec:= Decomposition( Irr( tblMG mod 2 ), rest, "nonnegative" );[127X[104X
    [4X[25X>[125X [27X     if not fail in dec then[127X[104X
    [4X[25X>[125X [27X       Add( compatible, pair );[127X[104X
    [4X[25X>[125X [27X     fi;[127X[104X
    [4X[25X>[125X [27X   od;[127X[104X
    [4X[25Xgap>[125X [27XLength( compatible );[127X[104X
    [4X[28X8[128X[104X
  [4X[32X[104X
  
  [33X[0;0YThe remaining candidates fall into two equivalence classes.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27Xtbls:= [];;[127X[104X
    [4X[25Xgap>[125X [27Xfor pair in compatible do[127X[104X
    [4X[25X>[125X [27X     if ForAll( tbls, t -> TransformingPermutationsCharacterTables([127X[104X
    [4X[25X>[125X [27X                               t, pair[2].table ) = fail ) then[127X[104X
    [4X[25X>[125X [27X       Add( tbls, pair[2].table );[127X[104X
    [4X[25X>[125X [27X     fi;[127X[104X
    [4X[25X>[125X [27X   od;[127X[104X
    [4X[25Xgap>[125X [27XLength( tbls );[127X[104X
    [4X[28X2[128X[104X
  [4X[32X[104X
  
  [33X[0;0YThe  two  tables  can be distinguished by their element orders  one contains
  the element order [22X54[122X and the other does not  or by their [22X4[122Xth power maps  the
  classes  of  element  order  [22X171[122X in one table are not fixed by the [22X4[122Xth power
  map, the corresponding classes in the other table are fixed.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XSet( OrdersClassRepresentatives( tbls[1] ) );[127X[104X
    [4X[28X[ 1, 2, 3, 4, 6, 7, 9, 12, 18, 19, 21, 27, 36, 54, 57, 63, 171 ][128X[104X
    [4X[25Xgap>[125X [27XSet( OrdersClassRepresentatives( tbls[2] ) );[127X[104X
    [4X[28X[ 1, 2, 3, 4, 6, 7, 9, 12, 18, 19, 21, 27, 36, 57, 63, 171 ][128X[104X
    [4X[25Xgap>[125X [27Xpos171:= Positions( OrdersClassRepresentatives( tbls[1] ), 171 );;[127X[104X
    [4X[25Xgap>[125X [27Xpow4:= PowerMap( tbls[1], 4 );;[127X[104X
    [4X[25Xgap>[125X [27XForAny( [ 1 .. Length( pos171 ) ],[127X[104X
    [4X[25X>[125X [27X           i -> pos171[i] = pow4[ pos171[i] ] );[127X[104X
    [4X[28Xfalse[128X[104X
    [4X[25Xgap>[125X [27Xpos171:= Positions( OrdersClassRepresentatives( tbls[2] ), 171 );;[127X[104X
    [4X[25Xgap>[125X [27XPowerMap( tbls[2], 4 ){ pos171 } = pos171;[127X[104X
    [4X[28Xtrue[128X[104X
  [4X[32X[104X
  
  [33X[0;0YThus  we  can use the group [22XN[122X to decide which table is correct. For that, we
  construct a permutation representation of [22XN[122X.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27Xgu:= GU(3,8);;[127X[104X
    [4X[25Xgap>[125X [27Xorbs:= OrbitsDomain( gu, Elements( GF(64)^3 ) );;[127X[104X
    [4X[25Xgap>[125X [27XList( orbs, Length );[127X[104X
    [4X[28X[ 1, 32319, 32832, 32832, 32832, 32832, 32832, 32832, 32832 ][128X[104X
    [4X[25Xgap>[125X [27Xorb:= SortedList( First( orbs, x -> Length( x ) = 32319 ) );;[127X[104X
    [4X[25Xgap>[125X [27Xactgu:= Action( gu, orb, OnRight );;[127X[104X
    [4X[25Xgap>[125X [27XSize( actgu ) = Size( gu );[127X[104X
    [4X[28Xtrue[128X[104X
    [4X[25Xgap>[125X [27Xcen:= Centre( actgu );;[127X[104X
    [4X[25Xgap>[125X [27XSize( cen );[127X[104X
    [4X[28X9[128X[104X
    [4X[25Xgap>[125X [27Xu:= ClosureGroup( DerivedSubgroup( actgu ), cen );;[127X[104X
    [4X[25Xgap>[125X [27Xaut:= v -> List( v, x -> x^4 );;[127X[104X
    [4X[25Xgap>[125X [27Xpi:= PermList( List( orb, v -> PositionSorted( orb, aut( v ) ) ) );;[127X[104X
    [4X[25Xgap>[125X [27Xouter:= First( GeneratorsOfGroup( actgu ), x -> not x in u );;[127X[104X
    [4X[25Xgap>[125X [27Xg:= ClosureGroup( u, pi * outer );;[127X[104X
  [4X[32X[104X
  
  [33X[0;0YBefore  we  perform computations with the group, we reduce the degree of the
  representation by a factor of [22X7[122X.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27Xg:= Group( SmallGeneratingSet( g ) );;[127X[104X
    [4X[25Xgap>[125X [27Xallbl:= AllBlocks( g );;[127X[104X
    [4X[25Xgap>[125X [27XList( allbl, Length );[127X[104X
    [4X[28X[ 3, 21, 63, 9, 7 ][128X[104X
    [4X[25Xgap>[125X [27Xorb:= Orbit( g, First( allbl, x -> Length( x ) = 7 ), OnSets );;[127X[104X
    [4X[25Xgap>[125X [27Xact:= Action( g, orb, OnSets );;[127X[104X
    [4X[25Xgap>[125X [27XSize( act ) = Size( g );[127X[104X
    [4X[28Xtrue[128X[104X
    [4X[25Xgap>[125X [27XNrMovedPoints( act );[127X[104X
    [4X[28X4617[128X[104X
  [4X[32X[104X
  
  [33X[0;0YNow  we  test  whether an element of order [22X171[122X in [22XN[122X is conjugate in [22XN[122X to its
  fourth power.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27Xrepeat x:= PseudoRandom( act ); until Order( x ) = 171;[127X[104X
    [4X[25Xgap>[125X [27XIsConjugate( act, x, x^4 );[127X[104X
    [4X[28Xtrue[128X[104X
  [4X[32X[104X
  
  [33X[0;0YThis  means that the second of the candidate tables constructed above is the
  right  one.  The  character  table  with the identifier [10X"9.U3(8).3_3"[110X in the
  character table library is equivalent to this table.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27Xlib:= CharacterTable( "9.U3(8).3_3" );;[127X[104X
    [4X[25Xgap>[125X [27XIsRecord( TransformingPermutationsCharacterTables( tbls[2], lib ) );[127X[104X
    [4X[28Xtrue[128X[104X
  [4X[32X[104X
  
  [33X[0;0Y[5XGAP[105X's currently available methods for the automatic computation of character
  tables would require too much space when called with this permutation group.
  Using interactive methods, one can compute the character table with [5XGAP[105X. The
  table  obtained  this  way is equivalent to the library character table with
  the identifier [10X"9.U3(8).3_3"[110X.[133X
  
  [33X[0;0YI  do  not know how to disprove the other candidate with character-theoretic
  arguments.  Thus this table provides an example of a pseudo character table,
  see Section [14X2.4-17[114X.[133X
  
  
  [1X2.4-17 [33X[0;0YPseudo Character Tables of the Type [22XM.G.A[122X[101X[1X (May 2004)[133X[101X
  
  [33X[0;0YWith  the  construction  method  for  character tables of groups of the type
  [22XM.G.A[122X,  one  can  construct  tables  that  have many properties of character
  tables  but  that  are  not  character  tables  of  groups, cf. [Gag86]. For
  example, the group [22X3.A_6.2_3[122X has a [13Xcentral[113X subgroup of order [22X3[122X, so it is not
  of the type [22XM.G.A[122X with fixed-point free action on the faithful characters of
  [22XM.G[122X.[133X
  
  [33X[0;0YHowever,  if  we apply the [21X[22XM.G.A[122X construction[121X to the groups [22XM.G = 3.A_6[122X, [22XG =
  A_6[122X, and [22XG.A = A_6.2_3[122X then we get a (in this case unique) result.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XtblMG := CharacterTable( "3.A6" );;[127X[104X
    [4X[25Xgap>[125X [27XtblG  := CharacterTable( "A6" );;[127X[104X
    [4X[25Xgap>[125X [27XtblGA := CharacterTable( "A6.2_3" );;[127X[104X
    [4X[25Xgap>[125X [27Xelms:= PossibleActionsForTypeMGA( tblMG, tblG, tblGA );  [127X[104X
    [4X[28X[ [ [ 1 ], [ 2, 3 ], [ 4 ], [ 5, 6 ], [ 7, 8 ], [ 9 ], [ 10, 11 ], [128X[104X
    [4X[28X      [ 12, 15 ], [ 13, 17 ], [ 14, 16 ] ] ][128X[104X
    [4X[25Xgap>[125X [27Xposs:= PossibleCharacterTablesOfTypeMGA(                  [127X[104X
    [4X[25X>[125X [27X                tblMG, tblG, tblGA, elms[1], "pseudo" );    [127X[104X
    [4X[28X[ rec( [128X[104X
    [4X[28X      MGfusMGA := [ 1, 2, 2, 3, 4, 4, 5, 5, 6, 7, 7, 8, 9, 10, 8, 10, [128X[104X
    [4X[28X          9 ], table := CharacterTable( "pseudo" ) ) ][128X[104X
  [4X[32X[104X
  
  [33X[0;0YSuch  a  table  automatically satisfies the orthogonality relations, and the
  tensor  product of two [21Xirreducible characters[121X of which at least one is a row
  from  [22XG.A[122X  decomposes  into  a  sum of the [21Xirreducible characters[121X, where the
  coefficients are nonnegative integers.[133X
  
  [33X[0;0YIn  this  example,  any  tensor product decomposes with nonnegative integral
  coefficients,  [22Xn[122X-th symmetrizations of [21Xirreducible characters[121X decompose, for
  [22Xn ≤ 5[122X, and the [21Xclass multiplication coefficients[121X are nonnegative integers.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27Xpseudo:= poss[1].table;[127X[104X
    [4X[28XCharacterTable( "pseudo" )[128X[104X
    [4X[25Xgap>[125X [27XDisplay( pseudo );[127X[104X
    [4X[28Xpseudo[128X[104X
    [4X[28X[128X[104X
    [4X[28X      2  4   3  4  3  .  3   2  .   .   .  2  3  3[128X[104X
    [4X[28X      3  3   3  1  1  2  1   1  1   1   1  .  .  .[128X[104X
    [4X[28X      5  1   1  .  .  .  .   .  1   1   1  .  .  .[128X[104X
    [4X[28X[128X[104X
    [4X[28X        1a  3a 2a 6a 3b 4a 12a 5a 15a 15b 4b 8a 8b[128X[104X
    [4X[28X     2P 1a  3a 1a 3a 3b 2a  6a 5a 15a 15b 2a 4a 4a[128X[104X
    [4X[28X     3P 1a  1a 2a 2a 1a 4a  4a 5a  5a  5a 4b 8a 8b[128X[104X
    [4X[28X     5P 1a  3a 2a 6a 3b 4a 12a 1a  3a  3a 4b 8b 8a[128X[104X
    [4X[28X[128X[104X
    [4X[28XX.1      1   1  1  1  1  1   1  1   1   1  1  1  1[128X[104X
    [4X[28XX.2      1   1  1  1  1  1   1  1   1   1 -1 -1 -1[128X[104X
    [4X[28XX.3     10  10  2  2  1 -2  -2  .   .   .  .  .  .[128X[104X
    [4X[28XX.4     16  16  .  . -2  .   .  1   1   1  .  .  .[128X[104X
    [4X[28XX.5      9   9  1  1  .  1   1 -1  -1  -1  1 -1 -1[128X[104X
    [4X[28XX.6      9   9  1  1  .  1   1 -1  -1  -1 -1  1  1[128X[104X
    [4X[28XX.7     10  10 -2 -2  1  .   .  .   .   .  .  B -B[128X[104X
    [4X[28XX.8     10  10 -2 -2  1  .   .  .   .   .  . -B  B[128X[104X
    [4X[28XX.9      6  -3 -2  1  .  2  -1  1   A  /A  .  .  .[128X[104X
    [4X[28XX.10     6  -3 -2  1  .  2  -1  1  /A   A  .  .  .[128X[104X
    [4X[28XX.11    12  -6  4 -2  .  .   .  2  -1  -1  .  .  .[128X[104X
    [4X[28XX.12    18  -9  2 -1  .  2  -1 -2   1   1  .  .  .[128X[104X
    [4X[28XX.13    30 -15 -2  1  . -2   1  .   .   .  .  .  .[128X[104X
    [4X[28X[128X[104X
    [4X[28XA = -E(15)-E(15)^2-E(15)^4-E(15)^8[128X[104X
    [4X[28X  = (-1-Sqrt(-15))/2 = -1-b15[128X[104X
    [4X[28XB = E(8)+E(8)^3[128X[104X
    [4X[28X  = Sqrt(-2) = i2[128X[104X
    [4X[25Xgap>[125X [27XIsInternallyConsistent( pseudo );[127X[104X
    [4X[28Xtrue[128X[104X
    [4X[25Xgap>[125X [27Xirr:= Irr( pseudo );;[127X[104X
    [4X[25Xgap>[125X [27Xtest:= Concatenation( List( [ 2 .. 5 ],[127X[104X
    [4X[25X>[125X [27X              n -> Symmetrizations( pseudo, irr, n ) ) );;[127X[104X
    [4X[25Xgap>[125X [27XAppend( test, Set( Tensored( irr, irr ) ) );[127X[104X
    [4X[25Xgap>[125X [27Xfail in Decomposition( irr, test, "nonnegative" );[127X[104X
    [4X[28Xfalse[128X[104X
    [4X[25Xgap>[125X [27Xif ForAny( Tuples( [ 1 .. NrConjugacyClasses( pseudo ) ], 3 ),        [127X[104X
    [4X[25X>[125X [27X     t -> not ClassMultiplicationCoefficient( pseudo, t[1], t[2], t[3] )   [127X[104X
    [4X[25X>[125X [27X              in NonnegativeIntegers ) then                           [127X[104X
    [4X[25X>[125X [27X     Error( "contradiction" );[127X[104X
    [4X[25X>[125X [27Xfi;[127X[104X
  [4X[32X[104X
  
  [33X[0;0YI  do not know a character-theoretic argument for showing that this table is
  [13Xnot[113X  the  character  table  of  a  group,  but  we  can  use  the  following
  group-theoretic  argument.  Suppose  that  the  group  [22XG[122X, say, has the above
  character  table. Then [22XG[122X has a unique composition series with factors of the
  orders  [22X3[122X,  [22X360[122X,  and  [22X2[122X,  respectively. Let [22XN[122X denote the normal subgroup of
  order  [22X3[122X  in [22XG[122X. The factor group [22XF = G/N[122X is an automorphic extension of [22XA_6[122X,
  and according to [CCN+85, p. 4] it is isomorphic with [22XM_10 = A_6.2_3[122X and has
  Sylow  [22X3[122X  normalizers of the structure [22X3^2 : Q_8[122X. Since the Sylow [22X3[122X subgroup
  of [22XG[122X is a self-centralizing nonabelian group of order [22X3^3[122X and of exponent [22X3[122X,
  the Sylow [22X3[122X normalizers in [22XG[122X have the structure [22X3^{1+2}_+ : Q_8[122X, but the [22XQ_8[122X
  type subgroups of Aut[22X( 3^{1+2}_+ )[122X act trivially on the centre of [22X3^{1+2}_+[122X,
  contrary to the situation in the above table.[133X
  
  [33X[0;0YIn  general,  this  construction  need  not  produce  tables  for  which all
  symmetrizations  of  irreducible characters decompose properly. For example,
  applying              [2XPossibleCharacterTablesOfTypeMGA[102X             ([14XCTblLib:
  PossibleCharacterTablesOfTypeMGA[114X)  to  the  case  [22XM.G  =  3.L_3(4)[122X and [22XG.A =
  L_3(4).2_1[122X  does  not  yield  a table because the function suppresses tables
  that  do  not  admit  [22Xp[122X-th  power maps, for prime divisors [22Xp[122X of the order of
  [22XM.G.A[122X, and in this case no compatible [22X2[122X-power map exists.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XtblMG := CharacterTable( "3.L3(4)" );;[127X[104X
    [4X[25Xgap>[125X [27XtblG  := CharacterTable( "L3(4)" );;[127X[104X
    [4X[25Xgap>[125X [27XtblGA := CharacterTable( "L3(4).2_1" );;[127X[104X
    [4X[25Xgap>[125X [27Xelms:= PossibleActionsForTypeMGA( tblMG, tblG, tblGA );[127X[104X
    [4X[28X[ [ [ 1 ], [ 2, 3 ], [ 4 ], [ 5, 6 ], [ 7 ], [ 8 ], [ 9, 10 ], [128X[104X
    [4X[28X      [ 11 ], [ 12, 13 ], [ 14 ], [ 15, 16 ], [ 17, 20 ], [ 18, 22 ], [128X[104X
    [4X[28X      [ 19, 21 ], [ 23, 26 ], [ 24, 28 ], [ 25, 27 ] ] ][128X[104X
    [4X[25Xgap>[125X [27XPossibleCharacterTablesOfTypeMGA( tblMG, tblG, tblGA, elms[1], "?" );[127X[104X
    [4X[28X[  ][128X[104X
  [4X[32X[104X
  
  [33X[0;0YAlso,   it  may  happen  that  already  [2XPossibleActionsForTypeMGA[102X  ([14XCTblLib:
  PossibleActionsForTypeMGA[114X)  returns  an  empty  list.  Examples  are  [22XM.G  =
  3_1.U_4(3)[122X, [22XG.A = U_4(3).2_2[122X and [22XM.G = 3_2.U_4(3)[122X, [22XG.A = U_4(3).2_3[122X.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XtblG  := CharacterTable( "U4(3)" );;[127X[104X
    [4X[25Xgap>[125X [27XtblMG := CharacterTable( "3_1.U4(3)" );;[127X[104X
    [4X[25Xgap>[125X [27XtblGA := CharacterTable( "U4(3).2_2" );;[127X[104X
    [4X[25Xgap>[125X [27XPossibleActionsForTypeMGA( tblMG, tblG, tblGA );[127X[104X
    [4X[28X[  ][128X[104X
    [4X[25Xgap>[125X [27XtblMG:= CharacterTable( "3_2.U4(3)" );;[127X[104X
    [4X[25Xgap>[125X [27XtblGA:= CharacterTable( "U4(3).2_3" );;[127X[104X
    [4X[25Xgap>[125X [27XPossibleActionsForTypeMGA( tblMG, tblG, tblGA );[127X[104X
    [4X[28X[  ][128X[104X
  [4X[32X[104X
  
  [33X[0;0YAlso  the  sections  [14X2.4-5[114X  and  [14X2.4-16[114X provide examples of pseudo character
  tables.  If  one  does  not  use  the arguments about Brauer tables then the
  latter section presents in fact several pseudo character tables.[133X
  
  
  [1X2.4-18  [33X[0;0YSome  Extra-ordinary  [22Xp[122X[101X[1X-Modular  Tables of the Type [22XM.G.A[122X[101X[1X (September[101X
  [1X2005)[133X[101X
  
  [33X[0;0YFor  a  group [22XM.G.A[122X in the sense of Section [14X2.3-1[114X such that [13Xnot[113X all ordinary
  irreducible characters [22Xχ[122X have the property that [22XM[122X is contained in the kernel
  of  [22Xχ[122X  or  [22Xχ[122X is induced from [22XM.G[122X, it may happen that there are primes [22Xp[122X such
  that  all  irreducible [22Xp[122X-modular characters have this property. This happens
  if  and  only if the preimages in [22XM.G.A[122X of each [22Xp[122X-regular conjugacy class in
  [22XG.A ∖ G[122X form one conjugacy class.[133X
  
  [33X[0;0YThe  following function can be used to decide whether this situation applies
  to a character table in the [5XGAP[105X Character Table Library; here we assume that
  for the library table of a group with the structure [22XM.G.A[122X, the class fusions
  from [22XM.G[122X and to [22XG.A[122X are stored.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XFindExtraordinaryCase:= function( tblMGA )[127X[104X
    [4X[25X>[125X [27X   local result, der, nsg, tblMGAclasses, orders, tblMG,[127X[104X
    [4X[25X>[125X [27X         tblMGfustblMGA, tblMGclasses, pos, M, Mimg, tblMGAfustblGA, tblGA,[127X[104X
    [4X[25X>[125X [27X         outer, inv, filt, other, primes, p;[127X[104X
    [4X[25X>[125X [27X   result:= [];[127X[104X
    [4X[25X>[125X [27X   der:= ClassPositionsOfDerivedSubgroup( tblMGA );[127X[104X
    [4X[25X>[125X [27X   nsg:= ClassPositionsOfNormalSubgroups( tblMGA );[127X[104X
    [4X[25X>[125X [27X   tblMGAclasses:= SizesConjugacyClasses( tblMGA );[127X[104X
    [4X[25X>[125X [27X   orders:= OrdersClassRepresentatives( tblMGA );[127X[104X
    [4X[25X>[125X [27X   if Length( der ) < NrConjugacyClasses( tblMGA ) then[127X[104X
    [4X[25X>[125X [27X     # Look for tables of normal subgroups of the form $M.G$.[127X[104X
    [4X[25X>[125X [27X     for tblMG in Filtered( List( NamesOfFusionSources( tblMGA ),[127X[104X
    [4X[25X>[125X [27X                                  CharacterTable ), x -> x <> fail ) do[127X[104X
    [4X[25X>[125X [27X       tblMGfustblMGA:= GetFusionMap( tblMG, tblMGA );[127X[104X
    [4X[25X>[125X [27X       tblMGclasses:= SizesConjugacyClasses( tblMG );[127X[104X
    [4X[25X>[125X [27X       pos:= Position( nsg, Set( tblMGfustblMGA ) );[127X[104X
    [4X[25X>[125X [27X       if pos <> fail and[127X[104X
    [4X[25X>[125X [27X          Size( tblMG ) = Sum( tblMGAclasses{ nsg[ pos ] } ) then[127X[104X
    [4X[25X>[125X [27X         # Look for normal subgroups of the form $M$.[127X[104X
    [4X[25X>[125X [27X         for M in Difference( ClassPositionsOfNormalSubgroups( tblMG ),[127X[104X
    [4X[25X>[125X [27X                      [ [ 1 ], [ 1 .. NrConjugacyClasses( tblMG ) ] ] ) do[127X[104X
    [4X[25X>[125X [27X           Mimg:= Set( tblMGfustblMGA{ M } );[127X[104X
    [4X[25X>[125X [27X           if Sum( tblMGAclasses{ Mimg } ) = Sum( tblMGclasses{ M } ) then[127X[104X
    [4X[25X>[125X [27X             tblMGAfustblGA:= First( ComputedClassFusions( tblMGA ),[127X[104X
    [4X[25X>[125X [27X                 r -> ClassPositionsOfKernel( r.map ) = Mimg );[127X[104X
    [4X[25X>[125X [27X             if tblMGAfustblGA <> fail then[127X[104X
    [4X[25X>[125X [27X               tblGA:= CharacterTable( tblMGAfustblGA.name );[127X[104X
    [4X[25X>[125X [27X               tblMGAfustblGA:= tblMGAfustblGA.map;[127X[104X
    [4X[25X>[125X [27X               outer:= Difference( [ 1 .. NrConjugacyClasses( tblGA ) ],[127X[104X
    [4X[25X>[125X [27X                   CompositionMaps( tblMGAfustblGA, tblMGfustblMGA ) );[127X[104X
    [4X[25X>[125X [27X               inv:= InverseMap( tblMGAfustblGA ){ outer };[127X[104X
    [4X[25X>[125X [27X               filt:= Flat( Filtered( inv, IsList ) );[127X[104X
    [4X[25X>[125X [27X               if not IsEmpty( filt ) then[127X[104X
    [4X[25X>[125X [27X                 other:= Filtered( inv, IsInt );[127X[104X
    [4X[25X>[125X [27X                 primes:= Filtered( PrimeDivisors( Size( tblMGA ) ),[127X[104X
    [4X[25X>[125X [27X                    p -> ForAll( orders{ filt }, x -> x mod p = 0 )[127X[104X
    [4X[25X>[125X [27X                         and ForAny( orders{ other }, x -> x mod p <> 0 ) );[127X[104X
    [4X[25X>[125X [27X                 for p in primes do[127X[104X
    [4X[25X>[125X [27X                   Add( result, [ Identifier( tblMG ),[127X[104X
    [4X[25X>[125X [27X                                  Identifier( tblMGA ),[127X[104X
    [4X[25X>[125X [27X                                  Identifier( tblGA ), p ] );[127X[104X
    [4X[25X>[125X [27X                 od;[127X[104X
    [4X[25X>[125X [27X               fi;[127X[104X
    [4X[25X>[125X [27X             fi;[127X[104X
    [4X[25X>[125X [27X           fi;[127X[104X
    [4X[25X>[125X [27X         od;[127X[104X
    [4X[25X>[125X [27X       fi;[127X[104X
    [4X[25X>[125X [27X     od;[127X[104X
    [4X[25X>[125X [27X   fi;[127X[104X
    [4X[25X>[125X [27X   return result;[127X[104X
    [4X[25X>[125X [27Xend;;[127X[104X
  [4X[32X[104X
  
  [33X[0;0YLet us list the tables which are found by this function.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27Xcases:= [];;[127X[104X
    [4X[25Xgap>[125X [27Xfor name in AllCharacterTableNames( IsDuplicateTable, false ) do[127X[104X
    [4X[25X>[125X [27X     Append( cases, FindExtraordinaryCase( CharacterTable( name ) ) );[127X[104X
    [4X[25X>[125X [27X   od;[127X[104X
    [4X[25Xgap>[125X [27Xfor i in Set( cases ) do[127X[104X
    [4X[25X>[125X [27X     Print( i, "\n" ); [127X[104X
    [4X[25X>[125X [27X   od;[127X[104X
    [4X[28X[ "2.A6", "2.A6.2_1", "A6.2_1", 3 ][128X[104X
    [4X[28X[ "2.Fi22", "2.Fi22.2", "Fi22.2", 3 ][128X[104X
    [4X[28X[ "2.L2(25)", "2.L2(25).2_2", "L2(25).2_2", 5 ][128X[104X
    [4X[28X[ "2.L2(49)", "2.L2(49).2_2", "L2(49).2_2", 7 ][128X[104X
    [4X[28X[ "2.L2(81)", "2.L2(81).2_1", "L2(81).2_1", 3 ][128X[104X
    [4X[28X[ "2.L2(81)", "2.L2(81).4_1", "L2(81).4_1", 3 ][128X[104X
    [4X[28X[ "2.L2(81).2_1", "2.L2(81).4_1", "L2(81).4_1", 3 ][128X[104X
    [4X[28X[ "2.L4(3)", "2.L4(3).2_2", "L4(3).2_2", 3 ][128X[104X
    [4X[28X[ "2.L4(3)", "2.L4(3).2_3", "L4(3).2_3", 3 ][128X[104X
    [4X[28X[ "2.S3", "2.D12", "S3x2", 3 ][128X[104X
    [4X[28X[ "2.U4(3).2_1", "2.U4(3).(2^2)_{12*2*}", "U4(3).(2^2)_{122}", 3 ][128X[104X
    [4X[28X[ "2.U4(3).2_1", "2.U4(3).(2^2)_{122}", "U4(3).(2^2)_{122}", 3 ][128X[104X
    [4X[28X[ "2.U4(3).2_1", "2.U4(3).(2^2)_{13*3*}", "U4(3).(2^2)_{133}", 3 ][128X[104X
    [4X[28X[ "2.U4(3).2_1", "2.U4(3).(2^2)_{133}", "U4(3).(2^2)_{133}", 3 ][128X[104X
    [4X[28X[ "3.U3(8)", "3.U3(8).3_1", "U3(8).3_1", 2 ][128X[104X
    [4X[28X[ "3.U3(8)", "3.U3(8).6", "U3(8).6", 2 ][128X[104X
    [4X[28X[ "3.U3(8)", "3.U3(8).6", "U3(8).6", 3 ][128X[104X
    [4X[28X[ "3.U3(8).2", "3.U3(8).6", "U3(8).6", 2 ][128X[104X
    [4X[28X[ "3^2:8", "2.A8N3", "s3wrs2", 3 ][128X[104X
    [4X[28X[ "5^(1+2):8:4", "2.HS.2N5", "HS.2N5", 5 ][128X[104X
    [4X[28X[ "6.A6", "6.A6.2_1", "3.A6.2_1", 3 ][128X[104X
    [4X[28X[ "6.A6", "6.A6.2_1", "A6.2_1", 3 ][128X[104X
    [4X[28X[ "6.Fi22", "6.Fi22.2", "3.Fi22.2", 3 ][128X[104X
    [4X[28X[ "6.Fi22", "6.Fi22.2", "Fi22.2", 3 ][128X[104X
    [4X[28X[ "Isoclinic(2.U4(3).2_1)", "2.U4(3).(2^2)_{1*2*2}", [128X[104X
    [4X[28X  "U4(3).(2^2)_{122}", 3 ][128X[104X
    [4X[28X[ "Isoclinic(2.U4(3).2_1)", "2.U4(3).(2^2)_{1*3*3}", [128X[104X
    [4X[28X  "U4(3).(2^2)_{133}", 3 ][128X[104X
    [4X[28X[ "bd10", "2.D20", "D20", 5 ][128X[104X
  [4X[32X[104X
  
  [33X[0;0YThe  smallest  example  in  this  list is [22X2.A_6.2_1[122X, the double cover of the
  symmetric  group  on  six points. The [22X3[122X-modular table of this group looks as
  follows.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XDisplay( CharacterTable( "2.A6.2_1" ) mod 3 );[127X[104X
    [4X[28X2.A6.2_1mod3[128X[104X
    [4X[28X[128X[104X
    [4X[28X     2  5   5  4  3  1   1  4  4  3[128X[104X
    [4X[28X     3  2   2  .  .  .   .  1  1  .[128X[104X
    [4X[28X     5  1   1  .  .  1   1  .  .  .[128X[104X
    [4X[28X[128X[104X
    [4X[28X       1a  2a 4a 8a 5a 10a 2b 4b 8b[128X[104X
    [4X[28X    2P 1a  1a 2a 4a 5a  5a 1a 2a 4a[128X[104X
    [4X[28X    3P 1a  2a 4a 8a 5a 10a 2b 4b 8b[128X[104X
    [4X[28X    5P 1a  2a 4a 8a 1a  2a 2b 4b 8b[128X[104X
    [4X[28X[128X[104X
    [4X[28XX.1     1   1  1  1  1   1  1  1  1[128X[104X
    [4X[28XX.2     1   1  1  1  1   1 -1 -1 -1[128X[104X
    [4X[28XX.3     6   6 -2  2  1   1  .  .  .[128X[104X
    [4X[28XX.4     4   4  . -2 -1  -1  2 -2  .[128X[104X
    [4X[28XX.5     4   4  . -2 -1  -1 -2  2  .[128X[104X
    [4X[28XX.6     9   9  1  1 -1  -1  3  3 -1[128X[104X
    [4X[28XX.7     9   9  1  1 -1  -1 -3 -3  1[128X[104X
    [4X[28XX.8     4  -4  .  . -1   1  .  .  .[128X[104X
    [4X[28XX.9    12 -12  .  .  2  -2  .  .  .[128X[104X
  [4X[32X[104X
  
  [33X[0;0YWe  see  that  the  two  faithful irreducible characters vanish on the three
  classes outside [22X2.A_6[122X.[133X
  
  [33X[0;0YFor  the  groups  in  the  above  list,  the  function  [2XBrauerTableOfTypeMGA[102X
  ([14XCTblLib:  BrauerTableOfTypeMGA[114X)  can  be  used  to  construct the [22Xp[122X-modular
  tables of [22XM.G.A[122X from the tables of [22XM.G[122X and [22XG.A[122X, for the given special primes
  [22Xp[122X. The computations can be performed as follows.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27Xfor input in cases do[127X[104X
    [4X[25X>[125X [27X     p:= input[4];[127X[104X
    [4X[25X>[125X [27X     modtblMG:=  CharacterTable( input[1] ) mod p;[127X[104X
    [4X[25X>[125X [27X     ordtblMGA:= CharacterTable( input[2] );[127X[104X
    [4X[25X>[125X [27X     modtblGA:=  CharacterTable( input[3] ) mod p;[127X[104X
    [4X[25X>[125X [27X     name:= Concatenation( Identifier( ordtblMGA ), " mod ", String(p) );[127X[104X
    [4X[25X>[125X [27X     if ForAll( [ modtblMG, modtblGA ], IsCharacterTable ) then[127X[104X
    [4X[25X>[125X [27X       poss:= BrauerTableOfTypeMGA( modtblMG, modtblGA, ordtblMGA );[127X[104X
    [4X[25X>[125X [27X       modlib:= ordtblMGA mod p;[127X[104X
    [4X[25X>[125X [27X       if IsCharacterTable( modlib ) then[127X[104X
    [4X[25X>[125X [27X         trans:= TransformingPermutationsCharacterTables( poss.table,[127X[104X
    [4X[25X>[125X [27X                     modlib );[127X[104X
    [4X[25X>[125X [27X         if not IsRecord( trans ) then[127X[104X
    [4X[25X>[125X [27X           Print( "#E  computed table and library table for ", name,[127X[104X
    [4X[25X>[125X [27X                  " differ\n" );[127X[104X
    [4X[25X>[125X [27X         fi;[127X[104X
    [4X[25X>[125X [27X       else[127X[104X
    [4X[25X>[125X [27X         Print( "#I  no library table for ", name, "\n" );[127X[104X
    [4X[25X>[125X [27X       fi;[127X[104X
    [4X[25X>[125X [27X     else[127X[104X
    [4X[25X>[125X [27X       Print( "#I  not all input tables for ", name, " available\n" );[127X[104X
    [4X[25X>[125X [27X     fi;[127X[104X
    [4X[25X>[125X [27X   od;[127X[104X
    [4X[28X#I  not all input tables for 2.L2(49).2_2 mod 7 available[128X[104X
    [4X[28X#I  not all input tables for 2.L2(81).2_1 mod 3 available[128X[104X
    [4X[28X#I  not all input tables for 2.L2(81).4_1 mod 3 available[128X[104X
    [4X[28X#I  not all input tables for 2.L2(81).4_1 mod 3 available[128X[104X
  [4X[32X[104X
  
  [33X[0;0YThe  examples  [22X2.A_6.2_1[122X,  [22X2.L_2(25).2_2[122X,  and  [22X2.L_2(49).2_2[122X  belong to the
  infinite  series  of  semiliniear  groups  [22XΣ[122XL[22X(2,p^2)[122X,  for odd primes [22Xp[122X. All
  groups  in  this  series  have  the  property  that all faithful irreducible
  characters    vanish   on   the   [22Xp[122X-regular   classes   outside   SL[22X(2,p^2)[122X.
  (Cf. Section [14X2.2-6[114X for another property of the groups in this series.)[133X
  
  
  [1X2.5 [33X[0;0YExamples for the Type [22XG.S_3[122X[101X[1X[133X[101X
  
  
  [1X2.5-1 [33X[0;0YSmall Examples[133X[101X
  
  [33X[0;0YThe  symmetric  group  [22XS_4[122X  on four points has the form [22XG.S_3[122X where [22XG[122X is the
  Klein  four  group [22XV_4[122X, [22XG.2[122X is the dihedral group [22XD_8[122X of order [22X8[122X, and [22XG.3[122X is
  the  alternating  group [22XA_4[122X. The trivial character of [22XA_4[122X extends twofold to
  [22XS_4[122X, in the same way as the trivial character of [22XV_4[122X extends to the dihedral
  group.  The  nontrivial  linear characters of [22XA_4[122X induce irreducibly to [22XS_4[122X.
  The  irreducible  degree  three  character of [22XA_4[122X is induced from any of the
  three nontrivial linear characters of [22XV_4[122X, it extends to [22XS_4[122X in the same way
  as the unique constituent of the restriction to [22XV_4[122X that is invariant in the
  chosen [22XD_8[122X extends to [22XD_8[122X.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27Xc2:= CharacterTable( "Cyclic", 2 );;[127X[104X
    [4X[25Xgap>[125X [27Xt:= c2 * c2;;[127X[104X
    [4X[25Xgap>[125X [27XtC:= CharacterTable( "Dihedral", 8 );;[127X[104X
    [4X[25Xgap>[125X [27XtK:= CharacterTable( "Alternating", 4 );;[127X[104X
    [4X[25Xgap>[125X [27XtfustC:= PossibleClassFusions( t, tC );[127X[104X
    [4X[28X[ [ 1, 3, 4, 4 ], [ 1, 3, 5, 5 ], [ 1, 4, 3, 4 ], [ 1, 4, 4, 3 ], [128X[104X
    [4X[28X  [ 1, 5, 3, 5 ], [ 1, 5, 5, 3 ] ][128X[104X
    [4X[25Xgap>[125X [27XStoreFusion( t, tfustC[1], tC );[127X[104X
    [4X[25Xgap>[125X [27XtfustK:= PossibleClassFusions( t, tK );[127X[104X
    [4X[28X[ [ 1, 2, 2, 2 ] ][128X[104X
    [4X[25Xgap>[125X [27XStoreFusion( t, tfustK[1], tK );[127X[104X
    [4X[25Xgap>[125X [27Xelms:= PossibleActionsForTypeGS3( t, tC, tK );[127X[104X
    [4X[28X[ (3,4) ][128X[104X
    [4X[25Xgap>[125X [27Xnew:= CharacterTableOfTypeGS3( t, tC, tK, elms[1], "S4" );[127X[104X
    [4X[28Xrec( table := CharacterTable( "S4" ), [128X[104X
    [4X[28X  tblCfustblKC := [ 1, 4, 2, 2, 5 ], tblKfustblKC := [ 1, 2, 3, 3 ] )[128X[104X
    [4X[25Xgap>[125X [27XDisplay( new.table );[127X[104X
    [4X[28XS4[128X[104X
    [4X[28X[128X[104X
    [4X[28X     2  3  3  .  2  2[128X[104X
    [4X[28X     3  1  .  1  .  .[128X[104X
    [4X[28X[128X[104X
    [4X[28X       1a 2a 3a 4a 2b[128X[104X
    [4X[28X    2P 1a 1a 3a 2a 1a[128X[104X
    [4X[28X    3P 1a 2a 1a 4a 2b[128X[104X
    [4X[28X[128X[104X
    [4X[28XX.1     1  1  1  1  1[128X[104X
    [4X[28XX.2     1  1  1 -1 -1[128X[104X
    [4X[28XX.3     3 -1  .  1 -1[128X[104X
    [4X[28XX.4     3 -1  . -1  1[128X[104X
    [4X[28XX.5     2  2 -1  .  .[128X[104X
  [4X[32X[104X
  
  [33X[0;0YThe case [22Xe > 1[122X occurs in the following example. We choose [22XG[122X the cyclic group
  of order two, [22XG.C[122X the cyclic group of order six, [22XG.K[122X the quaternion group of
  order  eight,  and  construct the character table of [22XG.F = SL_2(3)[122X, with [22XF ≅
  A_4[122X.[133X
  
  [33X[0;0YWe  get  three  extensions  of the trivial character of [22XG.K[122X to [22XG.F[122X, a degree
  three  character  induced  from the nontrivial linear characters of [22XG.K[122X, and
  three extensions of the irreducible degree [22X2[122X character of [22XG.K[122X.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27Xt:= CharacterTable( "Cyclic", 2 );;[127X[104X
    [4X[25Xgap>[125X [27XtC:= CharacterTable( "Cyclic", 6 );;[127X[104X
    [4X[25Xgap>[125X [27XtK:= CharacterTable( "Quaternionic", 8 );;[127X[104X
    [4X[25Xgap>[125X [27XtfustC:= PossibleClassFusions( t, tC );[127X[104X
    [4X[28X[ [ 1, 4 ] ][128X[104X
    [4X[25Xgap>[125X [27XStoreFusion( t, tfustC[1], tC );[127X[104X
    [4X[25Xgap>[125X [27XtfustK:= PossibleClassFusions( t, tK );[127X[104X
    [4X[28X[ [ 1, 3 ] ][128X[104X
    [4X[25Xgap>[125X [27XStoreFusion( t, tfustK[1], tK );[127X[104X
    [4X[25Xgap>[125X [27Xelms:= PossibleActionsForTypeGS3( t, tC, tK );[127X[104X
    [4X[28X[ (2,5,4) ][128X[104X
    [4X[25Xgap>[125X [27Xnew:= CharacterTableOfTypeGS3( t, tC, tK, elms[1], "SL(2,3)" );[127X[104X
    [4X[28Xrec( table := CharacterTable( "SL(2,3)" ), [128X[104X
    [4X[28X  tblCfustblKC := [ 1, 4, 5, 3, 6, 7 ], [128X[104X
    [4X[28X  tblKfustblKC := [ 1, 2, 3, 2, 2 ] )[128X[104X
    [4X[25Xgap>[125X [27XDisplay( new.table );[127X[104X
    [4X[28XSL(2,3)[128X[104X
    [4X[28X[128X[104X
    [4X[28X     2  3  2  3  1   1   1  1[128X[104X
    [4X[28X     3  1  .  1  1   1   1  1[128X[104X
    [4X[28X[128X[104X
    [4X[28X       1a 4a 2a 6a  3a  3b 6b[128X[104X
    [4X[28X    2P 1a 2a 1a 3a  3b  3a 3b[128X[104X
    [4X[28X    3P 1a 4a 2a 2a  1a  1a 2a[128X[104X
    [4X[28X[128X[104X
    [4X[28XX.1     1  1  1  1   1   1  1[128X[104X
    [4X[28XX.2     1  1  1  A  /A   A /A[128X[104X
    [4X[28XX.3     1  1  1 /A   A  /A  A[128X[104X
    [4X[28XX.4     3 -1  3  .   .   .  .[128X[104X
    [4X[28XX.5     2  . -2 /A  -A -/A  A[128X[104X
    [4X[28XX.6     2  . -2  1  -1  -1  1[128X[104X
    [4X[28XX.7     2  . -2  A -/A  -A /A[128X[104X
    [4X[28X[128X[104X
    [4X[28XA = E(3)[128X[104X
    [4X[28X  = (-1+Sqrt(-3))/2 = b3[128X[104X
  [4X[32X[104X
  
  
  [1X2.5-2 [33X[0;0Y[5XAtlas[105X[101X[1X Tables of the Type [22XG.S_3[122X[101X[1X[133X[101X
  
  [33X[0;0YWe  demonstrate the construction of all those ordinary and modular character
  tables in the [5XGAP[105X Character Table Library that are of the type [22XG.S_3[122X where [22XG[122X
  is  a  simple group or a central extension of a simple group whose character
  table  is contained in the [5XAtlas[105X. Here is the list of [2XIdentifier[102X ([14XReference:
  Identifier for tables of marks[114X) values needed for accessing the input tables
  and the known library tables corresponding to the output.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XlistGS3:= [[127X[104X
    [4X[25X>[125X [27X[ "U3(5)",      "U3(5).2",      "U3(5).3",      "U3(5).S3"        ],[127X[104X
    [4X[25X>[125X [27X[ "3.U3(5)",    "3.U3(5).2",    "3.U3(5).3",    "3.U3(5).S3"      ],[127X[104X
    [4X[25X>[125X [27X[ "L3(4)",      "L3(4).2_2",    "L3(4).3",      "L3(4).3.2_2"     ],[127X[104X
    [4X[25X>[125X [27X[ "L3(4)",      "L3(4).2_3",    "L3(4).3",      "L3(4).3.2_3"     ],[127X[104X
    [4X[25X>[125X [27X[ "3.L3(4)",    "3.L3(4).2_2",  "3.L3(4).3",    "3.L3(4).3.2_2"   ],[127X[104X
    [4X[25X>[125X [27X[ "3.L3(4)",    "3.L3(4).2_3",  "3.L3(4).3",    "3.L3(4).3.2_3"   ],[127X[104X
    [4X[25X>[125X [27X[ "2^2.L3(4)",  "2^2.L3(4).2_2","2^2.L3(4).3",  "2^2.L3(4).3.2_2" ],[127X[104X
    [4X[25X>[125X [27X[ "2^2.L3(4)",  "2^2.L3(4).2_3","2^2.L3(4).3",  "2^2.L3(4).3.2_3" ],[127X[104X
    [4X[25X>[125X [27X[ "U6(2)",      "U6(2).2",      "U6(2).3",      "U6(2).3.2"       ],[127X[104X
    [4X[25X>[125X [27X[ "3.U6(2)",    "3.U6(2).2",    "3.U6(2).3",    "3.U6(2).3.2"     ],[127X[104X
    [4X[25X>[125X [27X[ "2^2.U6(2)",  "2^2.U6(2).2",  "2^2.U6(2).3",  "2^2.U6(2).3.2"   ],[127X[104X
    [4X[25X>[125X [27X[ "O8+(2)",     "O8+(2).2",     "O8+(2).3",     "O8+(2).3.2"      ],[127X[104X
    [4X[25X>[125X [27X[ "2^2.O8+(2)", "2^2.O8+(2).2", "2^2.O8+(2).3", "2^2.O8+(2).3.2"  ],[127X[104X
    [4X[25X>[125X [27X[ "L3(7)",      "L3(7).2",      "L3(7).3",      "L3(7).S3"        ],[127X[104X
    [4X[25X>[125X [27X[ "3.L3(7)",    "3.L3(7).2",    "3.L3(7).3",    "3.L3(7).S3"      ],[127X[104X
    [4X[25X>[125X [27X[ "U3(8)",      "U3(8).2",      "U3(8).3_2",    "U3(8).S3"        ],[127X[104X
    [4X[25X>[125X [27X[ "3.U3(8)",    "3.U3(8).2",    "3.U3(8).3_2",  "3.U3(8).S3"      ],[127X[104X
    [4X[25X>[125X [27X[ "U3(11)",     "U3(11).2",     "U3(11).3",     "U3(11).S3"       ],[127X[104X
    [4X[25X>[125X [27X[ "3.U3(11)",   "3.U3(11).2",   "3.U3(11).3",   "3.U3(11).S3"     ],[127X[104X
    [4X[25X>[125X [27X[ "O8+(3)",     "O8+(3).2_2",   "O8+(3).3",     "O8+(3).S3"       ],[127X[104X
    [4X[25X>[125X [27X[ "2E6(2)",     "2E6(2).2",     "2E6(2).3",     "2E6(2).S3"       ],[127X[104X
    [4X[25X>[125X [27X[ "2^2.2E6(2)", "2^2.2E6(2).2", "2^2.2E6(2).3", "2^2.2E6(2).S3"   ],[127X[104X
    [4X[25X>[125X [27X];;[127X[104X
  [4X[32X[104X
  
  [33X[0;0Y(For  [22XG[122X  one of [22XL_3(4)[122X, [22XU_6(2)[122X, [22XO_8^+(2)[122X, and [22X^2E_6(2)[122X, the tables of [22X2^2.G[122X,
  [22X2^2.G.2[122X,  and  [22X2^2.G.3[122X  can  be  constructed  with  the methods described in
  Section [14X2.3-4[114X and Section [14X2.3-1[114X, respectively.)[133X
  
  [33X[0;0YAnalogously,  the  automorphism  groups of [22XL_3(4)[122X, [22XU_3(8)[122X, and [22XO_8^+(3)[122X have
  factor groups isomorphic with [22XS_3[122X; in these cases, we choose [22XG = L_3(4).2_1[122X,
  [22XG = U_3(8).3_1[122X, and [22XG = O_8^+(3).2^2_111[122X, respectively.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XAppend( listGS3, [[127X[104X
    [4X[25X>[125X [27X[ "L3(4).2_1",          "L3(4).2^2",     "L3(4).6",     "L3(4).D12"     ],[127X[104X
    [4X[25X>[125X [27X[ "2^2.L3(4).2_1",      "2^2.L3(4).2^2", "2^2.L3(4).6", "2^2.L3(4).D12" ],[127X[104X
    [4X[25X>[125X [27X[ "U3(8).3_1",          "U3(8).6",       "U3(8).3^2",   "U3(8).(S3x3)"  ],[127X[104X
    [4X[25X>[125X [27X[ "O8+(3).(2^2)_{111}", "O8+(3).D8",     "O8+(3).A4",   "O8+(3).S4"     ],[127X[104X
    [4X[25X>[125X [27X] );[127X[104X
  [4X[32X[104X
  
  [33X[0;0YIn  all  these  cases,  the  required  table automorphism of [22XG.3[122X is uniquely
  determined.  We first compute the ordinary character table of [22XG.S_3[122X and then
  the  [22Xp[122X-modular  tables, for all prime divisors [22Xp[122X of the order of [22XG[122X such that
  the  [5XGAP[105X  Character  Table  Library  contains  the necessary [22Xp[122X-modular input
  tables.[133X
  
  [33X[0;0YIn  each case, we compare the computed character tables with the ones in the
  [5XGAP[105X  Character  Table  Library. Note that in order to avoid conflicts of the
  class fusions that arise in the construction with the class fusions that are
  already  stored  on the library tables, we choose identifiers for the result
  tables that are different from the identifiers of the library tables.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XProcessGS3Example:= function( t, tC, tK, identifier, pi )[127X[104X
    [4X[25X>[125X [27X   local tF, lib, trans, p, tmodp, tCmodp, tKmodp, modtF;[127X[104X
    [4X[25X>[125X [27X[127X[104X
    [4X[25X>[125X [27X   tF:= CharacterTableOfTypeGS3( t, tC, tK, pi,[127X[104X
    [4X[25X>[125X [27X            Concatenation( identifier, "new" ) );[127X[104X
    [4X[25X>[125X [27X   lib:= CharacterTable( identifier );[127X[104X
    [4X[25X>[125X [27X   if lib <> fail then[127X[104X
    [4X[25X>[125X [27X     trans:= TransformingPermutationsCharacterTables( tF.table, lib );[127X[104X
    [4X[25X>[125X [27X     if not IsRecord( trans ) then[127X[104X
    [4X[25X>[125X [27X       Print( "#E  computed table and library table for `", identifier,[127X[104X
    [4X[25X>[125X [27X              "' differ\n" );[127X[104X
    [4X[25X>[125X [27X     fi;[127X[104X
    [4X[25X>[125X [27X   else[127X[104X
    [4X[25X>[125X [27X     Print( "#I  no library table for `", identifier, "'\n" );[127X[104X
    [4X[25X>[125X [27X   fi;[127X[104X
    [4X[25X>[125X [27X   StoreFusion( tC, tF.tblCfustblKC, tF.table );[127X[104X
    [4X[25X>[125X [27X   StoreFusion( tK, tF.tblKfustblKC, tF.table );[127X[104X
    [4X[25X>[125X [27X   for p in PrimeDivisors( Size( t ) ) do[127X[104X
    [4X[25X>[125X [27X     tmodp := t  mod p;[127X[104X
    [4X[25X>[125X [27X     tCmodp:= tC mod p;[127X[104X
    [4X[25X>[125X [27X     tKmodp:= tK mod p;[127X[104X
    [4X[25X>[125X [27X     if IsCharacterTable( tmodp ) and[127X[104X
    [4X[25X>[125X [27X        IsCharacterTable( tCmodp ) and[127X[104X
    [4X[25X>[125X [27X        IsCharacterTable( tKmodp ) then[127X[104X
    [4X[25X>[125X [27X       modtF:= CharacterTableOfTypeGS3( tmodp, tCmodp, tKmodp,[127X[104X
    [4X[25X>[125X [27X                   tF.table,[127X[104X
    [4X[25X>[125X [27X                   Concatenation(  identifier, "mod", String( p ) ) );[127X[104X
    [4X[25X>[125X [27X       if   Length( Irr( modtF.table ) ) <>[127X[104X
    [4X[25X>[125X [27X            Length( Irr( modtF.table )[1] ) then[127X[104X
    [4X[25X>[125X [27X         Print( "#E  nonsquare result table for `",[127X[104X
    [4X[25X>[125X [27X                identifier, " mod ", p, "'\n" );[127X[104X
    [4X[25X>[125X [27X       elif lib <> fail and IsCharacterTable( lib mod p ) then[127X[104X
    [4X[25X>[125X [27X         trans:= TransformingPermutationsCharacterTables( modtF.table,[127X[104X
    [4X[25X>[125X [27X                                                          lib mod p );[127X[104X
    [4X[25X>[125X [27X         if not IsRecord( trans ) then[127X[104X
    [4X[25X>[125X [27X           Print( "#E  computed table and library table for `",[127X[104X
    [4X[25X>[125X [27X                  identifier, " mod ", p, "' differ\n" );[127X[104X
    [4X[25X>[125X [27X         fi;[127X[104X
    [4X[25X>[125X [27X       else[127X[104X
    [4X[25X>[125X [27X         Print( "#I  no library table for `", identifier, " mod ",[127X[104X
    [4X[25X>[125X [27X                p, "'\n" );[127X[104X
    [4X[25X>[125X [27X       fi;[127X[104X
    [4X[25X>[125X [27X     else[127X[104X
    [4X[25X>[125X [27X       Print( "#I  not all inputs available for `", identifier,[127X[104X
    [4X[25X>[125X [27X              " mod ", p, "'\n" );[127X[104X
    [4X[25X>[125X [27X     fi;[127X[104X
    [4X[25X>[125X [27X   od;[127X[104X
    [4X[25X>[125X [27Xend;;[127X[104X
  [4X[32X[104X
  
  [33X[0;0YNow we call the function for the examples in the list.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27Xfor input in listGS3 do[127X[104X
    [4X[25X>[125X [27X     t := CharacterTable( input[1] );[127X[104X
    [4X[25X>[125X [27X     tC:= CharacterTable( input[2] );[127X[104X
    [4X[25X>[125X [27X     tK:= CharacterTable( input[3] );[127X[104X
    [4X[25X>[125X [27X     identifier:= input[4];[127X[104X
    [4X[25X>[125X [27X     elms:= PossibleActionsForTypeGS3( t, tC, tK );[127X[104X
    [4X[25X>[125X [27X     if Length( elms ) = 1 then[127X[104X
    [4X[25X>[125X [27X       ProcessGS3Example( t, tC, tK, identifier, elms[1] );[127X[104X
    [4X[25X>[125X [27X     else[127X[104X
    [4X[25X>[125X [27X       Print( "#I  ", Length( elms ), " actions possible for `",[127X[104X
    [4X[25X>[125X [27X              identifier, "'\n" );[127X[104X
    [4X[25X>[125X [27X     fi;[127X[104X
    [4X[25X>[125X [27X   od;[127X[104X
    [4X[28X#I  not all inputs available for `O8+(3).S3 mod 3'[128X[104X
    [4X[28X#I  not all inputs available for `2E6(2).S3 mod 2'[128X[104X
    [4X[28X#I  not all inputs available for `2E6(2).S3 mod 3'[128X[104X
    [4X[28X#I  not all inputs available for `2E6(2).S3 mod 5'[128X[104X
    [4X[28X#I  not all inputs available for `2E6(2).S3 mod 7'[128X[104X
    [4X[28X#I  not all inputs available for `2E6(2).S3 mod 11'[128X[104X
    [4X[28X#I  not all inputs available for `2E6(2).S3 mod 13'[128X[104X
    [4X[28X#I  not all inputs available for `2E6(2).S3 mod 17'[128X[104X
    [4X[28X#I  not all inputs available for `2E6(2).S3 mod 19'[128X[104X
    [4X[28X#I  not all inputs available for `2^2.2E6(2).S3 mod 2'[128X[104X
    [4X[28X#I  not all inputs available for `2^2.2E6(2).S3 mod 3'[128X[104X
    [4X[28X#I  not all inputs available for `2^2.2E6(2).S3 mod 5'[128X[104X
    [4X[28X#I  not all inputs available for `2^2.2E6(2).S3 mod 7'[128X[104X
    [4X[28X#I  not all inputs available for `2^2.2E6(2).S3 mod 11'[128X[104X
    [4X[28X#I  not all inputs available for `2^2.2E6(2).S3 mod 13'[128X[104X
    [4X[28X#I  not all inputs available for `2^2.2E6(2).S3 mod 17'[128X[104X
    [4X[28X#I  not all inputs available for `2^2.2E6(2).S3 mod 19'[128X[104X
    [4X[28X#I  not all inputs available for `U3(8).(S3x3) mod 2'[128X[104X
    [4X[28X#I  not all inputs available for `U3(8).(S3x3) mod 19'[128X[104X
    [4X[28X#I  not all inputs available for `O8+(3).S4 mod 3'[128X[104X
  [4X[32X[104X
  
  [33X[0;0YAlso the ordinary character table of the automorphic extension of the simple
  [5XAtlas[105X  group [22XO_8^+(3)[122X by [22XA_4[122X can be constructed with the same approach. Here
  we  get  four  possible  permutations,  which  lead  to essentially the same
  character table.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27Xinput:= [ "O8+(3)", "O8+(3).3", "O8+(3).(2^2)_{111}", "O8+(3).A4" ];;[127X[104X
    [4X[25Xgap>[125X [27Xt := CharacterTable( input[1] );;[127X[104X
    [4X[25Xgap>[125X [27XtC:= CharacterTable( input[2] );;[127X[104X
    [4X[25Xgap>[125X [27XtK:= CharacterTable( input[3] );;[127X[104X
    [4X[25Xgap>[125X [27Xidentifier:= input[4];;[127X[104X
    [4X[25Xgap>[125X [27Xelms:= PossibleActionsForTypeGS3( t, tC, tK );;[127X[104X
    [4X[25Xgap>[125X [27XLength( elms );[127X[104X
    [4X[28X4[128X[104X
    [4X[25Xgap>[125X [27Xdiffer:= MovedPoints( Group( List( elms, x -> x / elms[1] ) ) );;[127X[104X
    [4X[25Xgap>[125X [27XList( elms, x -> RestrictedPerm( x, differ ) );[127X[104X
    [4X[28X[ (118,216,169)(119,217,170)(120,218,167)(121,219,168), [128X[104X
    [4X[28X  (118,216,170)(119,217,169)(120,219,168)(121,218,167), [128X[104X
    [4X[28X  (118,217,169)(119,216,170)(120,218,168)(121,219,167), [128X[104X
    [4X[28X  (118,217,170)(119,216,169)(120,219,167)(121,218,168) ][128X[104X
    [4X[25Xgap>[125X [27Xposs:= List( elms, pi -> CharacterTableOfTypeGS3( t, tC, tK, pi,[127X[104X
    [4X[25X>[125X [27X            Concatenation( identifier, "new" ) ) );;[127X[104X
    [4X[25Xgap>[125X [27Xlib:= CharacterTable( identifier );;[127X[104X
    [4X[25Xgap>[125X [27XForAll( poss, r -> IsRecord([127X[104X
    [4X[25X>[125X [27X       TransformingPermutationsCharacterTables( r.table, lib ) ) );[127X[104X
    [4X[28Xtrue[128X[104X
  [4X[32X[104X
  
  [33X[0;0YAlso the construction of the [22Xp[122X-modular tables of [22XO_8^+(3).A_4[122X works.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XProcessGS3Example( t, tC, tK, identifier, elms[1] );[127X[104X
    [4X[28X#I  not all inputs available for `O8+(3).A4 mod 3'[128X[104X
  [4X[32X[104X
  
  
  [1X2.6 [33X[0;0YExamples for the Type [22XG.2^2[122X[101X[1X[133X[101X
  
  
  [1X2.6-1 [33X[0;0YThe Character Table of [22XA_6.2^2[122X[101X[1X[133X[101X
  
  [33X[0;0YAs  the  first  example,  we  consider  the  automorphism group Aut[22X( A_6 ) ≅
  A_6.2^2[122X of the alternating group [22XA_6[122X on six points.[133X
  
  [33X[0;0YIn  this  case,  the  triple of actions on the subgroups [22XA_6.2_i[122X is uniquely
  determined   by  the  condition  on  the  number  of  conjugacy  classes  in
  Section [14X2.3-3[114X.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XtblG:= CharacterTable( "A6" );;[127X[104X
    [4X[25Xgap>[125X [27XtblsG2:= List( [ "A6.2_1", "A6.2_2", "A6.2_3" ], CharacterTable );;[127X[104X
    [4X[25Xgap>[125X [27XList( tblsG2, NrConjugacyClasses );[127X[104X
    [4X[28X[ 11, 11, 8 ][128X[104X
    [4X[25Xgap>[125X [27Xpossact:= List( tblsG2, x -> Filtered( Elements( [127X[104X
    [4X[25X>[125X [27X       AutomorphismsOfTable( x ) ), y -> Order( y ) <= 2 ) );[127X[104X
    [4X[28X[ [ (), (3,4)(7,8)(10,11) ], [128X[104X
    [4X[28X  [ (), (8,9), (5,6)(10,11), (5,6)(8,9)(10,11) ], [ (), (7,8) ] ][128X[104X
  [4X[32X[104X
  
  [33X[0;0YNote that [22Xn_1 = n_2[122X implies [22Xf_1 = f_2[122X, and [22Xn_1 - n_3 = 3[122X implies [22Xf_1 - f_3 =
  2[122X, so we get [22Xf_1 = 3[122X and [22Xf_3 = 1[122X, and [22XA_6.2^2[122X has [22X2 ⋅ 11 - 3 ⋅ 3 = 2 ⋅ 8 - 3
  ⋅ 1 = 13[122X classes.[133X
  
  [33X[0;0Y(The  compatibility on the classes inside [22XA_6[122X yields only that the classes [22X3[122X
  and  [22X4[122X  of  [22XA_6.2_1 ≅ S_6[122X must be fused in [22XA_6.2^2[122X, as well as the classes [22X5[122X
  and [22X6[122X of [22XA_6.2_2 ≅[122X PGL[22X(2,9)[122X.)[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XList( tblsG2, x -> GetFusionMap( tblG, x ) );[127X[104X
    [4X[28X[ [ 1, 2, 3, 4, 5, 6, 6 ], [ 1, 2, 3, 3, 4, 5, 6 ], [128X[104X
    [4X[28X  [ 1, 2, 3, 3, 4, 5, 5 ] ][128X[104X
  [4X[32X[104X
  
  [33X[0;0YThese  arguments  are  used  by  the  [5XGAP[105X function [2XPossibleActionsForTypeGV4[102X
  ([14XCTblLib: PossibleActionsForTypeGV4[114X), which returns the list of all possible
  triples  of permutations such that the [22Xi[122X-th permutation describes the action
  of [22XA_6.2^2[122X on the classes of [22XA_6.2_i[122X.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27Xacts:= PossibleActionsForTypeGV4( tblG, tblsG2 );    [127X[104X
    [4X[28X[ [ (3,4)(7,8)(10,11), (5,6)(8,9)(10,11), (7,8) ] ][128X[104X
  [4X[32X[104X
  
  [33X[0;0YFor  the  given  actions,  the [5XGAP[105X function [2XPossibleCharacterTablesOfTypeGV4[102X
  ([14XCTblLib:  PossibleCharacterTablesOfTypeGV4[114X) then computes the possibilities
  for the character table of [22XA_6.2^2[122X; in this case, the result is unique.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27Xposs:= PossibleCharacterTablesOfTypeGV4( tblG, tblsG2, acts[1],[127X[104X
    [4X[25X>[125X [27X              "A6.2^2" );[127X[104X
    [4X[28X[ rec( [128X[104X
    [4X[28X      G2fusGV4 := [ [ 1, 2, 3, 3, 4, 5, 6, 6, 7, 8, 8 ], [128X[104X
    [4X[28X          [ 1, 2, 3, 4, 5, 5, 9, 10, 10, 11, 11 ], [128X[104X
    [4X[28X          [ 1, 2, 3, 4, 5, 12, 13, 13 ] ], [128X[104X
    [4X[28X      table := CharacterTable( "A6.2^2" ) ) ][128X[104X
    [4X[25Xgap>[125X [27XIsRecord( TransformingPermutationsCharacterTables( poss[1].table,[127X[104X
    [4X[25X>[125X [27X                 CharacterTable( "A6.2^2" ) ) );[127X[104X
    [4X[28Xtrue[128X[104X
  [4X[32X[104X
  
  [33X[0;0YFinally,  possible [22Xp[122X-modular tables can be computed from the [22Xp[122X-modular input
  tables and the ordinary table of [22XA_6.2^2[122X; here we show this for [22Xp = 3[122X.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XPossibleCharacterTablesOfTypeGV4( tblG mod 3,[127X[104X
    [4X[25X>[125X [27X       List( tblsG2, t -> t mod 3 ), poss[1].table );[127X[104X
    [4X[28X[ rec( [128X[104X
    [4X[28X      G2fusGV4 := [128X[104X
    [4X[28X        [ [ 1, 2, 3, 4, 5, 5, 6 ], [ 1, 2, 3, 4, 4, 7, 8, 8, 9, 9 ], [128X[104X
    [4X[28X          [ 1, 2, 3, 4, 10, 11, 11 ] ], [128X[104X
    [4X[28X      table := BrauerTable( "A6.2^2", 3 ) ) ][128X[104X
  [4X[32X[104X
  
  
  [1X2.6-2 [33X[0;0Y[5XAtlas[105X[101X[1X Tables of the Type [22XG.2^2[122X[101X[1X – Easy Cases[133X[101X
  
  [33X[0;0YWe  demonstrate the construction of all those ordinary and modular character
  tables in the [5XGAP[105X Character Table Library that are of the type [22XG.2^2[122X where [22XG[122X
  is  a  simple group or a central extension of a simple group whose character
  table  is contained in the [5XAtlas[105X. Here is the list of [2XIdentifier[102X ([14XReference:
  Identifier for tables of marks[114X) values needed for accessing the input tables
  and the result tables.[133X
  
  [33X[0;0Y(The  construction  of  the  character  table  of  [22XO_8^+(3).2^2_111[122X  is more
  involved  and  will  be described in Section [14X2.6-10[114X. The construction of the
  character  tables  of  groups  of  the type [22X2.L_3(4).2^2[122X and [22X6.L_3(4).2^2[122X is
  described in the sections [14X2.6-4[114X and [14X2.6-5[114X, respectively. The construction of
  the  character  tables  of  groups  of the type [22X2.U_4(3).2^2[122X is described in
  Section [14X2.6-6[114X.)[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XlistGV4:= [[127X[104X
    [4X[25X>[125X [27X[ "A6",      "A6.2_1",      "A6.2_2",      "A6.2_3",      "A6.2^2"      ],[127X[104X
    [4X[25X>[125X [27X[ "3.A6",    "3.A6.2_1",    "3.A6.2_2",    "3.A6.2_3",    "3.A6.2^2"    ],[127X[104X
    [4X[25X>[125X [27X[ "L2(25)",  "L2(25).2_1",  "L2(25).2_2",  "L2(25).2_3",  "L2(25).2^2"  ],[127X[104X
    [4X[25X>[125X [27X[ "L3(4)",   "L3(4).2_1",   "L3(4).2_2",   "L3(4).2_3",   "L3(4).2^2"   ],[127X[104X
    [4X[25X>[125X [27X[ "2^2.L3(4)", "2^2.L3(4).2_1", "2^2.L3(4).2_2", "2^2.L3(4).2_3",[127X[104X
    [4X[25X>[125X [27X                                                        "2^2.L3(4).2^2" ],[127X[104X
    [4X[25X>[125X [27X[ "3.L3(4)", "3.L3(4).2_1", "3.L3(4).2_2", "3.L3(4).2_3", "3.L3(4).2^2" ],[127X[104X
    [4X[25X>[125X [27X[ "U4(3)",   "U4(3).2_1",   "U4(3).2_2",   "U4(3).2_2'",[127X[104X
    [4X[25X>[125X [27X                                                    "U4(3).(2^2)_{122}" ],[127X[104X
    [4X[25X>[125X [27X[ "U4(3)",   "U4(3).2_1",   "U4(3).2_3",   "U4(3).2_3'",[127X[104X
    [4X[25X>[125X [27X                                                    "U4(3).(2^2)_{133}" ],[127X[104X
    [4X[25X>[125X [27X[ "3_1.U4(3)", "3_1.U4(3).2_1", "3_1.U4(3).2_2", "3_1.U4(3).2_2'",[127X[104X
    [4X[25X>[125X [27X                                                "3_1.U4(3).(2^2)_{122}" ],[127X[104X
    [4X[25X>[125X [27X[ "3_2.U4(3)", "3_2.U4(3).2_1", "3_2.U4(3).2_3", "3_2.U4(3).2_3'",[127X[104X
    [4X[25X>[125X [27X                                                "3_2.U4(3).(2^2)_{133}" ],[127X[104X
    [4X[25X>[125X [27X[ "L2(49)",  "L2(49).2_1",  "L2(49).2_2",  "L2(49).2_3",  "L2(49).2^2"  ],[127X[104X
    [4X[25X>[125X [27X[ "L2(81)",  "L2(81).2_1",  "L2(81).2_2",  "L2(81).2_3",  "L2(81).2^2"  ],[127X[104X
    [4X[25X>[125X [27X[ "L3(9)",   "L3(9).2_1",   "L3(9).2_2",   "L3(9).2_3",   "L3(9).2^2"   ],[127X[104X
    [4X[25X>[125X [27X[ "O8+(3)",  "O8+(3).2_1",  "O8+(3).2_2",  "O8+(3).2_2'",[127X[104X
    [4X[25X>[125X [27X                                                   "O8+(3).(2^2)_{122}" ],[127X[104X
    [4X[25X>[125X [27X[ "O8-(3)",  "O8-(3).2_1",  "O8-(3).2_2",  "O8-(3).2_3",  "O8-(3).2^2"  ],[127X[104X
    [4X[25X>[125X [27X];;[127X[104X
  [4X[32X[104X
  
  [33X[0;0YAnalogously, the automorphism groups [22XL_3(4).D_12[122X of [22XL_3(4)[122X and [22XU_4(3).D_8[122X of
  [22XU_4(3)[122X, and the subgroup [22XO_8^+(3).D_8[122X of the automorphism group [22XO_8^+(3).S_4[122X
  have factor groups that are isomorphic with [22X2^2[122X; in these cases, we choose [22XG
  = L_3(4).3[122X, [22XG = U_4(3).2_1[122X, and [22XG = O_8^+(3).2_1[122X, respectively.[133X
  
  [33X[0;0YAlso  the group [22X2^2.L_3(4).D_12[122X has a factor group isomorphic with [22X2^2[122X. Note
  that  the  character  tables  of  [22XL_3(4).D_12[122X  and [22X2^2.L_3(4).D_12[122X have been
  constructed already in Section [14X2.5-2[114X.[133X
  
  [33X[0;0YThe  automorphism  groups of [22XL_4(4)[122X and [22XU_4(5)[122X have the structure [22XL_4(4).2^2[122X
  and  [22XU_4(5).2^2[122X,  respectively;  their  tables  are  contained  in  the  [5XGAP[105X
  Character Table Library but not in the [5XAtlas[105X.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XAppend( listGV4, [[127X[104X
    [4X[25X>[125X [27X[ "L3(4).3", "L3(4).6",     "L3(4).3.2_2", "L3(4).3.2_3", "L3(4).D12"   ],[127X[104X
    [4X[25X>[125X [27X[ "2^2.L3(4).3", "2^2.L3(4).6", "2^2.L3(4).3.2_2", "2^2.L3(4).3.2_3",[127X[104X
    [4X[25X>[125X [27X                                                        "2^2.L3(4).D12" ],[127X[104X
    [4X[25X>[125X [27X[ "U4(3).2_1", "U4(3).4", "U4(3).(2^2)_{122}", "U4(3).(2^2)_{133}",[127X[104X
    [4X[25X>[125X [27X                                                             "U4(3).D8" ],[127X[104X
    [4X[25X>[125X [27X[ "O8+(3).2_1", "O8+(3).(2^2)_{111}", "O8+(3).(2^2)_{122}", "O8+(3).4",[127X[104X
    [4X[25X>[125X [27X                                                            "O8+(3).D8" ],[127X[104X
    [4X[25X>[125X [27X[ "L4(4)",   "L4(4).2_1",   "L4(4).2_2",   "L4(4).2_3",   "L4(4).2^2"   ],[127X[104X
    [4X[25X>[125X [27X[ "U4(5)",   "U4(5).2_1",   "U4(5).2_2",   "U4(5).2_3",   "U4(5).2^2"   ],[127X[104X
    [4X[25X>[125X [27X] );[127X[104X
  [4X[32X[104X
  
  [33X[0;0YNow  we  proceed  in  two  steps,  the  computation of the possible ordinary
  character  tables  from  the  ordinary tables of the relevant subgroups, and
  then  the  computation  of  the  Brauer tables from the Brauer tables of the
  relevant subgroups and from the ordinary table of the group.[133X
  
  [33X[0;0YThe following function first computes the possible triples of actions on the
  subgroups  [22XG.2_i[122X,  using  the  function  [2XPossibleActionsForTypeGV4[102X ([14XCTblLib:
  PossibleActionsForTypeGV4[114X). Then the union of the candidate tables for these
  actions  is  computed, this list is returned in the end. and representatives
  of  classes  of permutation equivalent candidates are inspected further with
  consistency  checks.  If  there  is  a  unique  solution  up  to permutation
  equivalence,  this  table  is compared with the one that is contained in the
  [5XGAP[105X Character Table Library.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XConstructOrdinaryGV4Table:= function( tblG, tblsG2, name, lib )[127X[104X
    [4X[25X>[125X [27X     local acts, nam, poss, reps, i, trans;[127X[104X
    [4X[25X>[125X [27X[127X[104X
    [4X[25X>[125X [27X     # Compute the possible actions for the ordinary tables.[127X[104X
    [4X[25X>[125X [27X     acts:= PossibleActionsForTypeGV4( tblG, tblsG2 );[127X[104X
    [4X[25X>[125X [27X     # Compute the possible ordinary tables for the given actions.[127X[104X
    [4X[25X>[125X [27X     nam:= Concatenation( "new", name );[127X[104X
    [4X[25X>[125X [27X     poss:= Concatenation( List( acts, triple -> [127X[104X
    [4X[25X>[125X [27X         PossibleCharacterTablesOfTypeGV4( tblG, tblsG2, triple, nam ) ) );[127X[104X
    [4X[25X>[125X [27X     # Test the possibilities for permutation equivalence.[127X[104X
    [4X[25X>[125X [27X     reps:= RepresentativesCharacterTables( poss );[127X[104X
    [4X[25X>[125X [27X     if 1 < Length( reps ) then[127X[104X
    [4X[25X>[125X [27X       Print( "#I  ", name, ": ", Length( reps ),[127X[104X
    [4X[25X>[125X [27X              " equivalence classes\n" );[127X[104X
    [4X[25X>[125X [27X     elif Length( reps ) = 0 then[127X[104X
    [4X[25X>[125X [27X       Print( "#E  ", name, ": no solution\n" );[127X[104X
    [4X[25X>[125X [27X     else[127X[104X
    [4X[25X>[125X [27X       # Compare the computed table with the library table.[127X[104X
    [4X[25X>[125X [27X       if not IsCharacterTable( lib ) then[127X[104X
    [4X[25X>[125X [27X         Print( "#I  no library table for ", name, "\n" );[127X[104X
    [4X[25X>[125X [27X         PrintToLib( name, poss[1].table );[127X[104X
    [4X[25X>[125X [27X         for i in [ 1 .. 3 ] do[127X[104X
    [4X[25X>[125X [27X           Print( LibraryFusion( tblsG2[i],[127X[104X
    [4X[25X>[125X [27X                      rec( name:= name, map:= poss[1].G2fusGV4[i] ) ) );[127X[104X
    [4X[25X>[125X [27X         od;[127X[104X
    [4X[25X>[125X [27X       else[127X[104X
    [4X[25X>[125X [27X         trans:= TransformingPermutationsCharacterTables( poss[1].table,[127X[104X
    [4X[25X>[125X [27X                     lib );[127X[104X
    [4X[25X>[125X [27X         if not IsRecord( trans ) then[127X[104X
    [4X[25X>[125X [27X           Print( "#E  computed table and library table for ", name,[127X[104X
    [4X[25X>[125X [27X                  " differ\n" );[127X[104X
    [4X[25X>[125X [27X         fi;[127X[104X
    [4X[25X>[125X [27X         # Compare the computed fusions with the stored ones.[127X[104X
    [4X[25X>[125X [27X         if List( poss[1].G2fusGV4, x -> OnTuples( x, trans.columns ) )[127X[104X
    [4X[25X>[125X [27X                <> List( tblsG2, x -> GetFusionMap( x, lib ) ) then[127X[104X
    [4X[25X>[125X [27X           Print( "#E  computed and stored fusions for ", name,[127X[104X
    [4X[25X>[125X [27X                  " differ\n" );[127X[104X
    [4X[25X>[125X [27X         fi;[127X[104X
    [4X[25X>[125X [27X       fi;[127X[104X
    [4X[25X>[125X [27X     fi;[127X[104X
    [4X[25X>[125X [27X     return poss;[127X[104X
    [4X[25X>[125X [27X   end;;[127X[104X
  [4X[32X[104X
  
  [33X[0;0YThe following function computes, for all those prime divisors [22Xp[122X of the group
  order  in  question  such  that the [22Xp[122X-modular Brauer tables of the subgroups
  [22XG.2_i[122X  are  available, the possible [22Xp[122X-modular Brauer tables. If the solution
  is  unique up to permutation equivalence, it is compared with the table that
  is contained in the [5XGAP[105X Character Table Library.[133X
  
  [33X[0;0YIt  may happen (even in the case that the ordinary character table is unique
  up  to  permutation  equivalence)  that  some  candidates  for  the ordinary
  character  table  are excluded due to information provided by some [22Xp[122X-modular
  table.  In this case, a message is printed, and the ordinary character table
  from  the  [5XGAP[105X Character Table Library is checked again under the additional
  restrictions.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XConstructModularGV4Tables:= function( tblG, tblsG2, ordposs,[127X[104X
    [4X[25X>[125X [27X                                         ordlibtblGV4 )[127X[104X
    [4X[25X>[125X [27X     local name, modposs, primes, checkordinary, i, record, p, tmodp,[127X[104X
    [4X[25X>[125X [27X           t2modp, poss, modlib, trans, reps;[127X[104X
    [4X[25X>[125X [27X[127X[104X
    [4X[25X>[125X [27X     if not IsCharacterTable( ordlibtblGV4 ) then[127X[104X
    [4X[25X>[125X [27X       Print( "#I  no ordinary library table ...\n" );[127X[104X
    [4X[25X>[125X [27X       return [];[127X[104X
    [4X[25X>[125X [27X     fi;[127X[104X
    [4X[25X>[125X [27X     name:= Identifier( ordlibtblGV4 );[127X[104X
    [4X[25X>[125X [27X     modposs:= List( ordposs, x -> [] );[127X[104X
    [4X[25X>[125X [27X     primes:= ShallowCopy( PrimeDivisors( Size( tblG ) ) );[127X[104X
    [4X[25X>[125X [27X     ordposs:= ShallowCopy( ordposs );[127X[104X
    [4X[25X>[125X [27X     checkordinary:= false;[127X[104X
    [4X[25X>[125X [27X     for i in [ 1 .. Length( ordposs ) ] do[127X[104X
    [4X[25X>[125X [27X       record:= ordposs[i];[127X[104X
    [4X[25X>[125X [27X       for p in primes do[127X[104X
    [4X[25X>[125X [27X         tmodp := tblG  mod p;[127X[104X
    [4X[25X>[125X [27X         t2modp:= List( tblsG2, t2 -> t2 mod p );[127X[104X
    [4X[25X>[125X [27X         if IsCharacterTable( tmodp ) and[127X[104X
    [4X[25X>[125X [27X            ForAll( t2modp, IsCharacterTable ) then[127X[104X
    [4X[25X>[125X [27X           poss:= PossibleCharacterTablesOfTypeGV4( tmodp, t2modp,[127X[104X
    [4X[25X>[125X [27X                      record.table, record.G2fusGV4 );[127X[104X
    [4X[25X>[125X [27X           poss:= RepresentativesCharacterTables( poss );[127X[104X
    [4X[25X>[125X [27X           if   Length( poss ) = 0 then[127X[104X
    [4X[25X>[125X [27X             Print( "#I  excluded cand. ", i, " (out of ",[127X[104X
    [4X[25X>[125X [27X                    Length( ordposs ), ") for ", name, " by ", p,[127X[104X
    [4X[25X>[125X [27X                    "-mod. table\n" );[127X[104X
    [4X[25X>[125X [27X             Unbind( ordposs[i] );[127X[104X
    [4X[25X>[125X [27X             Unbind( modposs[i] );[127X[104X
    [4X[25X>[125X [27X             checkordinary:= true;[127X[104X
    [4X[25X>[125X [27X             break;[127X[104X
    [4X[25X>[125X [27X           elif Length( poss ) = 1 then[127X[104X
    [4X[25X>[125X [27X             # Compare the computed table with the library table.[127X[104X
    [4X[25X>[125X [27X             modlib:= ordlibtblGV4 mod p;[127X[104X
    [4X[25X>[125X [27X             if IsCharacterTable( modlib ) then[127X[104X
    [4X[25X>[125X [27X               trans:= TransformingPermutationsCharacterTables([127X[104X
    [4X[25X>[125X [27X                           poss[1].table, modlib );[127X[104X
    [4X[25X>[125X [27X               if not IsRecord( trans ) then[127X[104X
    [4X[25X>[125X [27X                 Print( "#E  computed table and library table for ",[127X[104X
    [4X[25X>[125X [27X                        name, " mod ", p, " differ\n" );[127X[104X
    [4X[25X>[125X [27X               fi;[127X[104X
    [4X[25X>[125X [27X             else[127X[104X
    [4X[25X>[125X [27X               Print( "#I  no library table for ",[127X[104X
    [4X[25X>[125X [27X                      name, " mod ", p, "\n" );[127X[104X
    [4X[25X>[125X [27X               PrintToLib( name, poss[1].table );[127X[104X
    [4X[25X>[125X [27X             fi;[127X[104X
    [4X[25X>[125X [27X           else[127X[104X
    [4X[25X>[125X [27X             Print( "#I  ", name, " mod ", p, ": ", Length( poss ),[127X[104X
    [4X[25X>[125X [27X                    " equivalence classes\n" );[127X[104X
    [4X[25X>[125X [27X           fi;[127X[104X
    [4X[25X>[125X [27X           Add( modposs[i], poss );[127X[104X
    [4X[25X>[125X [27X         elif i = 1 then[127X[104X
    [4X[25X>[125X [27X           Print( "#I  not all input tables for ", name, " mod ", p,[127X[104X
    [4X[25X>[125X [27X                  " available\n" );[127X[104X
    [4X[25X>[125X [27X           primes:= Difference( primes, [ p ] );[127X[104X
    [4X[25X>[125X [27X         fi;[127X[104X
    [4X[25X>[125X [27X       od;[127X[104X
    [4X[25X>[125X [27X     od;[127X[104X
    [4X[25X>[125X [27X     if checkordinary then[127X[104X
    [4X[25X>[125X [27X       # Test whether the ordinary table is admissible.[127X[104X
    [4X[25X>[125X [27X       ordposs:= Compacted( ordposs );[127X[104X
    [4X[25X>[125X [27X       modposs:= Compacted( modposs );[127X[104X
    [4X[25X>[125X [27X       reps:= RepresentativesCharacterTables( ordposs );[127X[104X
    [4X[25X>[125X [27X       if 1 < Length( reps ) then[127X[104X
    [4X[25X>[125X [27X         Print( "#I  ", name, ": ", Length( reps ),[127X[104X
    [4X[25X>[125X [27X                " equivalence classes (ord. table)\n" );[127X[104X
    [4X[25X>[125X [27X       elif Length( reps ) = 0 then[127X[104X
    [4X[25X>[125X [27X         Print( "#E  ", name, ": no solution (ord. table)\n" );[127X[104X
    [4X[25X>[125X [27X       else[127X[104X
    [4X[25X>[125X [27X         # Compare the computed table with the library table.[127X[104X
    [4X[25X>[125X [27X         trans:= TransformingPermutationsCharacterTables([127X[104X
    [4X[25X>[125X [27X                     ordposs[1].table, ordlibtblGV4 );[127X[104X
    [4X[25X>[125X [27X         if not IsRecord( trans ) then[127X[104X
    [4X[25X>[125X [27X           Print( "#E  computed table and library table for ", name,[127X[104X
    [4X[25X>[125X [27X                  " differ\n" );[127X[104X
    [4X[25X>[125X [27X         fi;[127X[104X
    [4X[25X>[125X [27X         # Compare the computed fusions with the stored ones.[127X[104X
    [4X[25X>[125X [27X         if List( ordposs[1].G2fusGV4, x -> OnTuples( x, trans.columns ) )[127X[104X
    [4X[25X>[125X [27X              <> List( tblsG2, x -> GetFusionMap( x, ordlibtblGV4 ) ) then[127X[104X
    [4X[25X>[125X [27X           Print( "#E  computed and stored fusions for ", name,[127X[104X
    [4X[25X>[125X [27X                  " differ\n" );[127X[104X
    [4X[25X>[125X [27X         fi;[127X[104X
    [4X[25X>[125X [27X       fi;[127X[104X
    [4X[25X>[125X [27X     fi;[127X[104X
    [4X[25X>[125X [27X     return rec( ordinary:= ordposs, modular:= modposs );[127X[104X
    [4X[25X>[125X [27X   end;;[127X[104X
  [4X[32X[104X
  
  [33X[0;0YFinally, here is the loop over the list of tables.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27Xfor input in listGV4 do[127X[104X
    [4X[25X>[125X [27X     tblG   := CharacterTable( input[1] );[127X[104X
    [4X[25X>[125X [27X     tblsG2 := List( input{ [ 2 .. 4 ] }, CharacterTable );[127X[104X
    [4X[25X>[125X [27X     lib    := CharacterTable( input[5] );[127X[104X
    [4X[25X>[125X [27X     poss   := ConstructOrdinaryGV4Table( tblG, tblsG2, input[5], lib );[127X[104X
    [4X[25X>[125X [27X     ConstructModularGV4Tables( tblG, tblsG2, poss, lib );[127X[104X
    [4X[25X>[125X [27X   od;[127X[104X
    [4X[28X#I  excluded cand. 2 (out of 2) for L3(4).2^2 by 3-mod. table[128X[104X
    [4X[28X#I  excluded cand. 2 (out of 8) for 2^2.L3(4).2^2 by 7-mod. table[128X[104X
    [4X[28X#I  excluded cand. 3 (out of 8) for 2^2.L3(4).2^2 by 5-mod. table[128X[104X
    [4X[28X#I  excluded cand. 4 (out of 8) for 2^2.L3(4).2^2 by 5-mod. table[128X[104X
    [4X[28X#I  excluded cand. 5 (out of 8) for 2^2.L3(4).2^2 by 5-mod. table[128X[104X
    [4X[28X#I  excluded cand. 6 (out of 8) for 2^2.L3(4).2^2 by 5-mod. table[128X[104X
    [4X[28X#I  excluded cand. 7 (out of 8) for 2^2.L3(4).2^2 by 7-mod. table[128X[104X
    [4X[28X#I  excluded cand. 2 (out of 2) for 3.L3(4).2^2 by 3-mod. table[128X[104X
    [4X[28X#I  excluded cand. 2 (out of 2) for L3(9).2^2 by 7-mod. table[128X[104X
    [4X[28X#I  not all input tables for O8+(3).(2^2)_{122} mod 3 available[128X[104X
    [4X[28X#I  not all input tables for O8-(3).2^2 mod 3 available[128X[104X
    [4X[28X#I  not all input tables for O8-(3).2^2 mod 5 available[128X[104X
    [4X[28X#I  not all input tables for O8-(3).2^2 mod 7 available[128X[104X
    [4X[28X#I  not all input tables for O8-(3).2^2 mod 13 available[128X[104X
    [4X[28X#I  not all input tables for O8-(3).2^2 mod 41 available[128X[104X
    [4X[28X#I  excluded cand. 2 (out of 2) for L3(4).D12 by 3-mod. table[128X[104X
    [4X[28X#I  excluded cand. 2 (out of 2) for 2^2.L3(4).D12 by 7-mod. table[128X[104X
    [4X[28X#I  not all input tables for O8+(3).D8 mod 3 available[128X[104X
    [4X[28X#I  not all input tables for L4(4).2^2 mod 3 available[128X[104X
    [4X[28X#I  not all input tables for L4(4).2^2 mod 5 available[128X[104X
    [4X[28X#I  not all input tables for L4(4).2^2 mod 7 available[128X[104X
    [4X[28X#I  not all input tables for L4(4).2^2 mod 17 available[128X[104X
    [4X[28X#I  not all input tables for U4(5).2^2 mod 2 available[128X[104X
    [4X[28X#I  not all input tables for U4(5).2^2 mod 3 available[128X[104X
    [4X[28X#I  not all input tables for U4(5).2^2 mod 5 available[128X[104X
    [4X[28X#I  not all input tables for U4(5).2^2 mod 7 available[128X[104X
    [4X[28X#I  not all input tables for U4(5).2^2 mod 13 available[128X[104X
  [4X[32X[104X
  
  [33X[0;0YThe  groups  [22X3.A_6.2^2[122X, [22X3.L_3(4).2^2[122X, and [22X3_2.U_4(3).(2^2)_133[122X have also the
  structure   [22XM.G.A[122X,   with   [22XM.G[122X   equal   to  [22X3.A_6.2_3[122X,  [22X3.L_3(4).2_1[122X,  and
  [22X3_2.U_4(3).2_3[122X,  respectively,  and  [22XG.A[122X  equal  to [22XA_6.2^2[122X, [22XL_3(4).2^2[122X, and
  [22XU_4(3).(2^2)_133[122X, respectively (see Section [14X2.4-3[114X).[133X
  
  [33X[0;0YSimilarly,  the  group  [22XL_3(4).D_12[122X  has  also the structure [22XG.S_3[122X, with [22XG =
  L_3(4).2_1[122X,  [22XG.2  =  L_3(4).2^2[122X,  and  [22XG.3  =  L_3(4).6[122X,  respectively  (see
  Section [14X2.5-2[114X).[133X
  
  
  [1X2.6-3 [33X[0;0YThe Character Table of [22XS_4(9).2^2[122X[101X[1X (September 2011)[133X[101X
  
  [33X[0;0YThe  available  functions yield two possibilities for the ordinary character
  table of [22XS_4(9).2^2[122X.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XtblG:= CharacterTable( "S4(9)" );;[127X[104X
    [4X[25Xgap>[125X [27XtblsG2:= List( [ "S4(9).2_1", "S4(9).2_2", "S4(9).2_3" ],[127X[104X
    [4X[25X>[125X [27X                  CharacterTable );;[127X[104X
    [4X[25Xgap>[125X [27Xlib:= CharacterTable( "S4(9).2^2" );;[127X[104X
    [4X[25Xgap>[125X [27Xposs:= ConstructOrdinaryGV4Table( tblG, tblsG2, "newS4(9).2^2", lib );;[127X[104X
    [4X[28X#I  newS4(9).2^2: 2 equivalence classes[128X[104X
    [4X[25Xgap>[125X [27Xposs:= RepresentativesCharacterTables( poss );;[127X[104X
  [4X[32X[104X
  
  [33X[0;0YThe  two  candidates differ w. r. t. the action of [22XS_4(9).2^2[122X on the classes
  of  element order [22X80[122X in [22XS_4(9).2_2[122X. In the two possible tables, each element
  of  order  [22X80[122X  is  conjugate  to  its  third  power  or  to its [22X13[122X-th power,
  respectively.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27Xorder80:= PositionsProperty( OrdersClassRepresentatives( tblsG2[2] ),[127X[104X
    [4X[25X>[125X [27X                 x -> x = 80 );[127X[104X
    [4X[28X[ 98, 99, 100, 101, 102, 103, 104, 105 ][128X[104X
    [4X[25Xgap>[125X [27XList( poss, r -> r.G2fusGV4[2]{ order80 } );[127X[104X
    [4X[28X[ [ 77, 77, 78, 79, 80, 78, 79, 80 ], [128X[104X
    [4X[28X  [ 77, 78, 79, 79, 77, 80, 80, 78 ] ][128X[104X
    [4X[25Xgap>[125X [27XPowerMap( tblsG2[2], 3 ){ order80 };[127X[104X
    [4X[28X[ 99, 98, 103, 104, 105, 100, 101, 102 ][128X[104X
    [4X[25Xgap>[125X [27XPowerMap( tblsG2[2], 13 ){ order80 };[127X[104X
    [4X[28X[ 102, 105, 101, 100, 98, 104, 103, 99 ][128X[104X
  [4X[32X[104X
  
  [33X[0;0YWe  claim  that the first candidate is the correct one. For that, first note
  that  [22XS_4(9).2_2[122X  is  the  extension  of  the  simple  group  by  a diagonal
  automorphism.  (An  easy  way to see this is that for any subgroup of [22XS_4(9)[122X
  isomorphic  with [22XS_2(81) ≅ L_2(81)[122X, the extension by a diagonal automorphism
  contains  elements of order [22X80[122X –this group is isomorphic with PGL[22X(2,81)[122X– and
  only [22XS_4(9).2_2[122X contains elements of order [22X80[122X.)[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XList( tblsG2, x -> 80 in OrdersClassRepresentatives( x ) );[127X[104X
    [4X[28X[ false, true, false ][128X[104X
  [4X[32X[104X
  
  [33X[0;0YNow  the field automorphism of [22XS_4(9).2_2[122X maps each element [22Xx[122X of order [22X80[122X in
  [22XS_4(9).2_2[122X to a conjugate of [22Xx^3[122X.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27Xtbl:= poss[1].table;;[127X[104X
    [4X[25Xgap>[125X [27XIsRecord( TransformingPermutationsCharacterTables( tbl, lib ) );[127X[104X
    [4X[28Xtrue[128X[104X
  [4X[32X[104X
  
  
  [1X2.6-4 [33X[0;0YThe Character Tables of Groups of the Type [22X2.L_3(4).2^2[122X[101X[1X (June 2010)[133X[101X
  
  [33X[0;0YThe  outer  automorphism  group  of  the group [22XL_3(4)[122X is a dihedral group of
  order  [22X12[122X; its Sylow [22X2[122X-subgroups are Klein four groups, so there is a unique
  almost  simple  group  [22XH[122X  of the type [22XL_3(4).2^2[122X, up to isomorphism. In this
  section,  we  construct  the  character  tables of the double covers of this
  group with the approach from Section [14X2.3-3[114X.[133X
  
  [33X[0;0YThe  group  [22XH[122X  has  three  subgroups  of index two, of the types [22XL_3(4).2_1[122X,
  [22XL_3(4).2_2[122X,  and [22XL_3(4).2_3[122X, respectively. So any double cover of [22XH[122X contains
  one   subgroup   of  each  of  the  types  [22X2.L_3(4).2_1[122X,  [22X2.L_3(4).2_2[122X,  and
  [22X2.L_3(4).2_3[122X, and there are two isoclinic variants of each of these group to
  consider, see Section [14X2.2-6[114X. So we start with eight different inputs for the
  construction of the character tables of double covers.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27Xnames:= List( [ 1 .. 3 ],[127X[104X
    [4X[25X>[125X [27X                 i -> Concatenation( "2.L3(4).2_", String( i ) ) );;[127X[104X
    [4X[25Xgap>[125X [27Xtbls:= List( names, CharacterTable );[127X[104X
    [4X[28X[ CharacterTable( "2.L3(4).2_1" ), CharacterTable( "2.L3(4).2_2" ), [128X[104X
    [4X[28X  CharacterTable( "2.L3(4).2_3" ) ][128X[104X
    [4X[25Xgap>[125X [27Xisos:= List( names, nam -> CharacterTable( Concatenation( nam, "*" ) ) );[127X[104X
    [4X[28X[ CharacterTable( "Isoclinic(2.L3(4).2_1)" ), [128X[104X
    [4X[28X  CharacterTable( "Isoclinic(2.L3(4).2_2)" ), [128X[104X
    [4X[28X  CharacterTable( "Isoclinic(2.L3(4).2_3)" ) ][128X[104X
    [4X[25Xgap>[125X [27Xinputs:= [[127X[104X
    [4X[25X>[125X [27X[ tbls[1], tbls[2], tbls[3], "2.L3(4).(2^2)_{123}" ],[127X[104X
    [4X[25X>[125X [27X[ tbls[1], isos[2], tbls[3], "2.L3(4).(2^2)_{12*3}" ],[127X[104X
    [4X[25X>[125X [27X[ tbls[1], tbls[2], isos[3], "2.L3(4).(2^2)_{123*}" ],[127X[104X
    [4X[25X>[125X [27X[ tbls[1], isos[2], isos[3], "2.L3(4).(2^2)_{12*3*}" ],[127X[104X
    [4X[25X>[125X [27X[ isos[1], tbls[2], tbls[3], "2.L3(4).(2^2)_{1*23}" ],[127X[104X
    [4X[25X>[125X [27X[ isos[1], isos[2], tbls[3], "2.L3(4).(2^2)_{1*2*3}" ],[127X[104X
    [4X[25X>[125X [27X[ isos[1], tbls[2], isos[3], "2.L3(4).(2^2)_{1*23*}" ],[127X[104X
    [4X[25X>[125X [27X[ isos[1], isos[2], isos[3], "2.L3(4).(2^2)_{1*2*3*}" ] ];;[127X[104X
    [4X[25Xgap>[125X [27XtblG:= CharacterTable( "2.L3(4)" );;[127X[104X
    [4X[25Xgap>[125X [27Xresult:= [];;[127X[104X
    [4X[25Xgap>[125X [27Xfor input in inputs do[127X[104X
    [4X[25X>[125X [27X     tblsG2:= input{ [ 1 .. 3 ] };[127X[104X
    [4X[25X>[125X [27X     lib:= CharacterTable( input[4] );[127X[104X
    [4X[25X>[125X [27X     poss:= ConstructOrdinaryGV4Table( tblG, tblsG2, input[4], lib );[127X[104X
    [4X[25X>[125X [27X     ConstructModularGV4Tables( tblG, tblsG2, poss, lib );[127X[104X
    [4X[25X>[125X [27X     Append( result, RepresentativesCharacterTables( poss ) );[127X[104X
    [4X[25X>[125X [27X   od;[127X[104X
    [4X[28X#I  excluded cand. 2 (out of 8) for 2.L3(4).(2^2)_{123} by [128X[104X
    [4X[28X5-mod. table[128X[104X
    [4X[28X#I  excluded cand. 3 (out of 8) for 2.L3(4).(2^2)_{123} by [128X[104X
    [4X[28X5-mod. table[128X[104X
    [4X[28X#I  excluded cand. 4 (out of 8) for 2.L3(4).(2^2)_{123} by [128X[104X
    [4X[28X7-mod. table[128X[104X
    [4X[28X#I  excluded cand. 5 (out of 8) for 2.L3(4).(2^2)_{123} by [128X[104X
    [4X[28X7-mod. table[128X[104X
    [4X[28X#I  excluded cand. 6 (out of 8) for 2.L3(4).(2^2)_{123} by [128X[104X
    [4X[28X5-mod. table[128X[104X
    [4X[28X#I  excluded cand. 7 (out of 8) for 2.L3(4).(2^2)_{123} by [128X[104X
    [4X[28X5-mod. table[128X[104X
    [4X[28X#I  excluded cand. 2 (out of 8) for 2.L3(4).(2^2)_{12*3*} by [128X[104X
    [4X[28X5-mod. table[128X[104X
    [4X[28X#I  excluded cand. 3 (out of 8) for 2.L3(4).(2^2)_{12*3*} by [128X[104X
    [4X[28X5-mod. table[128X[104X
    [4X[28X#I  excluded cand. 4 (out of 8) for 2.L3(4).(2^2)_{12*3*} by [128X[104X
    [4X[28X7-mod. table[128X[104X
    [4X[28X#I  excluded cand. 5 (out of 8) for 2.L3(4).(2^2)_{12*3*} by [128X[104X
    [4X[28X7-mod. table[128X[104X
    [4X[28X#I  excluded cand. 6 (out of 8) for 2.L3(4).(2^2)_{12*3*} by [128X[104X
    [4X[28X5-mod. table[128X[104X
    [4X[28X#I  excluded cand. 7 (out of 8) for 2.L3(4).(2^2)_{12*3*} by [128X[104X
    [4X[28X5-mod. table[128X[104X
    [4X[28X#I  excluded cand. 2 (out of 8) for 2.L3(4).(2^2)_{1*2*3} by [128X[104X
    [4X[28X5-mod. table[128X[104X
    [4X[28X#I  excluded cand. 3 (out of 8) for 2.L3(4).(2^2)_{1*2*3} by [128X[104X
    [4X[28X5-mod. table[128X[104X
    [4X[28X#I  excluded cand. 4 (out of 8) for 2.L3(4).(2^2)_{1*2*3} by [128X[104X
    [4X[28X7-mod. table[128X[104X
    [4X[28X#I  excluded cand. 5 (out of 8) for 2.L3(4).(2^2)_{1*2*3} by [128X[104X
    [4X[28X7-mod. table[128X[104X
    [4X[28X#I  excluded cand. 6 (out of 8) for 2.L3(4).(2^2)_{1*2*3} by [128X[104X
    [4X[28X5-mod. table[128X[104X
    [4X[28X#I  excluded cand. 7 (out of 8) for 2.L3(4).(2^2)_{1*2*3} by [128X[104X
    [4X[28X5-mod. table[128X[104X
    [4X[28X#I  excluded cand. 2 (out of 8) for 2.L3(4).(2^2)_{1*23*} by [128X[104X
    [4X[28X5-mod. table[128X[104X
    [4X[28X#I  excluded cand. 3 (out of 8) for 2.L3(4).(2^2)_{1*23*} by [128X[104X
    [4X[28X5-mod. table[128X[104X
    [4X[28X#I  excluded cand. 4 (out of 8) for 2.L3(4).(2^2)_{1*23*} by [128X[104X
    [4X[28X7-mod. table[128X[104X
    [4X[28X#I  excluded cand. 5 (out of 8) for 2.L3(4).(2^2)_{1*23*} by [128X[104X
    [4X[28X7-mod. table[128X[104X
    [4X[28X#I  excluded cand. 6 (out of 8) for 2.L3(4).(2^2)_{1*23*} by [128X[104X
    [4X[28X5-mod. table[128X[104X
    [4X[28X#I  excluded cand. 7 (out of 8) for 2.L3(4).(2^2)_{1*23*} by [128X[104X
    [4X[28X5-mod. table[128X[104X
    [4X[25Xgap>[125X [27Xresult:= List( result, x -> x.table );[127X[104X
    [4X[28X[ CharacterTable( "new2.L3(4).(2^2)_{123}" ), [128X[104X
    [4X[28X  CharacterTable( "new2.L3(4).(2^2)_{12*3}" ), [128X[104X
    [4X[28X  CharacterTable( "new2.L3(4).(2^2)_{123*}" ), [128X[104X
    [4X[28X  CharacterTable( "new2.L3(4).(2^2)_{12*3*}" ), [128X[104X
    [4X[28X  CharacterTable( "new2.L3(4).(2^2)_{1*23}" ), [128X[104X
    [4X[28X  CharacterTable( "new2.L3(4).(2^2)_{1*2*3}" ), [128X[104X
    [4X[28X  CharacterTable( "new2.L3(4).(2^2)_{1*23*}" ), [128X[104X
    [4X[28X  CharacterTable( "new2.L3(4).(2^2)_{1*2*3*}" ) ][128X[104X
  [4X[32X[104X
  
  [33X[0;0YWe get exactly one character table for each input. For each of these tables,
  there  are  three possibilities to form an isoclinic table, corresponding to
  the three subgroups of index two. It turns out that the eight solutions form
  two  orbits  under  forming some isoclinic table. Tables in different orbits
  are  essentially  different,  already  their  numbers  of  conjugacy classes
  differ.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XList( result, NrConjugacyClasses );[127X[104X
    [4X[28X[ 39, 33, 33, 39, 33, 39, 39, 33 ][128X[104X
    [4X[25Xgap>[125X [27Xt:= result[1];;[127X[104X
    [4X[25Xgap>[125X [27Xnsg:= Filtered( ClassPositionsOfNormalSubgroups( t ),[127X[104X
    [4X[25X>[125X [27X           x -> Sum( SizesConjugacyClasses( t ){ x } ) = Size( t ) / 2 );;[127X[104X
    [4X[25Xgap>[125X [27Xiso:= List( nsg, x -> CharacterTableIsoclinic( t, x ) );;[127X[104X
    [4X[25Xgap>[125X [27XList( iso, x -> PositionProperty( result, y ->[127X[104X
    [4X[25X>[125X [27X           TransformingPermutationsCharacterTables( x, y ) <> fail ) );[127X[104X
    [4X[28X[ 4, 7, 6 ][128X[104X
    [4X[25Xgap>[125X [27Xt:= result[2];;[127X[104X
    [4X[25Xgap>[125X [27Xnsg:= Filtered( ClassPositionsOfNormalSubgroups( t ),[127X[104X
    [4X[25X>[125X [27X           x -> Sum( SizesConjugacyClasses( t ){ x } ) = Size( t ) / 2 );;[127X[104X
    [4X[25Xgap>[125X [27Xiso:= List( nsg, x -> CharacterTableIsoclinic( t, x ) );;[127X[104X
    [4X[25Xgap>[125X [27XList( iso, x -> PositionProperty( result, y ->[127X[104X
    [4X[25X>[125X [27X           TransformingPermutationsCharacterTables( x, y ) <> fail ) );[127X[104X
    [4X[28X[ 3, 8, 5 ][128X[104X
  [4X[32X[104X
  
  [33X[0;0YUp to now, it is not clear that the character tables we have constructed are
  really  the character tables of some groups. The existence of groups for the
  first orbit of character tables can be established as follows.[133X
  
  [33X[0;0YThe  group  [22XU_6(2).2[122X  contains  a maximal subgroup [22XM[122X of the type [22XL_3(4).2^2[122X,
  see [CCN+85, p. 115]. Its derived subgroup [22XM'[122X of the type [22XL_3(4)[122X lies inside
  [22XU_6(2)[122X,  and  we claim that the preimage of [22XM'[122X under the natural epimorphism
  from  [22X2.U_6(2)[122X  to [22XU_6(2)[122X is a double cover of [22XL_3(4)[122X. Unfortunately, [22XL_3(4)[122X
  admits class fusions into [22X2.U_6(2)[122X, so this criterion cannot be used.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27Xl34:= CharacterTable( "L3(4)" );;[127X[104X
    [4X[25Xgap>[125X [27Xu:= CharacterTable( "U6(2)" );;[127X[104X
    [4X[25Xgap>[125X [27X2u:= CharacterTable( "2.U6(2)" );;[127X[104X
    [4X[25Xgap>[125X [27Xcand:= PossibleClassFusions( l34, 2u );[127X[104X
    [4X[28X[ [ 1, 5, 12, 16, 22, 22, 23, 23, 41, 41 ], [128X[104X
    [4X[28X  [ 1, 5, 12, 22, 16, 22, 23, 23, 41, 41 ], [128X[104X
    [4X[28X  [ 1, 5, 12, 22, 22, 16, 23, 23, 41, 41 ] ][128X[104X
    [4X[25Xgap>[125X [27XOrdersClassRepresentatives( l34 );[127X[104X
    [4X[28X[ 1, 2, 3, 4, 4, 4, 5, 5, 7, 7 ][128X[104X
  [4X[32X[104X
  
  [33X[0;0YConsider  the  three  classes of elements of order four in [22XL_3(4)[122X. Under the
  possible  fusions  into  [22X2.U_6(2)[122X, they are mapped to the classes [22X16[122X and [22X22[122X,
  which  are  preimages  of  the classes [22X10[122X and [22X14[122X ([10X4C[110X and [10X4G[110X) of [22XU_6(2)[122X. Note
  that  the  maximal  subgroups  of type [22XL_3(4).2[122X in [22XU_6(2)[122X extend to [22XL_3(4).6[122X
  type  subgroups in [22XU_6(2).3[122X, and the three classes [10X4C[110X, [10X4D[110X, [10X4E[110X form one orbit
  under the action of an outer automorphism of order three of [22XU_6(2)[122X.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XGetFusionMap( 2u, u ){ [ 16, 22 ] };[127X[104X
    [4X[28X[ 10, 14 ][128X[104X
    [4X[25Xgap>[125X [27XClassNames( u, "ATLAS" ){ [ 10, 14 ] };[127X[104X
    [4X[28X[ "4C", "4G" ][128X[104X
    [4X[25Xgap>[125X [27XGetFusionMap( u, CharacterTable( "U6(2).3" ) );[127X[104X
    [4X[28X[ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 10, 10, 11, 12, 13, 14, 15, 16, 17, [128X[104X
    [4X[28X  18, 19, 20, 21, 22, 23, 24, 24, 24, 25, 26, 27, 28, 29, 30, 31, 32, [128X[104X
    [4X[28X  33, 34, 35, 36, 36, 36, 37, 38, 39, 40 ][128X[104X
  [4X[32X[104X
  
  [33X[0;0YThis  means  that  any  [22XL_3(4)[122X  type  subgroup  of [22XU_6(2)[122X that extends to an
  [22XL_3(4).6[122X  type  subgroup in [22XU_6(2).3[122X either contains elements from all three
  classes  [10X4C[110X,  [10X4D[110X,  [10X4E[110X  of [22XU_6(2)[122X, or contains no element from these classes.
  Thus  we  know  that any double cover of [22XU_6(2).2[122X contains a double cover of
  [22XL_3(4).2^2[122X.  Only  the first of our result tables admits a class fusion into
  the table of [22X2.U_6(2).2[122X.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27X2u2:= CharacterTable( "2.U6(2).2" );;[127X[104X
    [4X[25Xgap>[125X [27Xfus:= List( result, x -> PossibleClassFusions( x, 2u2 ) );;[127X[104X
    [4X[25Xgap>[125X [27XList( fus, Length );[127X[104X
    [4X[28X[ 4, 0, 0, 0, 0, 0, 0, 0 ][128X[104X
  [4X[32X[104X
  
  [33X[0;0YAs  a  consequence,  the  fourth  result  table  is established as that of a
  maximal subgroup of the group isoclinic to [22X2.U_6(2).2[122X.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27X2u2iso:= CharacterTableIsoclinic( 2u2 );;[127X[104X
    [4X[25Xgap>[125X [27Xfus:= List( result, x -> PossibleClassFusions( x, 2u2iso ) );;[127X[104X
    [4X[25Xgap>[125X [27XList( fus, Length );[127X[104X
    [4X[28X[ 0, 0, 0, 4, 0, 0, 0, 0 ][128X[104X
  [4X[32X[104X
  
  [33X[0;0YSimilarly,  the  group  [22XHS.2[122X  contains  a  maximal  subgroup  [22XM[122X  of the type
  [22XL_3(4).2^2[122X,  see [CCN+85, p. 80]. Its derived subgroup [22XM'[122X of the type [22XL_3(4)[122X
  lies  inside  [22XHS[122X,  and the preimage of [22XM'[122X under the natural epimorphism from
  [22X2.HS[122X  to  [22XHS[122X  is  a  double cover of [22XL_3(4)[122X, because [22XL_3(4)[122X does not admit a
  class fusion into [22X2.HS.2[122X.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27Xh2:= CharacterTable( "HS.2" );;[127X[104X
    [4X[25Xgap>[125X [27X2h2:= CharacterTable( "2.HS.2" );;[127X[104X
    [4X[25Xgap>[125X [27XPossibleClassFusions( l34, 2h2 );[127X[104X
    [4X[28X[  ][128X[104X
  [4X[32X[104X
  
  [33X[0;0YOnly the fifth of our result tables admits a class fusion into [22X2.HS.2[122X, which
  means  that  [22X2.L_3(4).(2^2)_1∗23[122X  is  a  subgroup  of [22X2.HS.2[122X, and the eighth
  result  table  –[22X2.L_3(4).(2^2)_1∗2∗3∗}[122X–  admits  a  class  fusion  into  the
  isoclinic  variant  of  [22X2.HS.2[122X  This  shows  the existence of groups for the
  tables from the second orbit.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27Xfus:= List( result, x -> PossibleClassFusions( x, 2h2 ) );;[127X[104X
    [4X[25Xgap>[125X [27XList( fus, Length );[127X[104X
    [4X[28X[ 0, 0, 0, 0, 4, 0, 0, 0 ][128X[104X
    [4X[25Xgap>[125X [27X2h2iso:= CharacterTableIsoclinic( 2h2 );;[127X[104X
    [4X[25Xgap>[125X [27Xfus:= List( result, x -> PossibleClassFusions( x, 2h2iso ) );;[127X[104X
    [4X[25Xgap>[125X [27XList( fus, Length );[127X[104X
    [4X[28X[ 0, 0, 0, 0, 0, 0, 0, 4 ][128X[104X
  [4X[32X[104X
  
  
  [1X2.6-5 [33X[0;0YThe Character Tables of Groups of the Type [22X6.L_3(4).2^2[122X[101X[1X (October 2011)[133X[101X
  
  [33X[0;0YWe  have  two  approaches  for  constructing  the  character tables of these
  groups.[133X
  
  [33X[0;0YFirst,  we  may regard them as normal products of the three normal subgroups
  of  index  two,  each  of  them having the structure [22X6.L_3(4).2[122X, and use the
  approach  from  Section [14X2.3-3[114X,  as we did in Section [14X2.6-4[114X for the groups of
  the structure [22X2.L_3(4).2^2[122X.[133X
  
  [33X[0;0YSecond,  we  may  use  the approach from Section [14X2.3-1[114X. Note that the factor
  group [22XL_3(4).2^2[122X contains each of the three groups [22XL_3(4).2_i[122X as a subgroup,
  for  [22X1  ≤  i  ≤  3[122X, and the groups of the type [22X6.L_3(4).2_1[122X have a centre of
  order  six,  whereas  the  centres of the [22X6.L_3(4).2_2[122X and [22X6.L_3(4).2_3[122X type
  groups  have  order  two.  For  that,  the character tables of the subgroups
  [22X6.L_3(4).2_1[122X  and [22X6.L_3(4).2_1^∗[122X are needed, as well as the character tables
  of  the  eight  possible  factor  groups [22X2.L_3(4).2^2[122X; the latter tables are
  known from Section [14X2.6-4[114X.[133X
  
  [33X[0;0YWe  show  both approaches. (The second approach is better suited for storing
  the  character  tables in the Character Table Library, since the irreducible
  characters need not be stored, and since the Brauer tables of the groups can
  be derived from the Brauer tables of the compound tables.)[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27Xtbls:= List( [ "1", "2", "3" ],[127X[104X
    [4X[25X>[125X [27X     i -> CharacterTable( Concatenation( "6.L3(4).2_", i ) ) );[127X[104X
    [4X[28X[ CharacterTable( "6.L3(4).2_1" ), CharacterTable( "6.L3(4).2_2" ), [128X[104X
    [4X[28X  CharacterTable( "6.L3(4).2_3" ) ][128X[104X
    [4X[25Xgap>[125X [27Xisos:= List( [ "1", "2", "3" ],[127X[104X
    [4X[25X>[125X [27X     i -> CharacterTable( Concatenation( "6.L3(4).2_", i, "*" ) ) );[127X[104X
    [4X[28X[ CharacterTable( "Isoclinic(6.L3(4).2_1)" ), [128X[104X
    [4X[28X  CharacterTable( "Isoclinic(6.L3(4).2_2)" ), [128X[104X
    [4X[28X  CharacterTable( "Isoclinic(6.L3(4).2_3)" ) ][128X[104X
    [4X[25Xgap>[125X [27Xinputs:= [[127X[104X
    [4X[25X>[125X [27X[ tbls[1], tbls[2], tbls[3], "6.L3(4).(2^2)_{123}" ],[127X[104X
    [4X[25X>[125X [27X[ tbls[1], isos[2], tbls[3], "6.L3(4).(2^2)_{12*3}" ],[127X[104X
    [4X[25X>[125X [27X[ tbls[1], tbls[2], isos[3], "6.L3(4).(2^2)_{123*}" ],[127X[104X
    [4X[25X>[125X [27X[ tbls[1], isos[2], isos[3], "6.L3(4).(2^2)_{12*3*}" ],[127X[104X
    [4X[25X>[125X [27X[ isos[1], tbls[2], tbls[3], "6.L3(4).(2^2)_{1*23}" ],[127X[104X
    [4X[25X>[125X [27X[ isos[1], isos[2], tbls[3], "6.L3(4).(2^2)_{1*2*3}" ],[127X[104X
    [4X[25X>[125X [27X[ isos[1], tbls[2], isos[3], "6.L3(4).(2^2)_{1*23*}" ],[127X[104X
    [4X[25X>[125X [27X[ isos[1], isos[2], isos[3], "6.L3(4).(2^2)_{1*2*3*}" ] ];;[127X[104X
    [4X[25Xgap>[125X [27XtblG:= CharacterTable( "6.L3(4)" );;[127X[104X
    [4X[25Xgap>[125X [27Xresult:= [];;[127X[104X
    [4X[25Xgap>[125X [27Xfor input in inputs do[127X[104X
    [4X[25X>[125X [27X     tblsG2:= input{ [ 1 .. 3 ] };[127X[104X
    [4X[25X>[125X [27X     lib:= CharacterTable( input[4] );[127X[104X
    [4X[25X>[125X [27X     poss:= ConstructOrdinaryGV4Table( tblG, tblsG2, input[4], lib );[127X[104X
    [4X[25X>[125X [27X     ConstructModularGV4Tables( tblG, tblsG2, poss, lib );[127X[104X
    [4X[25X>[125X [27X     Append( result, RepresentativesCharacterTables( poss ) );[127X[104X
    [4X[25X>[125X [27X   od;[127X[104X
    [4X[28X#I  excluded cand. 2 (out of 8) for 6.L3(4).(2^2)_{123} by [128X[104X
    [4X[28X5-mod. table[128X[104X
    [4X[28X#I  excluded cand. 3 (out of 8) for 6.L3(4).(2^2)_{123} by [128X[104X
    [4X[28X5-mod. table[128X[104X
    [4X[28X#I  excluded cand. 4 (out of 8) for 6.L3(4).(2^2)_{123} by [128X[104X
    [4X[28X7-mod. table[128X[104X
    [4X[28X#I  excluded cand. 5 (out of 8) for 6.L3(4).(2^2)_{123} by [128X[104X
    [4X[28X7-mod. table[128X[104X
    [4X[28X#I  excluded cand. 6 (out of 8) for 6.L3(4).(2^2)_{123} by [128X[104X
    [4X[28X5-mod. table[128X[104X
    [4X[28X#I  excluded cand. 7 (out of 8) for 6.L3(4).(2^2)_{123} by [128X[104X
    [4X[28X5-mod. table[128X[104X
    [4X[28X#I  excluded cand. 2 (out of 8) for 6.L3(4).(2^2)_{12*3*} by [128X[104X
    [4X[28X5-mod. table[128X[104X
    [4X[28X#I  excluded cand. 3 (out of 8) for 6.L3(4).(2^2)_{12*3*} by [128X[104X
    [4X[28X5-mod. table[128X[104X
    [4X[28X#I  excluded cand. 4 (out of 8) for 6.L3(4).(2^2)_{12*3*} by [128X[104X
    [4X[28X7-mod. table[128X[104X
    [4X[28X#I  excluded cand. 5 (out of 8) for 6.L3(4).(2^2)_{12*3*} by [128X[104X
    [4X[28X7-mod. table[128X[104X
    [4X[28X#I  excluded cand. 6 (out of 8) for 6.L3(4).(2^2)_{12*3*} by [128X[104X
    [4X[28X5-mod. table[128X[104X
    [4X[28X#I  excluded cand. 7 (out of 8) for 6.L3(4).(2^2)_{12*3*} by [128X[104X
    [4X[28X5-mod. table[128X[104X
    [4X[28X#I  excluded cand. 2 (out of 8) for 6.L3(4).(2^2)_{1*2*3} by [128X[104X
    [4X[28X5-mod. table[128X[104X
    [4X[28X#I  excluded cand. 3 (out of 8) for 6.L3(4).(2^2)_{1*2*3} by [128X[104X
    [4X[28X5-mod. table[128X[104X
    [4X[28X#I  excluded cand. 4 (out of 8) for 6.L3(4).(2^2)_{1*2*3} by [128X[104X
    [4X[28X7-mod. table[128X[104X
    [4X[28X#I  excluded cand. 5 (out of 8) for 6.L3(4).(2^2)_{1*2*3} by [128X[104X
    [4X[28X7-mod. table[128X[104X
    [4X[28X#I  excluded cand. 6 (out of 8) for 6.L3(4).(2^2)_{1*2*3} by [128X[104X
    [4X[28X5-mod. table[128X[104X
    [4X[28X#I  excluded cand. 7 (out of 8) for 6.L3(4).(2^2)_{1*2*3} by [128X[104X
    [4X[28X5-mod. table[128X[104X
    [4X[28X#I  excluded cand. 2 (out of 8) for 6.L3(4).(2^2)_{1*23*} by [128X[104X
    [4X[28X5-mod. table[128X[104X
    [4X[28X#I  excluded cand. 3 (out of 8) for 6.L3(4).(2^2)_{1*23*} by [128X[104X
    [4X[28X5-mod. table[128X[104X
    [4X[28X#I  excluded cand. 4 (out of 8) for 6.L3(4).(2^2)_{1*23*} by [128X[104X
    [4X[28X7-mod. table[128X[104X
    [4X[28X#I  excluded cand. 5 (out of 8) for 6.L3(4).(2^2)_{1*23*} by [128X[104X
    [4X[28X7-mod. table[128X[104X
    [4X[28X#I  excluded cand. 6 (out of 8) for 6.L3(4).(2^2)_{1*23*} by [128X[104X
    [4X[28X5-mod. table[128X[104X
    [4X[28X#I  excluded cand. 7 (out of 8) for 6.L3(4).(2^2)_{1*23*} by [128X[104X
    [4X[28X5-mod. table[128X[104X
    [4X[25Xgap>[125X [27Xresult:= List( result, x -> x.table );[127X[104X
    [4X[28X[ CharacterTable( "new6.L3(4).(2^2)_{123}" ), [128X[104X
    [4X[28X  CharacterTable( "new6.L3(4).(2^2)_{12*3}" ), [128X[104X
    [4X[28X  CharacterTable( "new6.L3(4).(2^2)_{123*}" ), [128X[104X
    [4X[28X  CharacterTable( "new6.L3(4).(2^2)_{12*3*}" ), [128X[104X
    [4X[28X  CharacterTable( "new6.L3(4).(2^2)_{1*23}" ), [128X[104X
    [4X[28X  CharacterTable( "new6.L3(4).(2^2)_{1*2*3}" ), [128X[104X
    [4X[28X  CharacterTable( "new6.L3(4).(2^2)_{1*23*}" ), [128X[104X
    [4X[28X  CharacterTable( "new6.L3(4).(2^2)_{1*2*3*}" ) ][128X[104X
  [4X[32X[104X
  
  [33X[0;0YAs  in Section [14X2.6-4[114X, we get exactly one character table for each input, and
  the eight solutions lie in two orbits under isoclinism.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XList( result, NrConjugacyClasses );[127X[104X
    [4X[28X[ 59, 53, 53, 59, 53, 59, 59, 53 ][128X[104X
    [4X[25Xgap>[125X [27Xt:= result[1];;[127X[104X
    [4X[25Xgap>[125X [27Xnsg:= Filtered( ClassPositionsOfNormalSubgroups( t ),[127X[104X
    [4X[25X>[125X [27X           x -> Sum( SizesConjugacyClasses( t ){ x } ) = Size( t ) / 2 );;[127X[104X
    [4X[25Xgap>[125X [27Xiso:= List( nsg, x -> CharacterTableIsoclinic( t, x ) );;[127X[104X
    [4X[25Xgap>[125X [27XList( iso, x -> PositionProperty( result, y ->[127X[104X
    [4X[25X>[125X [27X           TransformingPermutationsCharacterTables( x, y ) <> fail ) );[127X[104X
    [4X[28X[ 7, 6, 4 ][128X[104X
    [4X[25Xgap>[125X [27Xt:= result[2];;[127X[104X
    [4X[25Xgap>[125X [27Xnsg:= Filtered( ClassPositionsOfNormalSubgroups( t ),[127X[104X
    [4X[25X>[125X [27X           x -> Sum( SizesConjugacyClasses( t ){ x } ) = Size( t ) / 2 );;[127X[104X
    [4X[25Xgap>[125X [27Xiso:= List( nsg, x -> CharacterTableIsoclinic( t, x ) );;[127X[104X
    [4X[25Xgap>[125X [27XList( iso, x -> PositionProperty( result, y ->[127X[104X
    [4X[25X>[125X [27X           TransformingPermutationsCharacterTables( x, y ) <> fail ) );[127X[104X
    [4X[28X[ 8, 5, 3 ][128X[104X
  [4X[32X[104X
  
  [33X[0;0YUp to now, it is not clear that the character tables we have constructed are
  really  the character tables of some groups. The existence of groups for the
  first orbit of character tables can be established as follows.[133X
  
  [33X[0;0YWe  have  shown  in  Section [14X2.6-4[114X  that the maximal subgroups [22XM[122X of the type
  [22XL_3(4).2^2[122X in [22XU_6(2).2[122X lift to double covers [22X2.L_3(4).2^2[122X in [22X2.U_6(2).2[122X. The
  preimages of these groups under the natural epimorphism from [22X6.U_6(2).2[122X have
  the structure [22X6.L_3(4).2^2[122X, where the derived subgroup is the six-fold cover
  of  [22XL_3(4)[122X;  this follows from the fact that [22X6.U_6(2)[122X does not admit a class
  fusion from the double cover [22X2.L_3(4)[122X.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27X2l34:= CharacterTable( "2.L3(4)" );;[127X[104X
    [4X[25Xgap>[125X [27X6u:= CharacterTable( "6.U6(2)" );;[127X[104X
    [4X[25Xgap>[125X [27Xcand:= PossibleClassFusions( 2l34, 6u );[127X[104X
    [4X[28X[  ][128X[104X
  [4X[32X[104X
  
  [33X[0;0YThis  establishes  the  first  and  the fourth result as character tables of
  subgroups of [22X6.U_6(2)[122X and its isoclinic variant, respectively.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27X6u2:= CharacterTable( "6.U6(2).2" );;[127X[104X
    [4X[25Xgap>[125X [27Xfus:= List( result, x -> PossibleClassFusions( x, 6u2 ) );;[127X[104X
    [4X[25Xgap>[125X [27XList( fus, Length );[127X[104X
    [4X[28X[ 8, 0, 0, 0, 0, 0, 0, 0 ][128X[104X
    [4X[25Xgap>[125X [27X6u2iso:= CharacterTableIsoclinic( 6u2 );;[127X[104X
    [4X[25Xgap>[125X [27Xfus:= List( result, x -> PossibleClassFusions( x, 6u2iso ) );;[127X[104X
    [4X[25Xgap>[125X [27XList( fus, Length );[127X[104X
    [4X[28X[ 0, 0, 0, 8, 0, 0, 0, 0 ][128X[104X
  [4X[32X[104X
  
  [33X[0;0YSimilarly,  the  group  [22XG_2(4).2[122X  contains  a maximal subgroup [22XM[122X of the type
  [22X3.L_3(4).2^2[122X,  see [CCN+85,  p.  97].  Its  derived  subgroup [22XM'[122X of the type
  [22X3.L_3(4)[122X  lies  inside  [22XG_2(4)[122X,  and  the  preimage  of [22XM'[122X under the natural
  epimorphism  from  [22X2.G_2(4)[122X to [22XG_2(4)[122X is a double cover of [22X3.L_3(4)[122X, because
  [22X3.L_3(4)[122X does not admit a class fusion into [22X2.G_2(4).2[122X.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27X3l34:= CharacterTable( "3.L3(4)" );;[127X[104X
    [4X[25Xgap>[125X [27Xg2:= CharacterTable( "G2(4).2" );;[127X[104X
    [4X[25Xgap>[125X [27X2g2:= CharacterTable( "2.G2(4).2" );;[127X[104X
    [4X[25Xgap>[125X [27XPossibleClassFusions( 3l34, 2g2 );[127X[104X
    [4X[28X[  ][128X[104X
  [4X[32X[104X
  
  [33X[0;0YOnly  the  third  and  eighth of our result tables admit a class fusion into
  [22X2.G_2(4).2[122X and its isoclinic variant, respectively. This shows the existence
  of groups for the tables from the second orbit.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27Xfus:= List( result, x -> PossibleClassFusions( x, 2g2 ) );;[127X[104X
    [4X[25Xgap>[125X [27XList( fus, Length );[127X[104X
    [4X[28X[ 0, 0, 16, 0, 0, 0, 0, 0 ][128X[104X
    [4X[25Xgap>[125X [27X2g2iso:= CharacterTableIsoclinic( 2g2 );;[127X[104X
    [4X[25Xgap>[125X [27Xfus:= List( result, x -> PossibleClassFusions( x, 2g2iso ) );;[127X[104X
    [4X[25Xgap>[125X [27XList( fus, Length );[127X[104X
    [4X[28X[ 0, 0, 0, 0, 0, 0, 0, 16 ][128X[104X
  [4X[32X[104X
  
  [33X[0;0YNow we try the second approach and compare the results.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27Xnames:= [ "L3(4).(2^2)_{123}", "L3(4).(2^2)_{12*3}",[127X[104X
    [4X[25X>[125X [27X             "L3(4).(2^2)_{123*}", "L3(4).(2^2)_{12*3*}" ];;[127X[104X
    [4X[25Xgap>[125X [27Xinputs1:= List( names, nam -> [ "6.L3(4).2_1", "2.L3(4).2_1",[127X[104X
    [4X[25X>[125X [27X       Concatenation( "2.", nam ), Concatenation( "6.", nam ) ] );;[127X[104X
    [4X[25Xgap>[125X [27Xnames:= List( names, nam -> ReplacedString( nam, "1", "1*" ) );;[127X[104X
    [4X[25Xgap>[125X [27Xinputs2:= List( names, nam -> [ "6.L3(4).2_1*", "2.L3(4).2_1*",[127X[104X
    [4X[25X>[125X [27X       Concatenation( "2.", nam ), Concatenation( "6.", nam ) ] );;[127X[104X
    [4X[25Xgap>[125X [27Xinputs:= Concatenation( inputs1, inputs2 );[127X[104X
    [4X[28X[ [ "6.L3(4).2_1", "2.L3(4).2_1", "2.L3(4).(2^2)_{123}", [128X[104X
    [4X[28X      "6.L3(4).(2^2)_{123}" ], [128X[104X
    [4X[28X  [ "6.L3(4).2_1", "2.L3(4).2_1", "2.L3(4).(2^2)_{12*3}", [128X[104X
    [4X[28X      "6.L3(4).(2^2)_{12*3}" ], [128X[104X
    [4X[28X  [ "6.L3(4).2_1", "2.L3(4).2_1", "2.L3(4).(2^2)_{123*}", [128X[104X
    [4X[28X      "6.L3(4).(2^2)_{123*}" ], [128X[104X
    [4X[28X  [ "6.L3(4).2_1", "2.L3(4).2_1", "2.L3(4).(2^2)_{12*3*}", [128X[104X
    [4X[28X      "6.L3(4).(2^2)_{12*3*}" ], [128X[104X
    [4X[28X  [ "6.L3(4).2_1*", "2.L3(4).2_1*", "2.L3(4).(2^2)_{1*23}", [128X[104X
    [4X[28X      "6.L3(4).(2^2)_{1*23}" ], [128X[104X
    [4X[28X  [ "6.L3(4).2_1*", "2.L3(4).2_1*", "2.L3(4).(2^2)_{1*2*3}", [128X[104X
    [4X[28X      "6.L3(4).(2^2)_{1*2*3}" ], [128X[104X
    [4X[28X  [ "6.L3(4).2_1*", "2.L3(4).2_1*", "2.L3(4).(2^2)_{1*23*}", [128X[104X
    [4X[28X      "6.L3(4).(2^2)_{1*23*}" ], [128X[104X
    [4X[28X  [ "6.L3(4).2_1*", "2.L3(4).2_1*", "2.L3(4).(2^2)_{1*2*3*}", [128X[104X
    [4X[28X      "6.L3(4).(2^2)_{1*2*3*}" ] ][128X[104X
    [4X[25Xgap>[125X [27Xresult2:= [];;[127X[104X
    [4X[25Xgap>[125X [27Xfor  input in inputs do[127X[104X
    [4X[25X>[125X [27X     tblMG := CharacterTable( input[1] );[127X[104X
    [4X[25X>[125X [27X     tblG  := CharacterTable( input[2] );[127X[104X
    [4X[25X>[125X [27X     tblGA := CharacterTable( input[3] );[127X[104X
    [4X[25X>[125X [27X     name  := Concatenation( "new", input[4] );[127X[104X
    [4X[25X>[125X [27X     lib   := CharacterTable( input[4] );[127X[104X
    [4X[25X>[125X [27X     poss:= ConstructOrdinaryMGATable( tblMG, tblG, tblGA, name, lib );[127X[104X
    [4X[25X>[125X [27X     Append( result2, poss );[127X[104X
    [4X[25X>[125X [27X   od;[127X[104X
    [4X[25Xgap>[125X [27Xresult2:= List( result2, x -> x.table );[127X[104X
    [4X[28X[ CharacterTable( "new6.L3(4).(2^2)_{123}" ), [128X[104X
    [4X[28X  CharacterTable( "new6.L3(4).(2^2)_{12*3}" ), [128X[104X
    [4X[28X  CharacterTable( "new6.L3(4).(2^2)_{123*}" ), [128X[104X
    [4X[28X  CharacterTable( "new6.L3(4).(2^2)_{12*3*}" ), [128X[104X
    [4X[28X  CharacterTable( "new6.L3(4).(2^2)_{1*23}" ), [128X[104X
    [4X[28X  CharacterTable( "new6.L3(4).(2^2)_{1*2*3}" ), [128X[104X
    [4X[28X  CharacterTable( "new6.L3(4).(2^2)_{1*23*}" ), [128X[104X
    [4X[28X  CharacterTable( "new6.L3(4).(2^2)_{1*2*3*}" ) ][128X[104X
    [4X[25Xgap>[125X [27Xtrans:= List( [ 1 .. 8 ], i ->[127X[104X
    [4X[25X>[125X [27X       TransformingPermutationsCharacterTables( result[i],[127X[104X
    [4X[25X>[125X [27X           result2[i] ) );;[127X[104X
    [4X[25Xgap>[125X [27XForAll( trans, IsRecord );[127X[104X
    [4X[28Xtrue[128X[104X
  [4X[32X[104X
  
  
  [1X2.6-6  [33X[0;0YThe  Character  Tables  of  Groups of the Type [22X2.U_4(3).2^2[122X[101X[1X (February[101X
  [1X2012)[133X[101X
  
  [33X[0;0YThe  outer  automorphism  group  of  the group [22XU_4(3)[122X is a dihedral group of
  order  [22X8[122X.  There  are two almost simple groups of the type [22XU_4(3).2^2[122X, up to
  isomorphism, denoted as [22XU_4(3).(2^2)_122[122X and [22XU_4(3).(2^2)_133[122X, respectively.
  Note that [22XU_4(3).2_1[122X is the extension by the central involution of the outer
  automorphism  group  of  [22XU_4(3)[122X,  the  other  two  subgroups of index two in
  [22XU_4(3).(2^2)_122[122X  are  [22XU_4(3).2_2[122X  and  [22XU_4(3).2^'_2[122X,  respectively, and the
  other  two  subgroups  of  index  two in [22XU_4(3).(2^2)_133[122X are [22XU_4(3).2_3[122X and
  [22XU_4(3).2^'_3[122X, respectively.[133X
  
  [33X[0;0YSince  Aut[22X(  U_4(3) )[122X possesses a double cover (see [CCN+85, p. 52]), double
  covers of [22XU_4(3).(2^2)_122[122X and [22XU_4(3).(2^2)_133[122X exist.[133X
  
  [33X[0;0YFirst  we  deal  with  the double covers of [22XU_4(3).(2^2)_122[122X. Any such group
  contains one subgroup of the type [22X2.U_4(3).2_1[122X and two subgroups of the type
  [22X2.U_4(3).2_2[122X, and there are two isoclinic variants of each of these group to
  consider, see Section [14X2.2-6[114X. Thus we start with six different inputs for the
  construction of the character tables of double covers.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27Xtbls:= List( [ "1", "2", "2'" ], i ->[127X[104X
    [4X[25X>[125X [27X     CharacterTable( Concatenation( "2.U4(3).2_", i ) ) );;[127X[104X
    [4X[25Xgap>[125X [27Xisos:= List( [ "1", "2", "2'" ], i ->[127X[104X
    [4X[25X>[125X [27X     CharacterTable( Concatenation( "Isoclinic(2.U4(3).2_", i, ")" ) ) );;[127X[104X
    [4X[25Xgap>[125X [27Xinputs:= [[127X[104X
    [4X[25X>[125X [27X[ tbls[1], tbls[2], tbls[3], "2.U4(3).(2^2)_{122}" ],[127X[104X
    [4X[25X>[125X [27X[ isos[1], tbls[2], tbls[3], "2.U4(3).(2^2)_{1*22}" ],[127X[104X
    [4X[25X>[125X [27X[ tbls[1], isos[2], tbls[3], "2.U4(3).(2^2)_{12*2}" ],[127X[104X
    [4X[25X>[125X [27X[ isos[1], isos[2], tbls[3], "2.U4(3).(2^2)_{1*2*2}" ],[127X[104X
    [4X[25X>[125X [27X[ tbls[1], isos[2], isos[3], "2.U4(3).(2^2)_{12*2*}" ],[127X[104X
    [4X[25X>[125X [27X[ isos[1], isos[2], isos[3], "2.U4(3).(2^2)_{1*2*2*}" ] ];;[127X[104X
    [4X[25Xgap>[125X [27XtblG:= CharacterTable( "2.U4(3)" );;[127X[104X
    [4X[25Xgap>[125X [27Xresult:= [];;[127X[104X
    [4X[25Xgap>[125X [27Xfor input in inputs do[127X[104X
    [4X[25X>[125X [27X     tblsG2:= input{ [ 1 .. 3 ] };[127X[104X
    [4X[25X>[125X [27X     lib:= CharacterTable( input[4] );[127X[104X
    [4X[25X>[125X [27X     poss:= ConstructOrdinaryGV4Table( tblG, tblsG2, input[4], lib );[127X[104X
    [4X[25X>[125X [27X     ConstructModularGV4Tables( tblG, tblsG2, poss, lib );[127X[104X
    [4X[25X>[125X [27X     Append( result, RepresentativesCharacterTables( poss ) );[127X[104X
    [4X[25X>[125X [27X   od;[127X[104X
    [4X[25Xgap>[125X [27Xresult:= List( result, x -> x.table );[127X[104X
    [4X[28X[ CharacterTable( "new2.U4(3).(2^2)_{122}" ), [128X[104X
    [4X[28X  CharacterTable( "new2.U4(3).(2^2)_{1*22}" ), [128X[104X
    [4X[28X  CharacterTable( "new2.U4(3).(2^2)_{12*2}" ), [128X[104X
    [4X[28X  CharacterTable( "new2.U4(3).(2^2)_{1*2*2}" ), [128X[104X
    [4X[28X  CharacterTable( "new2.U4(3).(2^2)_{12*2*}" ), [128X[104X
    [4X[28X  CharacterTable( "new2.U4(3).(2^2)_{1*2*2*}" ) ][128X[104X
  [4X[32X[104X
  
  [33X[0;0YWe get exactly one character table for each input. For each of these tables,
  there  are  three possibilities to form an isoclinic table, corresponding to
  the  three  subgroups of index two. It turns out that the six solutions form
  two  orbits  under  forming some isoclinic table. Tables in different orbits
  are  essentially  different,  already  their  numbers  of  conjugacy classes
  differ.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XList( result, NrConjugacyClasses );[127X[104X
    [4X[28X[ 87, 102, 102, 87, 87, 102 ][128X[104X
    [4X[25Xgap>[125X [27Xt:= result[1];;[127X[104X
    [4X[25Xgap>[125X [27Xnsg:= Filtered( ClassPositionsOfNormalSubgroups( t ),[127X[104X
    [4X[25X>[125X [27X           x -> Sum( SizesConjugacyClasses( t ){ x } ) = Size( t ) / 2 );;[127X[104X
    [4X[25Xgap>[125X [27Xiso:= List( nsg, x -> CharacterTableIsoclinic( t, x ) );;[127X[104X
    [4X[25Xgap>[125X [27XList( iso, x -> PositionProperty( result, y ->[127X[104X
    [4X[25X>[125X [27X           TransformingPermutationsCharacterTables( x, y ) <> fail ) );[127X[104X
    [4X[28X[ 4, 4, 5 ][128X[104X
    [4X[25Xgap>[125X [27Xt:= result[2];;[127X[104X
    [4X[25Xgap>[125X [27Xnsg:= Filtered( ClassPositionsOfNormalSubgroups( t ),[127X[104X
    [4X[25X>[125X [27X           x -> Sum( SizesConjugacyClasses( t ){ x } ) = Size( t ) / 2 );;[127X[104X
    [4X[25Xgap>[125X [27Xiso:= List( nsg, x -> CharacterTableIsoclinic( t, x ) );;[127X[104X
    [4X[25Xgap>[125X [27XList( iso, x -> PositionProperty( result, y ->[127X[104X
    [4X[25X>[125X [27X           TransformingPermutationsCharacterTables( x, y ) <> fail ) );[127X[104X
    [4X[28X[ 3, 3, 6 ][128X[104X
  [4X[32X[104X
  
  [33X[0;0YUp to now, it is not clear that the character tables we have constructed are
  really  the character tables of some groups. The existence of groups for the
  first orbit of character tables can be established as follows.[133X
  
  [33X[0;0YThe  group  [22XO_8^+(3)[122X  contains  maximal  subgroups of the type [22X2.U_4(3).2^2[122X,
  see [CCN+85,  p.  140].  Only  the first of our result tables admits a class
  fusion into the table of [22XO_8^+(3)[122X.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27Xu:= CharacterTable( "O8+(3)" );;[127X[104X
    [4X[25Xgap>[125X [27Xfus:= List( result, x -> PossibleClassFusions( x, u ) );;[127X[104X
    [4X[25Xgap>[125X [27XList( fus, Length );[127X[104X
    [4X[28X[ 24, 0, 0, 0, 0, 0 ][128X[104X
  [4X[32X[104X
  
  [33X[0;0YA  table  in  the  second  orbit  belongs to a maximal subgroup of [22XO_7(3).2[122X,
  see [CCN+85, p. 109].[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27Xu:= CharacterTable( "O7(3).2" );;[127X[104X
    [4X[25Xgap>[125X [27Xfus:= List( result, x -> PossibleClassFusions( x, u ) );;[127X[104X
    [4X[25Xgap>[125X [27XList( fus, Length );[127X[104X
    [4X[28X[ 0, 16, 0, 0, 0, 0 ][128X[104X
  [4X[32X[104X
  
  [33X[0;0YNote  that  this  subgroup  of  [22XO_7(3).2  ≅  SO(7,3)[122X is the orthogonal group
  GO[22X_6^-(3)[122X.[133X
  
  [33X[0;0YNow we deal with the double covers of [22XU_4(3).(2^2)_133[122X. The constructions of
  the  character  tables  are  completely  analogous  to  those in the case of
  [22XU_4(3).(2^2)_122[122X.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27Xtbls:= List( [ "1", "3", "3'" ],[127X[104X
    [4X[25X>[125X [27X     i -> CharacterTable( Concatenation( "2.U4(3).2_", i ) ) );;[127X[104X
    [4X[25Xgap>[125X [27Xisos:= List( [ "1", "3", "3'" ], i ->[127X[104X
    [4X[25X>[125X [27X     CharacterTable( Concatenation( "Isoclinic(2.U4(3).2_", i, ")" ) ) );;[127X[104X
    [4X[25Xgap>[125X [27Xinputs:= [[127X[104X
    [4X[25X>[125X [27X[ tbls[1], tbls[2], tbls[3], "2.U4(3).(2^2)_{133}" ],[127X[104X
    [4X[25X>[125X [27X[ isos[1], tbls[2], tbls[3], "2.U4(3).(2^2)_{1*33}" ],[127X[104X
    [4X[25X>[125X [27X[ tbls[1], isos[2], tbls[3], "2.U4(3).(2^2)_{13*3}" ],[127X[104X
    [4X[25X>[125X [27X[ isos[1], isos[2], tbls[3], "2.U4(3).(2^2)_{1*3*3}" ],[127X[104X
    [4X[25X>[125X [27X[ tbls[1], isos[2], isos[3], "2.U4(3).(2^2)_{13*3*}" ],[127X[104X
    [4X[25X>[125X [27X[ isos[1], isos[2], isos[3], "2.U4(3).(2^2)_{1*3*3*}" ] ];;[127X[104X
    [4X[25Xgap>[125X [27XtblG:= CharacterTable( "2.U4(3)" );;[127X[104X
    [4X[25Xgap>[125X [27Xresult:= [];;[127X[104X
    [4X[25Xgap>[125X [27Xfor input in inputs do[127X[104X
    [4X[25X>[125X [27X     tblsG2:= input{ [ 1 .. 3 ] };[127X[104X
    [4X[25X>[125X [27X     lib:= CharacterTable( input[4] );[127X[104X
    [4X[25X>[125X [27X     poss:= ConstructOrdinaryGV4Table( tblG, tblsG2, input[4], lib );[127X[104X
    [4X[25X>[125X [27X     ConstructModularGV4Tables( tblG, tblsG2, poss, lib );[127X[104X
    [4X[25X>[125X [27X     Append( result, RepresentativesCharacterTables( poss ) );[127X[104X
    [4X[25X>[125X [27X   od;[127X[104X
    [4X[28X#I  excluded cand. 2 (out of 4) for 2.U4(3).(2^2)_{1*33} by [128X[104X
    [4X[28X3-mod. table[128X[104X
    [4X[28X#I  excluded cand. 3 (out of 4) for 2.U4(3).(2^2)_{1*33} by [128X[104X
    [4X[28X3-mod. table[128X[104X
    [4X[28X#I  excluded cand. 2 (out of 4) for 2.U4(3).(2^2)_{13*3} by [128X[104X
    [4X[28X3-mod. table[128X[104X
    [4X[28X#I  excluded cand. 3 (out of 4) for 2.U4(3).(2^2)_{13*3} by [128X[104X
    [4X[28X3-mod. table[128X[104X
    [4X[28X#I  excluded cand. 2 (out of 4) for 2.U4(3).(2^2)_{1*3*3*} by [128X[104X
    [4X[28X3-mod. table[128X[104X
    [4X[28X#I  excluded cand. 3 (out of 4) for 2.U4(3).(2^2)_{1*3*3*} by [128X[104X
    [4X[28X3-mod. table[128X[104X
    [4X[25Xgap>[125X [27Xresult:= List( result, x -> x.table );[127X[104X
    [4X[28X[ CharacterTable( "new2.U4(3).(2^2)_{133}" ), [128X[104X
    [4X[28X  CharacterTable( "new2.U4(3).(2^2)_{1*33}" ), [128X[104X
    [4X[28X  CharacterTable( "new2.U4(3).(2^2)_{13*3}" ), [128X[104X
    [4X[28X  CharacterTable( "new2.U4(3).(2^2)_{1*3*3}" ), [128X[104X
    [4X[28X  CharacterTable( "new2.U4(3).(2^2)_{13*3*}" ), [128X[104X
    [4X[28X  CharacterTable( "new2.U4(3).(2^2)_{1*3*3*}" ) ][128X[104X
    [4X[25Xgap>[125X [27XList( result, NrConjugacyClasses );[127X[104X
    [4X[28X[ 69, 72, 72, 69, 69, 72 ][128X[104X
    [4X[25Xgap>[125X [27Xt:= result[1];;[127X[104X
    [4X[25Xgap>[125X [27Xnsg:= Filtered( ClassPositionsOfNormalSubgroups( t ),[127X[104X
    [4X[25X>[125X [27X           x -> Sum( SizesConjugacyClasses( t ){ x } ) = Size( t ) / 2 );;[127X[104X
    [4X[25Xgap>[125X [27Xiso:= List( nsg, x -> CharacterTableIsoclinic( t, x ) );;[127X[104X
    [4X[25Xgap>[125X [27XList( iso, x -> PositionProperty( result, y ->[127X[104X
    [4X[25X>[125X [27X           TransformingPermutationsCharacterTables( x, y ) <> fail ) );[127X[104X
    [4X[28X[ 4, 4, 5 ][128X[104X
    [4X[25Xgap>[125X [27Xt:= result[2];;[127X[104X
    [4X[25Xgap>[125X [27Xnsg:= Filtered( ClassPositionsOfNormalSubgroups( t ),[127X[104X
    [4X[25X>[125X [27X           x -> Sum( SizesConjugacyClasses( t ){ x } ) = Size( t ) / 2 );;[127X[104X
    [4X[25Xgap>[125X [27Xiso:= List( nsg, x -> CharacterTableIsoclinic( t, x ) );;[127X[104X
    [4X[25Xgap>[125X [27XList( iso, x -> PositionProperty( result, y ->[127X[104X
    [4X[25X>[125X [27X           TransformingPermutationsCharacterTables( x, y ) <> fail ) );[127X[104X
    [4X[28X[ 3, 3, 6 ][128X[104X
  [4X[32X[104X
  
  
  [1X2.6-7  [33X[0;0YThe  Character  Tables  of Groups of the Type [22X4_1.L_3(4).2^2[122X[101X[1X (October[101X
  [1X2011)[133X[101X
  
  [33X[0;0YThe  situation  with  [22X4_1.L_3(4).2^2[122X is analogous to that with [22X6.L_3(4).2^2[122X,
  see Section [14X2.6-5[114X.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27Xtbls:= List( [ "1", "2", "3" ],[127X[104X
    [4X[25X>[125X [27X     i -> CharacterTable( Concatenation( "4_1.L3(4).2_", i ) ) );[127X[104X
    [4X[28X[ CharacterTable( "4_1.L3(4).2_1" ), CharacterTable( "4_1.L3(4).2_2" )[128X[104X
    [4X[28X    , CharacterTable( "4_1.L3(4).2_3" ) ][128X[104X
    [4X[25Xgap>[125X [27Xisos:= List( [ "1", "2", "3" ],[127X[104X
    [4X[25X>[125X [27X     i -> CharacterTable( Concatenation( "4_1.L3(4).2_", i, "*" ) ) );[127X[104X
    [4X[28X[ CharacterTable( "Isoclinic(4_1.L3(4).2_1)" ), [128X[104X
    [4X[28X  CharacterTable( "Isoclinic(4_1.L3(4).2_2)" ), [128X[104X
    [4X[28X  CharacterTable( "4_1.L3(4).2_3*" ) ][128X[104X
  [4X[32X[104X
  
  [33X[0;0YNote that the group [22X4_1.L_3(4).2_3[122X has a centre of order four, so one cannot
  construct  the  isoclinic  variant  by  calling  the one argument version of
  [2XCharacterTableIsoclinic[102X ([14XReference: CharacterTableIsoclinic[114X).[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XList( tbls, ClassPositionsOfCentre );[127X[104X
    [4X[28X[ [ 1, 3 ], [ 1, 3 ], [ 1, 2, 3, 4 ] ][128X[104X
    [4X[25Xgap>[125X [27XIsRecord( TransformingPermutationsCharacterTables( tbls[3],[127X[104X
    [4X[25X>[125X [27X       CharacterTableIsoclinic( tbls[3] ) ) );[127X[104X
    [4X[28Xtrue[128X[104X
  [4X[32X[104X
  
  [33X[0;0YAgain, we get eight different character tables, in two orbits.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27Xinputs:= [[127X[104X
    [4X[25X>[125X [27X[ tbls[1], tbls[2], tbls[3], "4_1.L3(4).(2^2)_{123}" ],[127X[104X
    [4X[25X>[125X [27X[ isos[1], tbls[2], tbls[3], "4_1.L3(4).(2^2)_{1*23}" ],[127X[104X
    [4X[25X>[125X [27X[ tbls[1], isos[2], tbls[3], "4_1.L3(4).(2^2)_{12*3}" ],[127X[104X
    [4X[25X>[125X [27X[ isos[1], isos[2], tbls[3], "4_1.L3(4).(2^2)_{1*2*3}" ],[127X[104X
    [4X[25X>[125X [27X[ tbls[1], tbls[2], isos[3], "4_1.L3(4).(2^2)_{123*}" ],[127X[104X
    [4X[25X>[125X [27X[ isos[1], tbls[2], isos[3], "4_1.L3(4).(2^2)_{1*23*}" ],[127X[104X
    [4X[25X>[125X [27X[ tbls[1], isos[2], isos[3], "4_1.L3(4).(2^2)_{12*3*}" ],[127X[104X
    [4X[25X>[125X [27X[ isos[1], isos[2], isos[3], "4_1.L3(4).(2^2)_{1*2*3*}" ] ];;[127X[104X
    [4X[25Xgap>[125X [27XtblG:= CharacterTable( "4_1.L3(4)" );;[127X[104X
    [4X[25Xgap>[125X [27Xresult:= [];;[127X[104X
    [4X[25Xgap>[125X [27Xfor input in inputs do[127X[104X
    [4X[25X>[125X [27X     tblsG2:= input{ [ 1 .. 3 ] };[127X[104X
    [4X[25X>[125X [27X     lib:= CharacterTable( input[4] );[127X[104X
    [4X[25X>[125X [27X     poss:= ConstructOrdinaryGV4Table( tblG, tblsG2, input[4], lib );[127X[104X
    [4X[25X>[125X [27X     ConstructModularGV4Tables( tblG, tblsG2, poss, lib );[127X[104X
    [4X[25X>[125X [27X     Append( result, RepresentativesCharacterTables( poss ) );[127X[104X
    [4X[25X>[125X [27X   od;[127X[104X
    [4X[28X#I  excluded cand. 2 (out of 8) for 4_1.L3(4).(2^2)_{123} by [128X[104X
    [4X[28X5-mod. table[128X[104X
    [4X[28X#I  excluded cand. 3 (out of 8) for 4_1.L3(4).(2^2)_{123} by [128X[104X
    [4X[28X5-mod. table[128X[104X
    [4X[28X#I  excluded cand. 4 (out of 8) for 4_1.L3(4).(2^2)_{123} by [128X[104X
    [4X[28X7-mod. table[128X[104X
    [4X[28X#I  excluded cand. 5 (out of 8) for 4_1.L3(4).(2^2)_{123} by [128X[104X
    [4X[28X7-mod. table[128X[104X
    [4X[28X#I  excluded cand. 6 (out of 8) for 4_1.L3(4).(2^2)_{123} by [128X[104X
    [4X[28X5-mod. table[128X[104X
    [4X[28X#I  excluded cand. 7 (out of 8) for 4_1.L3(4).(2^2)_{123} by [128X[104X
    [4X[28X5-mod. table[128X[104X
    [4X[28X#I  excluded cand. 2 (out of 8) for 4_1.L3(4).(2^2)_{1*23} by [128X[104X
    [4X[28X5-mod. table[128X[104X
    [4X[28X#I  excluded cand. 3 (out of 8) for 4_1.L3(4).(2^2)_{1*23} by [128X[104X
    [4X[28X5-mod. table[128X[104X
    [4X[28X#I  excluded cand. 4 (out of 8) for 4_1.L3(4).(2^2)_{1*23} by [128X[104X
    [4X[28X7-mod. table[128X[104X
    [4X[28X#I  excluded cand. 5 (out of 8) for 4_1.L3(4).(2^2)_{1*23} by [128X[104X
    [4X[28X7-mod. table[128X[104X
    [4X[28X#I  excluded cand. 6 (out of 8) for 4_1.L3(4).(2^2)_{1*23} by [128X[104X
    [4X[28X5-mod. table[128X[104X
    [4X[28X#I  excluded cand. 7 (out of 8) for 4_1.L3(4).(2^2)_{1*23} by [128X[104X
    [4X[28X5-mod. table[128X[104X
    [4X[28X#I  excluded cand. 2 (out of 8) for 4_1.L3(4).(2^2)_{12*3} by [128X[104X
    [4X[28X5-mod. table[128X[104X
    [4X[28X#I  excluded cand. 3 (out of 8) for 4_1.L3(4).(2^2)_{12*3} by [128X[104X
    [4X[28X5-mod. table[128X[104X
    [4X[28X#I  excluded cand. 4 (out of 8) for 4_1.L3(4).(2^2)_{12*3} by [128X[104X
    [4X[28X7-mod. table[128X[104X
    [4X[28X#I  excluded cand. 5 (out of 8) for 4_1.L3(4).(2^2)_{12*3} by [128X[104X
    [4X[28X7-mod. table[128X[104X
    [4X[28X#I  excluded cand. 6 (out of 8) for 4_1.L3(4).(2^2)_{12*3} by [128X[104X
    [4X[28X5-mod. table[128X[104X
    [4X[28X#I  excluded cand. 7 (out of 8) for 4_1.L3(4).(2^2)_{12*3} by [128X[104X
    [4X[28X5-mod. table[128X[104X
    [4X[28X#I  excluded cand. 2 (out of 8) for 4_1.L3(4).(2^2)_{1*2*3} by [128X[104X
    [4X[28X5-mod. table[128X[104X
    [4X[28X#I  excluded cand. 3 (out of 8) for 4_1.L3(4).(2^2)_{1*2*3} by [128X[104X
    [4X[28X5-mod. table[128X[104X
    [4X[28X#I  excluded cand. 4 (out of 8) for 4_1.L3(4).(2^2)_{1*2*3} by [128X[104X
    [4X[28X7-mod. table[128X[104X
    [4X[28X#I  excluded cand. 5 (out of 8) for 4_1.L3(4).(2^2)_{1*2*3} by [128X[104X
    [4X[28X7-mod. table[128X[104X
    [4X[28X#I  excluded cand. 6 (out of 8) for 4_1.L3(4).(2^2)_{1*2*3} by [128X[104X
    [4X[28X5-mod. table[128X[104X
    [4X[28X#I  excluded cand. 7 (out of 8) for 4_1.L3(4).(2^2)_{1*2*3} by [128X[104X
    [4X[28X5-mod. table[128X[104X
    [4X[25Xgap>[125X [27Xresult:= List( result, x -> x.table );[127X[104X
    [4X[28X[ CharacterTable( "new4_1.L3(4).(2^2)_{123}" ), [128X[104X
    [4X[28X  CharacterTable( "new4_1.L3(4).(2^2)_{1*23}" ), [128X[104X
    [4X[28X  CharacterTable( "new4_1.L3(4).(2^2)_{12*3}" ), [128X[104X
    [4X[28X  CharacterTable( "new4_1.L3(4).(2^2)_{1*2*3}" ), [128X[104X
    [4X[28X  CharacterTable( "new4_1.L3(4).(2^2)_{123*}" ), [128X[104X
    [4X[28X  CharacterTable( "new4_1.L3(4).(2^2)_{1*23*}" ), [128X[104X
    [4X[28X  CharacterTable( "new4_1.L3(4).(2^2)_{12*3*}" ), [128X[104X
    [4X[28X  CharacterTable( "new4_1.L3(4).(2^2)_{1*2*3*}" ) ][128X[104X
    [4X[25Xgap>[125X [27XList( result, NrConjugacyClasses );[127X[104X
    [4X[28X[ 48, 48, 48, 48, 42, 42, 42, 42 ][128X[104X
    [4X[25Xgap>[125X [27Xt:= result[1];;[127X[104X
    [4X[25Xgap>[125X [27Xnsg:= Filtered( ClassPositionsOfNormalSubgroups( t ),[127X[104X
    [4X[25X>[125X [27X           x -> Sum( SizesConjugacyClasses( t ){ x } ) = Size( t ) / 2 );;[127X[104X
    [4X[25Xgap>[125X [27Xiso:= List( nsg, x -> CharacterTableIsoclinic( t, x ) );;[127X[104X
    [4X[25Xgap>[125X [27XList( iso, x -> PositionProperty( result, y ->[127X[104X
    [4X[25X>[125X [27X           TransformingPermutationsCharacterTables( x, y ) <> fail ) );[127X[104X
    [4X[28X[ 3, 2, 4 ][128X[104X
    [4X[25Xgap>[125X [27Xt:= result[5];;[127X[104X
    [4X[25Xgap>[125X [27Xnsg:= Filtered( ClassPositionsOfNormalSubgroups( t ),[127X[104X
    [4X[25X>[125X [27X           x -> Sum( SizesConjugacyClasses( t ){ x } ) = Size( t ) / 2 );;[127X[104X
    [4X[25Xgap>[125X [27Xiso:= List( nsg, x -> CharacterTableIsoclinic( t, x ) );;[127X[104X
    [4X[25Xgap>[125X [27XList( iso, x -> PositionProperty( result, y ->[127X[104X
    [4X[25X>[125X [27X           TransformingPermutationsCharacterTables( x, y ) <> fail ) );[127X[104X
    [4X[28X[ 7, 6, 8 ][128X[104X
  [4X[32X[104X
  
  [33X[0;0YNote that only two out of the eight tables of the type [22X2.L_3(4).2^2[122X occur as
  factors of the eight tables.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27Xfacts:= [ CharacterTable( "2.L3(4).(2^2)_{123}" ), [127X[104X
    [4X[25X>[125X [27X             CharacterTable( "2.L3(4).(2^2)_{123*}" ) ];;[127X[104X
    [4X[25Xgap>[125X [27Xfactresults:= List( result, t -> t / ClassPositionsOfCentre( t ) );;[127X[104X
    [4X[25Xgap>[125X [27XList( factresults, t -> PositionProperty( facts, f ->[127X[104X
    [4X[25X>[125X [27X           IsRecord( TransformingPermutationsCharacterTables( t, f ) ) ) );[127X[104X
    [4X[28X[ 1, 1, 1, 1, 2, 2, 2, 2 ][128X[104X
  [4X[32X[104X
  
  [33X[0;0YThis  is not surprising; note that for [22X1 ≤ i ≤ 2[122X, the two isoclinic variants
  of  [22X4_1.L_3(4).2_i[122X  have  isomorphic factor groups of the type [22X2.L_3(4).2_i[122X.
  (For [22Xi = 3[122X, this is not the case.)[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27Xtest:= [ CharacterTable( "4_1.L3(4).2_1" ),[127X[104X
    [4X[25X>[125X [27X            CharacterTable( "4_1.L3(4).2_1*" ) ];;[127X[104X
    [4X[25Xgap>[125X [27XList( test, ClassPositionsOfCentre );[127X[104X
    [4X[28X[ [ 1, 3 ], [ 1, 3 ] ][128X[104X
    [4X[25Xgap>[125X [27Xfact:= List( test, t -> t / ClassPositionsOfCentre( t ) );;[127X[104X
    [4X[25Xgap>[125X [27XIsRecord( TransformingPermutationsCharacterTables( fact[1], fact[2] ) );[127X[104X
    [4X[28Xtrue[128X[104X
    [4X[25Xgap>[125X [27Xtest:= [ CharacterTable( "4_1.L3(4).2_2" ),[127X[104X
    [4X[25X>[125X [27X            CharacterTable( "4_1.L3(4).2_2*" ) ];;[127X[104X
    [4X[25Xgap>[125X [27XList( test, ClassPositionsOfCentre );[127X[104X
    [4X[28X[ [ 1, 3 ], [ 1, 3 ] ][128X[104X
    [4X[25Xgap>[125X [27Xfact:= List( test, t -> t / ClassPositionsOfCentre( t ) );;[127X[104X
    [4X[25Xgap>[125X [27XIsRecord( TransformingPermutationsCharacterTables( fact[1], fact[2] ) );[127X[104X
    [4X[28Xtrue[128X[104X
  [4X[32X[104X
  
  [33X[0;0YNow   we   try   the  second  approach  and  compare  the  results.  By  the
  abovementioned  asymmetry,  it  is  clear  that  the tables are not uniquely
  determined by the input data.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27Xnames:= [ "L3(4).(2^2)_{123}", "L3(4).(2^2)_{1*23}",[127X[104X
    [4X[25X>[125X [27X             "L3(4).(2^2)_{12*3}", "L3(4).(2^2)_{1*2*3}" ];;[127X[104X
    [4X[25Xgap>[125X [27Xinputs1:= List( names, nam -> [ "4_1.L3(4).2_3", "2.L3(4).2_3",[127X[104X
    [4X[25X>[125X [27X     Concatenation( "2.", nam ), Concatenation( "4_1.", nam ) ] );;[127X[104X
    [4X[25Xgap>[125X [27Xnames:= List( names, nam -> ReplacedString( nam, "3}", "3*}" ) );;[127X[104X
    [4X[25Xgap>[125X [27Xinputs2:= List( names, nam -> [ "4_1.L3(4).2_3*", "2.L3(4).2_3*",[127X[104X
    [4X[25X>[125X [27X     Concatenation( "2.", nam ), Concatenation( "4_1.", nam ) ] );;[127X[104X
    [4X[25Xgap>[125X [27Xinputs:= Concatenation( inputs1, inputs2 );[127X[104X
    [4X[28X[ [ "4_1.L3(4).2_3", "2.L3(4).2_3", "2.L3(4).(2^2)_{123}", [128X[104X
    [4X[28X      "4_1.L3(4).(2^2)_{123}" ], [128X[104X
    [4X[28X  [ "4_1.L3(4).2_3", "2.L3(4).2_3", "2.L3(4).(2^2)_{1*23}", [128X[104X
    [4X[28X      "4_1.L3(4).(2^2)_{1*23}" ], [128X[104X
    [4X[28X  [ "4_1.L3(4).2_3", "2.L3(4).2_3", "2.L3(4).(2^2)_{12*3}", [128X[104X
    [4X[28X      "4_1.L3(4).(2^2)_{12*3}" ], [128X[104X
    [4X[28X  [ "4_1.L3(4).2_3", "2.L3(4).2_3", "2.L3(4).(2^2)_{1*2*3}", [128X[104X
    [4X[28X      "4_1.L3(4).(2^2)_{1*2*3}" ], [128X[104X
    [4X[28X  [ "4_1.L3(4).2_3*", "2.L3(4).2_3*", "2.L3(4).(2^2)_{123*}", [128X[104X
    [4X[28X      "4_1.L3(4).(2^2)_{123*}" ], [128X[104X
    [4X[28X  [ "4_1.L3(4).2_3*", "2.L3(4).2_3*", "2.L3(4).(2^2)_{1*23*}", [128X[104X
    [4X[28X      "4_1.L3(4).(2^2)_{1*23*}" ], [128X[104X
    [4X[28X  [ "4_1.L3(4).2_3*", "2.L3(4).2_3*", "2.L3(4).(2^2)_{12*3*}", [128X[104X
    [4X[28X      "4_1.L3(4).(2^2)_{12*3*}" ], [128X[104X
    [4X[28X  [ "4_1.L3(4).2_3*", "2.L3(4).2_3*", "2.L3(4).(2^2)_{1*2*3*}", [128X[104X
    [4X[28X      "4_1.L3(4).(2^2)_{1*2*3*}" ] ][128X[104X
    [4X[25Xgap>[125X [27Xresult2:= [];;[127X[104X
    [4X[25Xgap>[125X [27Xfor  input in inputs do[127X[104X
    [4X[25X>[125X [27X     tblMG := CharacterTable( input[1] );[127X[104X
    [4X[25X>[125X [27X     tblG  := CharacterTable( input[2] );[127X[104X
    [4X[25X>[125X [27X     tblGA := CharacterTable( input[3] );[127X[104X
    [4X[25X>[125X [27X     name  := Concatenation( "new", input[4] );[127X[104X
    [4X[25X>[125X [27X     lib   := CharacterTable( input[4] );[127X[104X
    [4X[25X>[125X [27X     poss:= ConstructOrdinaryMGATable( tblMG, tblG, tblGA, name, lib );[127X[104X
    [4X[25X>[125X [27X     Append( result2, poss );[127X[104X
    [4X[25X>[125X [27X   od;[127X[104X
    [4X[28X#E  4 possibilities for new4_1.L3(4).(2^2)_{123}[128X[104X
    [4X[28X#E  no solution for new4_1.L3(4).(2^2)_{1*23}[128X[104X
    [4X[28X#E  no solution for new4_1.L3(4).(2^2)_{12*3}[128X[104X
    [4X[28X#E  no solution for new4_1.L3(4).(2^2)_{1*2*3}[128X[104X
    [4X[28X#E  4 possibilities for new4_1.L3(4).(2^2)_{123*}[128X[104X
    [4X[28X#E  no solution for new4_1.L3(4).(2^2)_{1*23*}[128X[104X
    [4X[28X#E  no solution for new4_1.L3(4).(2^2)_{12*3*}[128X[104X
    [4X[28X#E  no solution for new4_1.L3(4).(2^2)_{1*2*3*}[128X[104X
    [4X[25Xgap>[125X [27XLength( result2 );[127X[104X
    [4X[28X8[128X[104X
    [4X[25Xgap>[125X [27Xresult2:= List( result2, x -> x.table );[127X[104X
    [4X[28X[ CharacterTable( "new4_1.L3(4).(2^2)_{123}" ), [128X[104X
    [4X[28X  CharacterTable( "new4_1.L3(4).(2^2)_{123}" ), [128X[104X
    [4X[28X  CharacterTable( "new4_1.L3(4).(2^2)_{123}" ), [128X[104X
    [4X[28X  CharacterTable( "new4_1.L3(4).(2^2)_{123}" ), [128X[104X
    [4X[28X  CharacterTable( "new4_1.L3(4).(2^2)_{123*}" ), [128X[104X
    [4X[28X  CharacterTable( "new4_1.L3(4).(2^2)_{123*}" ), [128X[104X
    [4X[28X  CharacterTable( "new4_1.L3(4).(2^2)_{123*}" ), [128X[104X
    [4X[28X  CharacterTable( "new4_1.L3(4).(2^2)_{123*}" ) ][128X[104X
    [4X[25Xgap>[125X [27XList( result, t1 -> PositionsProperty( result2, t2 -> IsRecord([127X[104X
    [4X[25X>[125X [27X     TransformingPermutationsCharacterTables( t1, t2 ) ) ) );[127X[104X
    [4X[28X[ [ 1 ], [ 4 ], [ 3 ], [ 2 ], [ 7 ], [ 6 ], [ 5 ], [ 8 ] ][128X[104X
  [4X[32X[104X
  
  [33X[0;0YAt  the  moment,  I  do  not know interesting groups that contain one of the
  [22X4_1.L_3(4).2^2[122X type groups and whose character tables are available.[133X
  
  
  [1X2.6-8  [33X[0;0YThe  Character  Tables  of Groups of the Type [22X4_2.L_3(4).2^2[122X[101X[1X (October[101X
  [1X2011)[133X[101X
  
  [33X[0;0YThe  situation  with  [22X4_2.L_3(4).2^2[122X is analogous to that with [22X6.L_3(4).2^2[122X,
  see Section [14X2.6-5[114X.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27Xtbls:= List( [ "1", "2", "3" ],[127X[104X
    [4X[25X>[125X [27X     i -> CharacterTable( Concatenation( "4_2.L3(4).2_", i ) ) );[127X[104X
    [4X[28X[ CharacterTable( "4_2.L3(4).2_1" ), CharacterTable( "4_2.L3(4).2_2" )[128X[104X
    [4X[28X    , CharacterTable( "4_2.L3(4).2_3" ) ][128X[104X
    [4X[25Xgap>[125X [27Xisos:= List( [ "1", "2", "3" ], [127X[104X
    [4X[25X>[125X [27X     i -> CharacterTable( Concatenation( "4_2.L3(4).2_", i, "*" ) ) );[127X[104X
    [4X[28X[ CharacterTable( "Isoclinic(4_2.L3(4).2_1)" ), [128X[104X
    [4X[28X  CharacterTable( "4_2.L3(4).2_2*" ), [128X[104X
    [4X[28X  CharacterTable( "Isoclinic(4_2.L3(4).2_3)" ) ][128X[104X
  [4X[32X[104X
  
  [33X[0;0YNote that the group [22X4_1.L_3(4).2_2[122X has a centre of order four, so one cannot
  construct  the  isoclinic variant not by calling the one argument version of
  [2XCharacterTableIsoclinic[102X ([14XReference: CharacterTableIsoclinic[114X).[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XList( tbls, ClassPositionsOfCentre );[127X[104X
    [4X[28X[ [ 1, 3 ], [ 1, 2, 3, 4 ], [ 1, 3 ] ][128X[104X
    [4X[25Xgap>[125X [27XIsRecord( TransformingPermutationsCharacterTables( tbls[2],[127X[104X
    [4X[25X>[125X [27X       CharacterTableIsoclinic( tbls[2] ) ) );[127X[104X
    [4X[28Xtrue[128X[104X
  [4X[32X[104X
  
  [33X[0;0YAgain, we get eight different character tables, in two orbits.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27Xinputs:= [[127X[104X
    [4X[25X>[125X [27X[ tbls[1], tbls[2], tbls[3], "4_2.L3(4).(2^2)_{123}" ],[127X[104X
    [4X[25X>[125X [27X[ isos[1], tbls[2], tbls[3], "4_2.L3(4).(2^2)_{1*23}" ],[127X[104X
    [4X[25X>[125X [27X[ tbls[1], isos[2], tbls[3], "4_2.L3(4).(2^2)_{12*3}" ],[127X[104X
    [4X[25X>[125X [27X[ tbls[1], tbls[2], isos[3], "4_2.L3(4).(2^2)_{123*}" ],[127X[104X
    [4X[25X>[125X [27X[ isos[1], isos[2], tbls[3], "4_2.L3(4).(2^2)_{1*2*3}" ],[127X[104X
    [4X[25X>[125X [27X[ isos[1], tbls[2], isos[3], "4_2.L3(4).(2^2)_{1*23*}" ],[127X[104X
    [4X[25X>[125X [27X[ tbls[1], isos[2], isos[3], "4_2.L3(4).(2^2)_{12*3*}" ],[127X[104X
    [4X[25X>[125X [27X[ isos[1], isos[2], isos[3], "4_2.L3(4).(2^2)_{1*2*3*}" ] ];;[127X[104X
    [4X[25Xgap>[125X [27XtblG:= CharacterTable( "4_2.L3(4)" );;[127X[104X
    [4X[25Xgap>[125X [27Xresult:= [];;[127X[104X
    [4X[25Xgap>[125X [27Xfor input in inputs do[127X[104X
    [4X[25X>[125X [27X     tblsG2:= input{ [ 1 .. 3 ] };[127X[104X
    [4X[25X>[125X [27X     lib:= CharacterTable( input[4] );[127X[104X
    [4X[25X>[125X [27X     poss:= ConstructOrdinaryGV4Table( tblG, tblsG2, input[4], lib );[127X[104X
    [4X[25X>[125X [27X     ConstructModularGV4Tables( tblG, tblsG2, poss, lib );[127X[104X
    [4X[25X>[125X [27X     Append( result, RepresentativesCharacterTables( poss ) );[127X[104X
    [4X[25X>[125X [27X   od;[127X[104X
    [4X[28X#I  excluded cand. 2 (out of 8) for 4_2.L3(4).(2^2)_{123} by [128X[104X
    [4X[28X5-mod. table[128X[104X
    [4X[28X#I  excluded cand. 3 (out of 8) for 4_2.L3(4).(2^2)_{123} by [128X[104X
    [4X[28X5-mod. table[128X[104X
    [4X[28X#I  excluded cand. 4 (out of 8) for 4_2.L3(4).(2^2)_{123} by [128X[104X
    [4X[28X7-mod. table[128X[104X
    [4X[28X#I  excluded cand. 5 (out of 8) for 4_2.L3(4).(2^2)_{123} by [128X[104X
    [4X[28X7-mod. table[128X[104X
    [4X[28X#I  excluded cand. 6 (out of 8) for 4_2.L3(4).(2^2)_{123} by [128X[104X
    [4X[28X5-mod. table[128X[104X
    [4X[28X#I  excluded cand. 7 (out of 8) for 4_2.L3(4).(2^2)_{123} by [128X[104X
    [4X[28X5-mod. table[128X[104X
    [4X[28X#I  excluded cand. 2 (out of 8) for 4_2.L3(4).(2^2)_{1*23} by [128X[104X
    [4X[28X5-mod. table[128X[104X
    [4X[28X#I  excluded cand. 3 (out of 8) for 4_2.L3(4).(2^2)_{1*23} by [128X[104X
    [4X[28X5-mod. table[128X[104X
    [4X[28X#I  excluded cand. 4 (out of 8) for 4_2.L3(4).(2^2)_{1*23} by [128X[104X
    [4X[28X7-mod. table[128X[104X
    [4X[28X#I  excluded cand. 5 (out of 8) for 4_2.L3(4).(2^2)_{1*23} by [128X[104X
    [4X[28X7-mod. table[128X[104X
    [4X[28X#I  excluded cand. 6 (out of 8) for 4_2.L3(4).(2^2)_{1*23} by [128X[104X
    [4X[28X5-mod. table[128X[104X
    [4X[28X#I  excluded cand. 7 (out of 8) for 4_2.L3(4).(2^2)_{1*23} by [128X[104X
    [4X[28X5-mod. table[128X[104X
    [4X[28X#I  excluded cand. 2 (out of 8) for 4_2.L3(4).(2^2)_{123*} by [128X[104X
    [4X[28X5-mod. table[128X[104X
    [4X[28X#I  excluded cand. 3 (out of 8) for 4_2.L3(4).(2^2)_{123*} by [128X[104X
    [4X[28X5-mod. table[128X[104X
    [4X[28X#I  excluded cand. 4 (out of 8) for 4_2.L3(4).(2^2)_{123*} by [128X[104X
    [4X[28X7-mod. table[128X[104X
    [4X[28X#I  excluded cand. 5 (out of 8) for 4_2.L3(4).(2^2)_{123*} by [128X[104X
    [4X[28X7-mod. table[128X[104X
    [4X[28X#I  excluded cand. 6 (out of 8) for 4_2.L3(4).(2^2)_{123*} by [128X[104X
    [4X[28X5-mod. table[128X[104X
    [4X[28X#I  excluded cand. 7 (out of 8) for 4_2.L3(4).(2^2)_{123*} by [128X[104X
    [4X[28X5-mod. table[128X[104X
    [4X[28X#I  excluded cand. 2 (out of 8) for 4_2.L3(4).(2^2)_{1*23*} by [128X[104X
    [4X[28X5-mod. table[128X[104X
    [4X[28X#I  excluded cand. 3 (out of 8) for 4_2.L3(4).(2^2)_{1*23*} by [128X[104X
    [4X[28X5-mod. table[128X[104X
    [4X[28X#I  excluded cand. 4 (out of 8) for 4_2.L3(4).(2^2)_{1*23*} by [128X[104X
    [4X[28X7-mod. table[128X[104X
    [4X[28X#I  excluded cand. 5 (out of 8) for 4_2.L3(4).(2^2)_{1*23*} by [128X[104X
    [4X[28X7-mod. table[128X[104X
    [4X[28X#I  excluded cand. 6 (out of 8) for 4_2.L3(4).(2^2)_{1*23*} by [128X[104X
    [4X[28X5-mod. table[128X[104X
    [4X[28X#I  excluded cand. 7 (out of 8) for 4_2.L3(4).(2^2)_{1*23*} by [128X[104X
    [4X[28X5-mod. table[128X[104X
    [4X[25Xgap>[125X [27Xresult:= List( result, x -> x.table );[127X[104X
    [4X[28X[ CharacterTable( "new4_2.L3(4).(2^2)_{123}" ), [128X[104X
    [4X[28X  CharacterTable( "new4_2.L3(4).(2^2)_{1*23}" ), [128X[104X
    [4X[28X  CharacterTable( "new4_2.L3(4).(2^2)_{12*3}" ), [128X[104X
    [4X[28X  CharacterTable( "new4_2.L3(4).(2^2)_{123*}" ), [128X[104X
    [4X[28X  CharacterTable( "new4_2.L3(4).(2^2)_{1*2*3}" ), [128X[104X
    [4X[28X  CharacterTable( "new4_2.L3(4).(2^2)_{1*23*}" ), [128X[104X
    [4X[28X  CharacterTable( "new4_2.L3(4).(2^2)_{12*3*}" ), [128X[104X
    [4X[28X  CharacterTable( "new4_2.L3(4).(2^2)_{1*2*3*}" ) ][128X[104X
    [4X[25Xgap>[125X [27XList( result, NrConjugacyClasses );[127X[104X
    [4X[28X[ 50, 50, 44, 50, 44, 50, 44, 44 ][128X[104X
    [4X[25Xgap>[125X [27Xt:= result[1];;[127X[104X
    [4X[25Xgap>[125X [27Xnsg:= Filtered( ClassPositionsOfNormalSubgroups( t ),[127X[104X
    [4X[25X>[125X [27X           x -> Sum( SizesConjugacyClasses( t ){ x } ) = Size( t ) / 2 );;[127X[104X
    [4X[25Xgap>[125X [27Xiso:= List( nsg, x -> CharacterTableIsoclinic( t, x ) );;[127X[104X
    [4X[25Xgap>[125X [27XList( iso, x -> PositionProperty( result, y ->[127X[104X
    [4X[25X>[125X [27X           TransformingPermutationsCharacterTables( x, y ) <> fail ) );[127X[104X
    [4X[28X[ 4, 2, 6 ][128X[104X
    [4X[25Xgap>[125X [27Xt:= result[3];;[127X[104X
    [4X[25Xgap>[125X [27Xnsg:= Filtered( ClassPositionsOfNormalSubgroups( t ),[127X[104X
    [4X[25X>[125X [27X           x -> Sum( SizesConjugacyClasses( t ){ x } ) = Size( t ) / 2 );;[127X[104X
    [4X[25Xgap>[125X [27Xiso:= List( nsg, x -> CharacterTableIsoclinic( t, x ) );;[127X[104X
    [4X[25Xgap>[125X [27XList( iso, x -> PositionProperty( result, y ->[127X[104X
    [4X[25X>[125X [27X           TransformingPermutationsCharacterTables( x, y ) <> fail ) );[127X[104X
    [4X[28X[ 7, 5, 8 ][128X[104X
  [4X[32X[104X
  
  [33X[0;0YNote that only two out of the eight tables of the type [22X2.L_3(4).2^2[122X occur as
  factors of the eight tables.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27Xfacts:= [ CharacterTable( "2.L3(4).(2^2)_{123}" ),[127X[104X
    [4X[25X>[125X [27X             CharacterTable( "2.L3(4).(2^2)_{12*3}" ) ];;[127X[104X
    [4X[25Xgap>[125X [27Xfactresults:= List( result, t -> t / ClassPositionsOfCentre( t ) );;[127X[104X
    [4X[25Xgap>[125X [27XList( factresults, t -> PositionProperty( facts, f ->[127X[104X
    [4X[25X>[125X [27X           IsRecord( TransformingPermutationsCharacterTables( t, f ) ) ) );[127X[104X
    [4X[28X[ 1, 1, 2, 1, 2, 1, 2, 2 ][128X[104X
  [4X[32X[104X
  
  [33X[0;0YThis  is  not  surprising;  note  that  for  [22Xi ∈ { 1, 3 }[122X, the two isoclinic
  variants  of  [22X4_1.L_3(4).2_i[122X  have  isomorphic  factor  groups  of  the type
  [22X2.L_3(4).2_i[122X. (For [22Xi = 2[122X, this is not the case.)[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27Xtest:= [ CharacterTable( "4_2.L3(4).2_1" ),[127X[104X
    [4X[25X>[125X [27X            CharacterTable( "4_2.L3(4).2_1*" ) ];;[127X[104X
    [4X[25Xgap>[125X [27XList( test, ClassPositionsOfCentre );[127X[104X
    [4X[28X[ [ 1, 3 ], [ 1, 3 ] ][128X[104X
    [4X[25Xgap>[125X [27Xfact:= List( test, t -> t / ClassPositionsOfCentre( t ) );;[127X[104X
    [4X[25Xgap>[125X [27XIsRecord( TransformingPermutationsCharacterTables( fact[1], fact[2] ) );[127X[104X
    [4X[28Xtrue[128X[104X
    [4X[25Xgap>[125X [27Xtest:= [ CharacterTable( "4_2.L3(4).2_3" ),[127X[104X
    [4X[25X>[125X [27X            CharacterTable( "4_2.L3(4).2_3*" ) ];;[127X[104X
    [4X[25Xgap>[125X [27XList( test, ClassPositionsOfCentre );[127X[104X
    [4X[28X[ [ 1, 3 ], [ 1, 3 ] ][128X[104X
    [4X[25Xgap>[125X [27Xfact:= List( test, t -> t / ClassPositionsOfCentre( t ) );;[127X[104X
    [4X[25Xgap>[125X [27XIsRecord( TransformingPermutationsCharacterTables( fact[1], fact[2] ) );[127X[104X
    [4X[28Xtrue[128X[104X
  [4X[32X[104X
  
  [33X[0;0YNow   we   try   the  second  approach  and  compare  the  results.  By  the
  abovementioned  asymmetry,  it  is  clear  that  the tables are not uniquely
  determined by the input data.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27Xnames:= [ "L3(4).(2^2)_{123}", "L3(4).(2^2)_{1*23}",[127X[104X
    [4X[25X>[125X [27X             "L3(4).(2^2)_{123*}", "L3(4).(2^2)_{1*23*}" ];;[127X[104X
    [4X[25Xgap>[125X [27Xinputs1:= List( names, nam -> [ "4_2.L3(4).2_2", "2.L3(4).2_2",[127X[104X
    [4X[25X>[125X [27X     Concatenation( "2.", nam ), Concatenation( "4_2.", nam ) ] );;[127X[104X
    [4X[25Xgap>[125X [27Xnames:= List( names, nam -> ReplacedString( nam, "23", "2*3" ) );;[127X[104X
    [4X[25Xgap>[125X [27Xinputs2:= List( names, nam -> [ "4_2.L3(4).2_2*", "2.L3(4).2_2*",[127X[104X
    [4X[25X>[125X [27X     Concatenation( "2.", nam ), Concatenation( "4_2.", nam ) ] );;[127X[104X
    [4X[25Xgap>[125X [27Xinputs:= Concatenation( inputs1, inputs2 );[127X[104X
    [4X[28X[ [ "4_2.L3(4).2_2", "2.L3(4).2_2", "2.L3(4).(2^2)_{123}", [128X[104X
    [4X[28X      "4_2.L3(4).(2^2)_{123}" ], [128X[104X
    [4X[28X  [ "4_2.L3(4).2_2", "2.L3(4).2_2", "2.L3(4).(2^2)_{1*23}", [128X[104X
    [4X[28X      "4_2.L3(4).(2^2)_{1*23}" ], [128X[104X
    [4X[28X  [ "4_2.L3(4).2_2", "2.L3(4).2_2", "2.L3(4).(2^2)_{123*}", [128X[104X
    [4X[28X      "4_2.L3(4).(2^2)_{123*}" ], [128X[104X
    [4X[28X  [ "4_2.L3(4).2_2", "2.L3(4).2_2", "2.L3(4).(2^2)_{1*23*}", [128X[104X
    [4X[28X      "4_2.L3(4).(2^2)_{1*23*}" ], [128X[104X
    [4X[28X  [ "4_2.L3(4).2_2*", "2.L3(4).2_2*", "2.L3(4).(2^2)_{12*3}", [128X[104X
    [4X[28X      "4_2.L3(4).(2^2)_{12*3}" ], [128X[104X
    [4X[28X  [ "4_2.L3(4).2_2*", "2.L3(4).2_2*", "2.L3(4).(2^2)_{1*2*3}", [128X[104X
    [4X[28X      "4_2.L3(4).(2^2)_{1*2*3}" ], [128X[104X
    [4X[28X  [ "4_2.L3(4).2_2*", "2.L3(4).2_2*", "2.L3(4).(2^2)_{12*3*}", [128X[104X
    [4X[28X      "4_2.L3(4).(2^2)_{12*3*}" ], [128X[104X
    [4X[28X  [ "4_2.L3(4).2_2*", "2.L3(4).2_2*", "2.L3(4).(2^2)_{1*2*3*}", [128X[104X
    [4X[28X      "4_2.L3(4).(2^2)_{1*2*3*}" ] ][128X[104X
    [4X[25Xgap>[125X [27Xresult2:= [];;[127X[104X
    [4X[25Xgap>[125X [27Xfor  input in inputs do[127X[104X
    [4X[25X>[125X [27X     tblMG := CharacterTable( input[1] );[127X[104X
    [4X[25X>[125X [27X     tblG  := CharacterTable( input[2] );[127X[104X
    [4X[25X>[125X [27X     tblGA := CharacterTable( input[3] );[127X[104X
    [4X[25X>[125X [27X     name  := Concatenation( "new", input[4] );[127X[104X
    [4X[25X>[125X [27X     lib   := CharacterTable( input[4] );[127X[104X
    [4X[25X>[125X [27X     poss:= ConstructOrdinaryMGATable( tblMG, tblG, tblGA, name, lib );[127X[104X
    [4X[25X>[125X [27X     Append( result2, poss );[127X[104X
    [4X[25X>[125X [27X   od;[127X[104X
    [4X[28X#E  4 possibilities for new4_2.L3(4).(2^2)_{123}[128X[104X
    [4X[28X#E  no solution for new4_2.L3(4).(2^2)_{1*23}[128X[104X
    [4X[28X#E  no solution for new4_2.L3(4).(2^2)_{123*}[128X[104X
    [4X[28X#E  no solution for new4_2.L3(4).(2^2)_{1*23*}[128X[104X
    [4X[28X#E  4 possibilities for new4_2.L3(4).(2^2)_{12*3}[128X[104X
    [4X[28X#E  no solution for new4_2.L3(4).(2^2)_{1*2*3}[128X[104X
    [4X[28X#E  no solution for new4_2.L3(4).(2^2)_{12*3*}[128X[104X
    [4X[28X#E  no solution for new4_2.L3(4).(2^2)_{1*2*3*}[128X[104X
    [4X[25Xgap>[125X [27XLength( result2 );[127X[104X
    [4X[28X8[128X[104X
    [4X[25Xgap>[125X [27Xresult2:= List( result2, x -> x.table );[127X[104X
    [4X[28X[ CharacterTable( "new4_2.L3(4).(2^2)_{123}" ), [128X[104X
    [4X[28X  CharacterTable( "new4_2.L3(4).(2^2)_{123}" ), [128X[104X
    [4X[28X  CharacterTable( "new4_2.L3(4).(2^2)_{123}" ), [128X[104X
    [4X[28X  CharacterTable( "new4_2.L3(4).(2^2)_{123}" ), [128X[104X
    [4X[28X  CharacterTable( "new4_2.L3(4).(2^2)_{12*3}" ), [128X[104X
    [4X[28X  CharacterTable( "new4_2.L3(4).(2^2)_{12*3}" ), [128X[104X
    [4X[28X  CharacterTable( "new4_2.L3(4).(2^2)_{12*3}" ), [128X[104X
    [4X[28X  CharacterTable( "new4_2.L3(4).(2^2)_{12*3}" ) ][128X[104X
    [4X[25Xgap>[125X [27XList( result, t1 -> PositionsProperty( result2, t2 -> IsRecord([127X[104X
    [4X[25X>[125X [27X     TransformingPermutationsCharacterTables( t1, t2 ) ) ) );[127X[104X
    [4X[28X[ [ 1 ], [ 4 ], [ 7 ], [ 3 ], [ 6 ], [ 2 ], [ 5 ], [ 8 ] ][128X[104X
  [4X[32X[104X
  
  [33X[0;0YThe  group  [22XON.2[122X  contains  a maximal subgroup [22XM[122X of the type [22X4_2.L_3(4).2^2[122X,
  see [CCN+85, p. 132]. Only the third result table admits a class fusion into
  [22XON.2[122X.  This  shows  the  existence  of groups for the tables from the second
  orbit.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27Xon2:= CharacterTable( "ON.2" );;[127X[104X
    [4X[25Xgap>[125X [27Xfus:= List( result, x -> PossibleClassFusions( x, on2 ) );;[127X[104X
    [4X[25Xgap>[125X [27XList( fus, Length );[127X[104X
    [4X[28X[ 0, 0, 16, 0, 0, 0, 0, 0 ][128X[104X
  [4X[32X[104X
  
  
  [1X2.6-9 [33X[0;0YThe Character Table of Aut[22X(L_2(81))[122X[101X[1X[133X[101X
  
  [33X[0;0YThe  group  Aut[22X(L_2(81)) ≅ L_2(81).(2 × 4)[122X has the structure [22XG.2^2[122X where [22XG =
  L_2(81).2_1[122X.  Here  we  get two triples of possible actions on the tables of
  the groups [22XG.2_i[122X, and one possible character table for each triple.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27Xinput:= [ "L2(81).2_1", "L2(81).4_1", "L2(81).4_2", "L2(81).2^2",[127X[104X
    [4X[25X>[125X [27X                                                       "L2(81).(2x4)" ];;[127X[104X
    [4X[25Xgap>[125X [27XtblG   := CharacterTable( input[1] );;[127X[104X
    [4X[25Xgap>[125X [27XtblsG2 := List( input{ [ 2 .. 4 ] }, CharacterTable );;[127X[104X
    [4X[25Xgap>[125X [27Xname   := Concatenation( "new", input[5] );;[127X[104X
    [4X[25Xgap>[125X [27Xlib    := CharacterTable( input[5] );;[127X[104X
    [4X[25Xgap>[125X [27Xposs   := ConstructOrdinaryGV4Table( tblG, tblsG2, name, lib );;[127X[104X
    [4X[28X#I  newL2(81).(2x4): 2 equivalence classes[128X[104X
    [4X[25Xgap>[125X [27Xreps:= RepresentativesCharacterTables( poss );;[127X[104X
    [4X[25Xgap>[125X [27XLength( reps );[127X[104X
    [4X[28X2[128X[104X
  [4X[32X[104X
  
  [33X[0;0YDue to the different underlying actions, the power maps of the two candidate
  tables differ.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27Xord:= OrdersClassRepresentatives( reps[1].table );;[127X[104X
    [4X[25Xgap>[125X [27Xord = OrdersClassRepresentatives( reps[2].table ); [127X[104X
    [4X[28Xtrue[128X[104X
    [4X[25Xgap>[125X [27Xpos:= Position( ord, 80 );[127X[104X
    [4X[28X33[128X[104X
    [4X[25Xgap>[125X [27XPowerMap( reps[1].table, 3 )[ pos ];[127X[104X
    [4X[28X34[128X[104X
    [4X[25Xgap>[125X [27XPowerMap( reps[2].table, 3 )[ pos ];[127X[104X
    [4X[28X33[128X[104X
  [4X[32X[104X
  
  [33X[0;0YAut[22X(L_2(81))[122X  can  be generated by PGL[22X(2,81) = L_2(81).2_2[122X and the Frobenius
  automorphism of order four that is defined on GL[22X(2,81)[122X as the map that cubes
  the  matrix entries. The elements of order [22X80[122X in Aut[22X(L_2(81))[122X are conjugates
  of diagonal matrices modulo scalar matrices, which are mapped to their third
  powers by the Frobenius homomorphism. So the third power map of Aut[22X(L_2(81))[122X
  fixes the classes of elements of order [22X80[122X. In other words, the second of the
  two tables is the right one.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27Xtrans:= TransformingPermutationsCharacterTables( reps[2].table, lib );;[127X[104X
    [4X[25Xgap>[125X [27XIsRecord( trans );[127X[104X
    [4X[28Xtrue[128X[104X
    [4X[25Xgap>[125X [27XList( reps[2].G2fusGV4, x -> OnTuples( x, trans.columns ) )[127X[104X
    [4X[25X>[125X [27X = List( tblsG2, x -> GetFusionMap( x, lib ) );[127X[104X
    [4X[28Xtrue[128X[104X
    [4X[25Xgap>[125X [27XConstructModularGV4Tables( tblG, tblsG2, [ reps[2] ], lib );;[127X[104X
    [4X[28X#I  not all input tables for L2(81).(2x4) mod 41 available[128X[104X
  [4X[32X[104X
  
  
  [1X2.6-10 [33X[0;0YThe Character Table of [22XO_8^+(3).2^2_111[122X[101X[1X[133X[101X
  
  [33X[0;0YThe construction of the character table of the group [22XO_8^+(3).2^2_111[122X is not
  as  straightforward as the constructions shown in Section [14X2.6-2[114X. Here we get
  [22X26[122X  triples  of  actions on the tables of the three subgroups [22XG.2_i[122X of index
  two,  but  only  one  of  them leads to candidates for the desired character
  table.  Specifically,  we get [22X64[122X such candidates, in two equivalence classes
  w.r.t. permutation equivalence.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27Xinput:= [ "O8+(3)", "O8+(3).2_1",  "O8+(3).2_1'", "O8+(3).2_1''",[127X[104X
    [4X[25X>[125X [27X                                                 "O8+(3).(2^2)_{111}" ];;[127X[104X
    [4X[25Xgap>[125X [27XtblG   := CharacterTable( input[1] );;[127X[104X
    [4X[25Xgap>[125X [27XtblsG2 := List( input{ [ 2 .. 4 ] }, CharacterTable );;[127X[104X
    [4X[25Xgap>[125X [27Xname   := Concatenation( "new", input[5] );;[127X[104X
    [4X[25Xgap>[125X [27Xlib    := CharacterTable( input[5] );;[127X[104X
    [4X[25Xgap>[125X [27Xposs   := ConstructOrdinaryGV4Table( tblG, tblsG2, name, lib );;[127X[104X
    [4X[28X#I  newO8+(3).(2^2)_{111}: 2 equivalence classes[128X[104X
    [4X[25Xgap>[125X [27XLength( poss );[127X[104X
    [4X[28X64[128X[104X
    [4X[25Xgap>[125X [27Xreps:= RepresentativesCharacterTables( poss );;[127X[104X
    [4X[25Xgap>[125X [27XLength( reps );[127X[104X
    [4X[28X2[128X[104X
  [4X[32X[104X
  
  [33X[0;0YThe  two  candidate  tables  differ  only  in  four  irreducible  characters
  involving  irrationalities  on  the  classes  of element order [22X28[122X. All three
  subgroups  [22XG.2_i[122X  contain elements of order [22X28[122X that do not lie in the simple
  group [22XG[122X; these classes are roots of the same (unique) class of element order
  [22X7[122X. The centralizer [22XC[122X of an order [22X7[122X element in [22XG.2^2[122X has order [22X112 = 2^4 ⋅ 7[122X,
  the  intersection  of  [22XC[122X  with  [22XG[122X has the structure [22X2^2 × 7[122X since [22XG[122X contains
  three  classes  of  cyclic  subgroups  of  the  order  [22X14[122X,  and  each of the
  intersections of [22XC[122X with one of the subgroups [22XG.2_i[122X has the structure [22X2 × 4 ×
  7[122X, so the structure of [22XC[122X is [22X4^2 × 7 ≅ 4 × 28[122X.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27Xt:= reps[1].table;;[127X[104X
    [4X[25Xgap>[125X [27Xord7:= Filtered( [ 1 .. NrConjugacyClasses( t ) ],                        [127X[104X
    [4X[25X>[125X [27X              i -> OrdersClassRepresentatives( t )[i] = 7 );[127X[104X
    [4X[28X[ 37 ][128X[104X
    [4X[25Xgap>[125X [27XSizesCentralizers( t ){ ord7 };[127X[104X
    [4X[28X[ 112 ][128X[104X
    [4X[25Xgap>[125X [27Xord28:= Filtered( [ 1 .. NrConjugacyClasses( t ) ],[127X[104X
    [4X[25X>[125X [27X              i -> OrdersClassRepresentatives( t )[i] = 28 );[127X[104X
    [4X[28X[ 112, 113, 114, 115, 161, 162, 163, 164, 210, 211, 212, 213 ][128X[104X
    [4X[25Xgap>[125X [27XList( reps[1].G2fusGV4, x -> Intersection( ord28, x ) );[127X[104X
    [4X[28X[ [ 112, 113, 114, 115 ], [ 161, 162, 163, 164 ], [128X[104X
    [4X[28X  [ 210, 211, 212, 213 ] ][128X[104X
    [4X[25Xgap>[125X [27Xsub:= CharacterTable( "Cyclic", 28 ) * CharacterTable( "Cyclic", 4 );;[127X[104X
    [4X[25Xgap>[125X [27XList( reps, x -> Length( PossibleClassFusions( sub, x.table ) ) );[127X[104X
    [4X[28X[ 0, 96 ][128X[104X
  [4X[32X[104X
  
  [33X[0;0YIt turns out that only one of the two candidate tables admits a class fusion
  from  the  character  table  of  [22XC[122X,  thus  we  have  determined the ordinary
  character  table  of  [22XO_8^+(3).2^2_111[122X. It coincides with the table from the
  library.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27Xtrans:= TransformingPermutationsCharacterTables( reps[2].table, lib );;[127X[104X
    [4X[25Xgap>[125X [27XIsRecord( trans );[127X[104X
    [4X[28Xtrue[128X[104X
    [4X[25Xgap>[125X [27XList( reps[2].G2fusGV4, x -> OnTuples( x, trans.columns ) )[127X[104X
    [4X[25X>[125X [27X = List( tblsG2, x -> GetFusionMap( x, lib ) );[127X[104X
    [4X[28Xtrue[128X[104X
  [4X[32X[104X
  
  [33X[0;0Y(If  we  do  not  believe the statement about the structure of [22XC[122X then we can
  check all [22X14[122X groups of order [22X112[122X that contain a central subgroup of order [22X7[122X.
  A  unique  such  group  admits  a  class fusion into at least one of the two
  candidate tables.)[133X
  
  [33X[0;0YThe wrong candidate for the ordinary table cannot be excluded via conditions
  that   are   forced   by   the  construction  of  the  [22Xp[122X-modular  tables  of
  [22XO_8^+(3).2^2_111[122X.  Thus  we  restrict  the  ordinary  tables  used  for this
  construction to those candidates that are equivalent to the correct table.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27Xposs:= Filtered( poss,[127X[104X
    [4X[25X>[125X [27X     r -> TransformingPermutationsCharacterTables( r.table, lib )[127X[104X
    [4X[25X>[125X [27X          <> fail );;[127X[104X
    [4X[25Xgap>[125X [27XConstructModularGV4Tables( tblG, tblsG2, poss, lib );;[127X[104X
    [4X[28X#I  not all input tables for O8+(3).(2^2)_{111} mod 3 available[128X[104X
  [4X[32X[104X
  
  [33X[0;0YSo  also  the [22Xp[122X-modular tables of [22XO_8^+(3).2^2_111[122X can be computed this way,
  provided that the [22Xp[122X-modular tables of the index [22X2[122X subgroups are available.[133X
  
  
  [1X2.7 [33X[0;0YExamples for the Type [22X2^2.G[122X[101X[1X[133X[101X
  
  [33X[0;0YWe  compute  the  character  table  of  a  group  of the type [22X2^2.G[122X from the
  character  tables  of  the  three  factor  groups of the type [22X2.G[122X, using the
  function              [2XPossibleCharacterTablesOfTypeV4G[102X             ([14XCTblLib:
  PossibleCharacterTablesOfTypeV4G[114X), see Section [14X2.3-4[114X.[133X
  
  
  [1X2.7-1 [33X[0;0YThe Character Table of [22X2^2.Sz(8)[122X[101X[1X[133X[101X
  
  [33X[0;0YThe three central involutions in [22X2^2.Sz(8)[122X are permuted cyclicly by an outer
  automorphism     [22Xα[122X     of     order     three.    In    order    to    apply
  [2XPossibleCharacterTablesOfTypeV4G[102X                                   ([14XCTblLib:
  PossibleCharacterTablesOfTypeV4G[114X),  we need the character table of the group
  [22X2.Sz(8)[122X and the action on the classes of [22XSz(8)[122X that is induced by [22Xα[122X.[133X
  
  [33X[0;0YThe  ordinary  character  table  of  [22XG  =  Sz(8)[122X  admits  exactly five table
  automorphisms  of  order  dividing  [22X3[122X.  Each of these possibilities leads to
  exactly  one  possible  character  table  of  [22X2^2.G[122X, and the five tables are
  permutation  equivalent.  From this point of view, we need not know which of
  the table automorphisms are induced by outer [13Xgroup[113X automorphisms of [22XG[122X.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27Xt:= CharacterTable( "Sz(8)" );;[127X[104X
    [4X[25Xgap>[125X [27X2t:= CharacterTable( "2.Sz(8)" );;[127X[104X
    [4X[25Xgap>[125X [27Xaut:= AutomorphismsOfTable( t );;[127X[104X
    [4X[25Xgap>[125X [27Xelms:= Set( Filtered( aut, x -> Order( x ) in [ 1, 3 ] ),           [127X[104X
    [4X[25X>[125X [27X               SmallestGeneratorPerm );[127X[104X
    [4X[28X[ (), (9,10,11), (6,7,8), (6,7,8)(9,10,11), (6,7,8)(9,11,10) ][128X[104X
    [4X[25Xgap>[125X [27Xposs:= List( elms,                                         [127X[104X
    [4X[25X>[125X [27X      pi -> PossibleCharacterTablesOfTypeV4G( t, 2t, pi, "2^2.Sz(8)" ) );[127X[104X
    [4X[28X[ [ CharacterTable( "2^2.Sz(8)" ) ], [ CharacterTable( "2^2.Sz(8)" ) ][128X[104X
    [4X[28X    , [ CharacterTable( "2^2.Sz(8)" ) ], [128X[104X
    [4X[28X  [ CharacterTable( "2^2.Sz(8)" ) ], [128X[104X
    [4X[28X  [ CharacterTable( "2^2.Sz(8)" ) ] ][128X[104X
    [4X[25Xgap>[125X [27Xreps:= RepresentativesCharacterTables( Concatenation( poss ) );[127X[104X
    [4X[28X[ CharacterTable( "2^2.Sz(8)" ) ][128X[104X
  [4X[32X[104X
  
  [33X[0;0YThe tables coincide with the one that is stored in the [5XGAP[105X library.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XIsRecord( TransformingPermutationsCharacterTables( reps[1],[127X[104X
    [4X[25X>[125X [27X       CharacterTable( "2^2.Sz(8)" ) ) );[127X[104X
    [4X[28Xtrue[128X[104X
  [4X[32X[104X
  
  [33X[0;0YThe computation of the [22Xp[122X-modular character table of [22X2^2.G[122X from the [22Xp[122X-modular
  character  table  of  [22X2.G[122X  and the three factor fusions from [22X2^2.G[122X to [22X2.G[122X is
  straightforward, as is stated in Section [14X2.3-4[114X. The three fusions are stored
  on   the   tables  returned  by  [2XPossibleCharacterTablesOfTypeV4G[102X  ([14XCTblLib:
  PossibleCharacterTablesOfTypeV4G[114X).[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XGetFusionMap( poss[1][1], 2t, "1" );[127X[104X
    [4X[28X[ 1, 1, 2, 2, 3, 4, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10, 10, 11, 11, 12, [128X[104X
    [4X[28X  12, 13, 13, 14, 14, 15, 15, 16, 16, 17, 17, 18, 18, 19, 19 ][128X[104X
    [4X[25Xgap>[125X [27XGetFusionMap( poss[1][1], 2t, "2" );[127X[104X
    [4X[28X[ 1, 2, 1, 2, 3, 4, 5, 6, 7, 6, 7, 8, 9, 8, 9, 10, 11, 10, 11, 12, [128X[104X
    [4X[28X  13, 12, 13, 14, 15, 14, 15, 16, 17, 16, 17, 18, 19, 18, 19 ][128X[104X
    [4X[25Xgap>[125X [27XGetFusionMap( poss[1][1], 2t, "3" );[127X[104X
    [4X[28X[ 1, 2, 2, 1, 3, 4, 5, 6, 7, 7, 6, 8, 9, 9, 8, 10, 11, 11, 10, 12, [128X[104X
    [4X[28X  13, 13, 12, 14, 15, 15, 14, 16, 17, 17, 16, 18, 19, 19, 18 ][128X[104X
  [4X[32X[104X
  
  [33X[0;0YThe      [5XGAP[105X     library     function     [2XBrauerTableOfTypeV4G[102X     ([14XCTblLib:
  BrauerTableOfTypeV4G[114X)  can be used to derive Brauer tables of [22X2^2.G[122X. We have
  to  compute the [22Xp[122X-modular tables for prime divisors [22Xp[122X of [22X|G|[122X, that is, for [22Xp
  ∈ { 2, 5, 7, 13 }[122X.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XPrimeDivisors( Size( t ) );[127X[104X
    [4X[28X[ 2, 5, 7, 13 ][128X[104X
  [4X[32X[104X
  
  [33X[0;0YClearly [22Xp = 2[122X is uninteresting from this point of view because the [22X2[122X-modular
  table of [22X2^2.G[122X can be identified with the [22X2[122X-modular table of [22XG[122X.[133X
  
  [33X[0;0YFor  each  of  the  five ordinary tables (corresponding to the five possible
  table  automorphisms  of  [22XG[122X)  constructed  above,  we get one candidate of a
  [22X5[122X-modular table. However, these tables are [13Xnot[113X all equivalent. There are two
  equivalence classes, and one of the two possibilities is inconsistent in the
  sense   that   not  all  tensor  products  of  irreducibles  decompose  into
  irreducibles.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27Xcand:= List( poss, l -> BrauerTableOfTypeV4G( l[1], 2t mod 5,[127X[104X
    [4X[25X>[125X [27X     ConstructionInfoCharacterTable( l[1] )[3] ) );[127X[104X
    [4X[28X[ BrauerTable( "2^2.Sz(8)", 5 ), BrauerTable( "2^2.Sz(8)", 5 ), [128X[104X
    [4X[28X  BrauerTable( "2^2.Sz(8)", 5 ), BrauerTable( "2^2.Sz(8)", 5 ), [128X[104X
    [4X[28X  BrauerTable( "2^2.Sz(8)", 5 ) ][128X[104X
    [4X[25Xgap>[125X [27XLength( RepresentativesCharacterTables( cand ) );[127X[104X
    [4X[28X2[128X[104X
    [4X[25Xgap>[125X [27XList( cand, CTblLib.Test.TensorDecomposition );[127X[104X
    [4X[28X[ false, true, false, true, true ][128X[104X
    [4X[25Xgap>[125X [27XLength( RepresentativesCharacterTables( cand{ [ 2, 4, 5 ] } ) );[127X[104X
    [4X[28X1[128X[104X
    [4X[25Xgap>[125X [27XIsRecord( TransformingPermutationsCharacterTables( cand[2],[127X[104X
    [4X[25X>[125X [27X       CharacterTable( "2^2.Sz(8)" ) mod 5 ) );[127X[104X
    [4X[28Xtrue[128X[104X
  [4X[32X[104X
  
  [33X[0;0YThis  implies  that only those table automorphisms of [22XG[122X can be induced by an
  outer group automorphism that move the classes of element order [22X13[122X.[133X
  
  [33X[0;0YThe  [22X7[122X-modular  table  of  [22X2^2.G[122X  is uniquely determined, independent of the
  choice of the table automorphism of [22XG[122X.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27Xcand:= List( poss, l -> BrauerTableOfTypeV4G( l[1], 2t mod 7,[127X[104X
    [4X[25X>[125X [27X     ConstructionInfoCharacterTable( l[1] )[3] ) );[127X[104X
    [4X[28X[ BrauerTable( "2^2.Sz(8)", 7 ), BrauerTable( "2^2.Sz(8)", 7 ), [128X[104X
    [4X[28X  BrauerTable( "2^2.Sz(8)", 7 ), BrauerTable( "2^2.Sz(8)", 7 ), [128X[104X
    [4X[28X  BrauerTable( "2^2.Sz(8)", 7 ) ][128X[104X
    [4X[25Xgap>[125X [27XLength( RepresentativesCharacterTables( cand ) );[127X[104X
    [4X[28X1[128X[104X
    [4X[25Xgap>[125X [27XIsRecord( TransformingPermutationsCharacterTables( cand[1],      [127X[104X
    [4X[25X>[125X [27X       CharacterTable( "2^2.Sz(8)" ) mod 7 ) );[127X[104X
    [4X[28Xtrue[128X[104X
  [4X[32X[104X
  
  [33X[0;0YWe get two candidates for the [22X13[122X-modular table of [22X2^2.G[122X, also if we consider
  only the three admissible table automorphisms.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27Xelms:= elms{ [ 2, 4, 5 ] };[127X[104X
    [4X[28X[ (9,10,11), (6,7,8)(9,10,11), (6,7,8)(9,11,10) ][128X[104X
    [4X[25Xgap>[125X [27Xposs:= poss{ [ 2, 4, 5 ] };;                                     [127X[104X
    [4X[25Xgap>[125X [27Xcand:= List( poss, l -> BrauerTableOfTypeV4G( l[1], 2t mod 13,[127X[104X
    [4X[25X>[125X [27X     ConstructionInfoCharacterTable( l[1] )[3] ) );[127X[104X
    [4X[28X[ BrauerTable( "2^2.Sz(8)", 13 ), BrauerTable( "2^2.Sz(8)", 13 ), [128X[104X
    [4X[28X  BrauerTable( "2^2.Sz(8)", 13 ) ][128X[104X
    [4X[25Xgap>[125X [27XLength( RepresentativesCharacterTables( cand ) );[127X[104X
    [4X[28X2[128X[104X
    [4X[25Xgap>[125X [27XList( cand, CTblLib.Test.TensorDecomposition );                      [127X[104X
    [4X[28X[ true, true, true ][128X[104X
  [4X[32X[104X
  
  [33X[0;0YThe  action  of  the  outer automorphism of order three of [22XG[122X can be read off
  from  the  [22X2[122X-modular  table  of  [22XG[122X. Note that the ordinary and the [22X5[122X-modular
  character  table  of  [22XG[122X possess two independent table automorphisms of order
  three,  whereas  the group of table automorphisms of the [22X2[122X-modular table has
  order three. (The reason is that the irrational values on the classes of the
  element  orders  [22X7[122X  and  [22X13[122X  appear in the same irreducible [22X2[122X-modular Brauer
  characters.)[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27Xmod2:= CharacterTable( "Sz(8)" ) mod 2;[127X[104X
    [4X[28XBrauerTable( "Sz(8)", 2 )[128X[104X
    [4X[25Xgap>[125X [27XAutomorphismsOfTable( mod2 );[127X[104X
    [4X[28XGroup([ (3,4,5)(6,7,8) ])[128X[104X
    [4X[25Xgap>[125X [27XOrdersClassRepresentatives( mod2 );[127X[104X
    [4X[28X[ 1, 5, 7, 7, 7, 13, 13, 13 ][128X[104X
  [4X[32X[104X
  
  [33X[0;0YThis  means  that  the  first  candidate  is  ruled out; this determines the
  [22X13[122X-modular character table of [22X2^2.G[122X.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XLength( RepresentativesCharacterTables( cand{ [ 2, 3 ] } ) );[127X[104X
    [4X[28X1[128X[104X
    [4X[25Xgap>[125X [27XIsRecord( TransformingPermutationsCharacterTables( cand[2],[127X[104X
    [4X[25X>[125X [27X       CharacterTable( "2^2.Sz(8)" ) mod 13 ) );[127X[104X
    [4X[28Xtrue[128X[104X
  [4X[32X[104X
  
  
  [1X2.7-2 [33X[0;0Y[5XAtlas[105X[101X[1X Tables of the Type [22X2^2.G[122X[101X[1X (September 2005)[133X[101X
  
  [33X[0;0YBesides [22X2^2.Sz(8)[122X (cf. Section [14X2.7-1[114X), [22X2^2.O_8^+(3)[122X (cf. Section [14X2.7-3[114X), and
  certain  central  extensions  of  [22XL_3(4)[122X  (cf. Section [14X2.7-4[114X), the following
  examples  of  central  extensions of nearly simple [5XAtlas[105X groups [22XG[122X by a Klein
  four group occur.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XlistV4G:= [[127X[104X
    [4X[25X>[125X [27X     [ "2^2.L3(4)",         "2.L3(4)",     "L3(4)"       ],[127X[104X
    [4X[25X>[125X [27X     [ "2^2.L3(4).2_1",     "2.L3(4).2_1", "L3(4).2_1"   ],[127X[104X
    [4X[25X>[125X [27X     [ "(2^2x3).L3(4)",     "6.L3(4)",     "3.L3(4)"     ],[127X[104X
    [4X[25X>[125X [27X     [ "(2^2x3).L3(4).2_1", "6.L3(4).2_1", "3.L3(4).2_1" ],[127X[104X
    [4X[25X>[125X [27X     [ "2^2.O8+(2)",        "2.O8+(2)",    "O8+(2)"      ],[127X[104X
    [4X[25X>[125X [27X     [ "2^2.U6(2)",         "2.U6(2)",     "U6(2)"       ],[127X[104X
    [4X[25X>[125X [27X     [ "(2^2x3).U6(2)",     "6.U6(2)",     "3.U6(2)"     ],[127X[104X
    [4X[25X>[125X [27X     [ "2^2.2E6(2)",        "2.2E6(2)",    "2E6(2)"      ],[127X[104X
    [4X[25X>[125X [27X     [ "(2^2x3).2E6(2)",    "6.2E6(2)",    "3.2E6(2)"    ],[127X[104X
    [4X[25X>[125X [27X];;[127X[104X
  [4X[32X[104X
  
  [33X[0;0Y(For  the  tables of [22X(2^2 × 3).G[122X, with [22XG[122X one of [22XL_3(4)[122X, [22XU_6(2)[122X, or [22X^2E_6(2)[122X,
  we could alternatively use the tables of [22X2^2.G[122X and [22X3.G[122X, and the construction
  described in Chapter [14X3[114X.)[133X
  
  [33X[0;0YThe  function for computing the candidates for the ordinary character tables
  is similar to the one from Section [14X2.6-2[114X.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XConstructOrdinaryV4GTable:= function( tblG, tbl2G, name, lib )[127X[104X
    [4X[25X>[125X [27X     local ord3, nam, poss, reps, trans;[127X[104X
    [4X[25X>[125X [27X[127X[104X
    [4X[25X>[125X [27X     # Compute the possible actions for the ordinary tables.[127X[104X
    [4X[25X>[125X [27X     ord3:= Set( Filtered( AutomorphismsOfTable( tblG ),[127X[104X
    [4X[25X>[125X [27X                           x -> Order( x ) = 3 ),[127X[104X
    [4X[25X>[125X [27X                 SmallestGeneratorPerm );[127X[104X
    [4X[25X>[125X [27X     if 1 < Length( ord3 ) then[127X[104X
    [4X[25X>[125X [27X       Print( "#I  ", name,[127X[104X
    [4X[25X>[125X [27X              ": the action of the automorphism is not unique" );[127X[104X
    [4X[25X>[125X [27X     fi;[127X[104X
    [4X[25X>[125X [27X     # Compute the possible ordinary tables for the given actions.[127X[104X
    [4X[25X>[125X [27X     nam:= Concatenation( "new", name );[127X[104X
    [4X[25X>[125X [27X     poss:= Concatenation( List( ord3, pi ->[127X[104X
    [4X[25X>[125X [27X            PossibleCharacterTablesOfTypeV4G( tblG, tbl2G, pi, nam ) ) );[127X[104X
    [4X[25X>[125X [27X     # Test the possibilities for permutation equivalence.[127X[104X
    [4X[25X>[125X [27X     reps:= RepresentativesCharacterTables( poss );[127X[104X
    [4X[25X>[125X [27X     if 1 < Length( reps ) then[127X[104X
    [4X[25X>[125X [27X       Print( "#I  ", name, ": ", Length( reps ),[127X[104X
    [4X[25X>[125X [27X              " equivalence classes\n" );[127X[104X
    [4X[25X>[125X [27X     elif Length( reps ) = 0 then[127X[104X
    [4X[25X>[125X [27X       Print( "#E  ", name, ": no solution\n" );[127X[104X
    [4X[25X>[125X [27X     else[127X[104X
    [4X[25X>[125X [27X       # Compare the computed table with the library table.[127X[104X
    [4X[25X>[125X [27X       if not IsCharacterTable( lib ) then[127X[104X
    [4X[25X>[125X [27X         Print( "#I  no library table for ", name, "\n" );[127X[104X
    [4X[25X>[125X [27X         PrintToLib( name, poss[1].table );[127X[104X
    [4X[25X>[125X [27X       else[127X[104X
    [4X[25X>[125X [27X         trans:= TransformingPermutationsCharacterTables( reps[1], lib );[127X[104X
    [4X[25X>[125X [27X         if not IsRecord( trans ) then[127X[104X
    [4X[25X>[125X [27X           Print( "#E  computed table and library table for ", name,[127X[104X
    [4X[25X>[125X [27X                  " differ\n" );[127X[104X
    [4X[25X>[125X [27X         fi;[127X[104X
    [4X[25X>[125X [27X       fi;[127X[104X
    [4X[25X>[125X [27X     fi;[127X[104X
    [4X[25X>[125X [27X     return poss;[127X[104X
    [4X[25X>[125X [27X   end;;[127X[104X
  [4X[32X[104X
  
  [33X[0;0YConcerning  the  Brauer  tables,  the same ambiguity problem may occur as in
  Section [14X2.6-2[114X: Some candidates for the ordinary table may be excluded due to
  information  provided by some [22Xp[122X-modular table, see Section [14X2.7-1[114X for an easy
  example. Our strategy is analogous to the one used in Section [14X2.6-2[114X.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XConstructModularV4GTables:= function( tblG, tbl2G, ordposs,[127X[104X
    [4X[25X>[125X [27X                                         ordlibtblV4G )[127X[104X
    [4X[25X>[125X [27X     local name, modposs, primes, checkordinary, i, p, tmodp, 2tmodp, aut,[127X[104X
    [4X[25X>[125X [27X           poss, modlib, trans, reps;[127X[104X
    [4X[25X>[125X [27X[127X[104X
    [4X[25X>[125X [27X     if not IsCharacterTable( ordlibtblV4G ) then[127X[104X
    [4X[25X>[125X [27X       Print( "#I  no ordinary library table ...\n" );[127X[104X
    [4X[25X>[125X [27X       return [];[127X[104X
    [4X[25X>[125X [27X     fi;[127X[104X
    [4X[25X>[125X [27X     name:= Identifier( ordlibtblV4G );[127X[104X
    [4X[25X>[125X [27X     modposs:= [];[127X[104X
    [4X[25X>[125X [27X     primes:= ShallowCopy( PrimeDivisors( Size( tblG ) ) );[127X[104X
    [4X[25X>[125X [27X     ordposs:= ShallowCopy( ordposs );[127X[104X
    [4X[25X>[125X [27X     checkordinary:= false;[127X[104X
    [4X[25X>[125X [27X     for i in [ 1 .. Length( ordposs ) ] do[127X[104X
    [4X[25X>[125X [27X       modposs[i]:= [];[127X[104X
    [4X[25X>[125X [27X       for p in primes do[127X[104X
    [4X[25X>[125X [27X         tmodp := tblG  mod p;[127X[104X
    [4X[25X>[125X [27X         2tmodp:= tbl2G mod p;[127X[104X
    [4X[25X>[125X [27X         if IsCharacterTable( tmodp ) and IsCharacterTable( 2tmodp ) then[127X[104X
    [4X[25X>[125X [27X           aut:= ConstructionInfoCharacterTable( ordposs[i] )[3];[127X[104X
    [4X[25X>[125X [27X           poss:= BrauerTableOfTypeV4G( ordposs[i], 2tmodp, aut );[127X[104X
    [4X[25X>[125X [27X           if CTblLib.Test.TensorDecomposition( poss, false ) = false then[127X[104X
    [4X[25X>[125X [27X             Print( "#I  excluded cand. ", i, " (out of ",[127X[104X
    [4X[25X>[125X [27X                    Length( ordposs ), ") for ", name, " by ", p,[127X[104X
    [4X[25X>[125X [27X                    "-mod. table\n" );[127X[104X
    [4X[25X>[125X [27X             Unbind( ordposs[i] );[127X[104X
    [4X[25X>[125X [27X             Unbind( modposs[i] );[127X[104X
    [4X[25X>[125X [27X             checkordinary:= true;[127X[104X
    [4X[25X>[125X [27X             break;[127X[104X
    [4X[25X>[125X [27X           fi;[127X[104X
    [4X[25X>[125X [27X           Add( modposs[i], poss );[127X[104X
    [4X[25X>[125X [27X         else[127X[104X
    [4X[25X>[125X [27X           Print( "#I  not all input tables for ", name, " mod ", p,[127X[104X
    [4X[25X>[125X [27X                  " available\n" );[127X[104X
    [4X[25X>[125X [27X           primes:= Difference( primes, [ p ] );[127X[104X
    [4X[25X>[125X [27X         fi;[127X[104X
    [4X[25X>[125X [27X       od;[127X[104X
    [4X[25X>[125X [27X       if IsBound( modposs[i] ) then[127X[104X
    [4X[25X>[125X [27X         # Compare the computed Brauer tables with the library tables.[127X[104X
    [4X[25X>[125X [27X         for poss in modposs[i] do[127X[104X
    [4X[25X>[125X [27X           p:= UnderlyingCharacteristic( poss );[127X[104X
    [4X[25X>[125X [27X           modlib:= ordlibtblV4G mod p;[127X[104X
    [4X[25X>[125X [27X           if IsCharacterTable( modlib ) then[127X[104X
    [4X[25X>[125X [27X             trans:= TransformingPermutationsCharacterTables([127X[104X
    [4X[25X>[125X [27X                         poss, modlib );[127X[104X
    [4X[25X>[125X [27X             if not IsRecord( trans ) then[127X[104X
    [4X[25X>[125X [27X               Print( "#E  computed table and library table for ",[127X[104X
    [4X[25X>[125X [27X                      name, " mod ", p, " differ\n" );[127X[104X
    [4X[25X>[125X [27X             fi;[127X[104X
    [4X[25X>[125X [27X           else[127X[104X
    [4X[25X>[125X [27X             Print( "#I  no library table for ",[127X[104X
    [4X[25X>[125X [27X                    name, " mod ", p, "\n" );[127X[104X
    [4X[25X>[125X [27X             PrintToLib( name, poss );[127X[104X
    [4X[25X>[125X [27X           fi;[127X[104X
    [4X[25X>[125X [27X         od;[127X[104X
    [4X[25X>[125X [27X       fi;[127X[104X
    [4X[25X>[125X [27X     od;[127X[104X
    [4X[25X>[125X [27X     if checkordinary then[127X[104X
    [4X[25X>[125X [27X       # Test whether the ordinary table is admissible.[127X[104X
    [4X[25X>[125X [27X       ordposs:= Compacted( ordposs );[127X[104X
    [4X[25X>[125X [27X       modposs:= Compacted( modposs );[127X[104X
    [4X[25X>[125X [27X       reps:= RepresentativesCharacterTables( ordposs );[127X[104X
    [4X[25X>[125X [27X       if 1 < Length( reps ) then[127X[104X
    [4X[25X>[125X [27X         Print( "#I  ", name, ": ", Length( reps ),[127X[104X
    [4X[25X>[125X [27X                " equivalence classes (ord. table)\n" );[127X[104X
    [4X[25X>[125X [27X       elif Length( reps ) = 0 then[127X[104X
    [4X[25X>[125X [27X         Print( "#E  ", name, ": no solution (ord. table)\n" );[127X[104X
    [4X[25X>[125X [27X       else[127X[104X
    [4X[25X>[125X [27X         # Compare the computed table with the library table.[127X[104X
    [4X[25X>[125X [27X         trans:= TransformingPermutationsCharacterTables( reps[1],[127X[104X
    [4X[25X>[125X [27X                     ordlibtblV4G );[127X[104X
    [4X[25X>[125X [27X         if not IsRecord( trans ) then[127X[104X
    [4X[25X>[125X [27X           Print( "#E  computed table and library table for ", name,[127X[104X
    [4X[25X>[125X [27X                  " differ\n" );[127X[104X
    [4X[25X>[125X [27X         fi;[127X[104X
    [4X[25X>[125X [27X       fi;[127X[104X
    [4X[25X>[125X [27X     fi;[127X[104X
    [4X[25X>[125X [27X     # Test the uniqueness of the Brauer tables.[127X[104X
    [4X[25X>[125X [27X     for poss in TransposedMat( modposs ) do[127X[104X
    [4X[25X>[125X [27X       reps:= RepresentativesCharacterTables( poss );[127X[104X
    [4X[25X>[125X [27X       if Length( reps ) <> 1 then[127X[104X
    [4X[25X>[125X [27X         Print( "#I  ", name, ": ", Length( reps ), " candidates for the ",[127X[104X
    [4X[25X>[125X [27X                UnderlyingCharacteristic( reps[1] ), "-modular table\n" );[127X[104X
    [4X[25X>[125X [27X       fi;[127X[104X
    [4X[25X>[125X [27X     od;[127X[104X
    [4X[25X>[125X [27X     return rec( ordinary:= ordposs, modular:= modposs );[127X[104X
    [4X[25X>[125X [27X   end;;[127X[104X
  [4X[32X[104X
  
  [33X[0;0YIn  our examples, the action of the outer automorphism of order three on the
  classes  of [22XG[122X turns out to be uniquely determined by the table automorphisms
  of the character table of [22XG[122X.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27Xfor input in listV4G do[127X[104X
    [4X[25X>[125X [27X     tblG  := CharacterTable( input[3] );[127X[104X
    [4X[25X>[125X [27X     tbl2G := CharacterTable( input[2] );[127X[104X
    [4X[25X>[125X [27X     lib   := CharacterTable( input[1] );[127X[104X
    [4X[25X>[125X [27X     poss  := ConstructOrdinaryV4GTable( tblG, tbl2G, input[1], lib );[127X[104X
    [4X[25X>[125X [27X     ConstructModularV4GTables( tblG, tbl2G, poss, lib );[127X[104X
    [4X[25X>[125X [27X   od;[127X[104X
    [4X[28X#I  excluded cand. 1 (out of 16) for 2^2.L3(4).2_1 by 7-mod. table[128X[104X
    [4X[28X#I  excluded cand. 2 (out of 16) for 2^2.L3(4).2_1 by 7-mod. table[128X[104X
    [4X[28X#I  excluded cand. 7 (out of 16) for 2^2.L3(4).2_1 by 7-mod. table[128X[104X
    [4X[28X#I  excluded cand. 10 (out of 16) for 2^2.L3(4).2_1 by 7-mod. table[128X[104X
    [4X[28X#I  excluded cand. 15 (out of 16) for 2^2.L3(4).2_1 by 7-mod. table[128X[104X
    [4X[28X#I  excluded cand. 16 (out of 16) for 2^2.L3(4).2_1 by 7-mod. table[128X[104X
    [4X[28X#I  excluded cand. 1 (out of 16) for (2^2x3).L3(4).2_1 by 7-mod. table[128X[104X
    [4X[28X#I  excluded cand. 2 (out of 16) for (2^2x3).L3(4).2_1 by 7-mod. table[128X[104X
    [4X[28X#I  excluded cand. 7 (out of 16) for (2^2x3).L3(4).2_1 by 7-mod. table[128X[104X
    [4X[28X#I  excluded cand. 10 (out of 16) for (2^2x3).L3(4).2_1 by [128X[104X
    [4X[28X7-mod. table[128X[104X
    [4X[28X#I  excluded cand. 15 (out of 16) for (2^2x3).L3(4).2_1 by [128X[104X
    [4X[28X7-mod. table[128X[104X
    [4X[28X#I  excluded cand. 16 (out of 16) for (2^2x3).L3(4).2_1 by [128X[104X
    [4X[28X7-mod. table[128X[104X
    [4X[28X#I  not all input tables for 2^2.2E6(2) mod 2 available[128X[104X
    [4X[28X#I  not all input tables for 2^2.2E6(2) mod 3 available[128X[104X
    [4X[28X#I  not all input tables for 2^2.2E6(2) mod 5 available[128X[104X
    [4X[28X#I  not all input tables for 2^2.2E6(2) mod 7 available[128X[104X
    [4X[28X#I  not all input tables for (2^2x3).2E6(2) mod 2 available[128X[104X
    [4X[28X#I  not all input tables for (2^2x3).2E6(2) mod 3 available[128X[104X
    [4X[28X#I  not all input tables for (2^2x3).2E6(2) mod 5 available[128X[104X
    [4X[28X#I  not all input tables for (2^2x3).2E6(2) mod 7 available[128X[104X
    [4X[28X#I  not all input tables for (2^2x3).2E6(2) mod 11 available[128X[104X
    [4X[28X#I  not all input tables for (2^2x3).2E6(2) mod 13 available[128X[104X
    [4X[28X#I  not all input tables for (2^2x3).2E6(2) mod 17 available[128X[104X
    [4X[28X#I  not all input tables for (2^2x3).2E6(2) mod 19 available[128X[104X
  [4X[32X[104X
  
  
  [1X2.7-3 [33X[0;0YThe Character Table of [22X2^2.O_8^+(3)[122X[101X[1X (March 2009)[133X[101X
  
  [33X[0;0YWhen one tries to construct the character table of the central extensions of
  [22XG = O_8^+(3)[122X by a Klein four group, in the same way as in Section [14X2.7-2[114X, one
  notices  that  the  order  three automorphism that relates the three central
  extensions of [22XG[122X by an involution is [13Xnot[113X uniquely determined.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27Xentry:= [ "2^2.O8+(3)", "2.O8+(3)", "O8+(3)" ];;[127X[104X
    [4X[25Xgap>[125X [27XtblG:= CharacterTable( entry[3] );;[127X[104X
    [4X[25Xgap>[125X [27Xaut:= AutomorphismsOfTable( tblG );;[127X[104X
    [4X[25Xgap>[125X [27Xord3:= Set( Filtered( aut, x -> Order( x ) = 3 ),[127X[104X
    [4X[25X>[125X [27X               SmallestGeneratorPerm );;[127X[104X
    [4X[25Xgap>[125X [27XLength( ord3 );[127X[104X
    [4X[28X4[128X[104X
  [4X[32X[104X
  
  [33X[0;0YHowever,  the table candidates one gets from the four possible automorphisms
  turn out to be all equivalent, hence the character table of [22X2^2.O_8^+(3)[122X can
  be constructed as follows.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27Xposs:= [];;[127X[104X
    [4X[25Xgap>[125X [27Xtbl2G:= CharacterTable( entry[2] );[127X[104X
    [4X[28XCharacterTable( "2.O8+(3)" )[128X[104X
    [4X[25Xgap>[125X [27Xfor pi in ord3 do[127X[104X
    [4X[25X>[125X [27X  Append( poss,[127X[104X
    [4X[25X>[125X [27X          PossibleCharacterTablesOfTypeV4G( tblG, tbl2G, pi, entry[1] ) );[127X[104X
    [4X[25X>[125X [27Xod;[127X[104X
    [4X[25Xgap>[125X [27XLength( poss );[127X[104X
    [4X[28X32[128X[104X
    [4X[25Xgap>[125X [27Xposs:= RepresentativesCharacterTables( poss );;[127X[104X
    [4X[25Xgap>[125X [27XLength( poss );[127X[104X
    [4X[28X1[128X[104X
  [4X[32X[104X
  
  [33X[0;0YThe computed table coincides with the library table.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27Xlib:= CharacterTable( entry[1] );;[127X[104X
    [4X[25Xgap>[125X [27Xif TransformingPermutationsCharacterTables( poss[1], lib ) = fail then[127X[104X
    [4X[25X>[125X [27X     Print( "#E  differences for ", entry[1], "\n" );[127X[104X
    [4X[25X>[125X [27X   fi;[127X[104X
  [4X[32X[104X
  
  
  [1X2.7-4 [33X[0;0YThe Character Table of the Schur Cover of [22XL_3(4)[122X[101X[1X (September 2005)[133X[101X
  
  [33X[0;0YThe  Schur  cover  of  [22XG  =  L_3(4)[122X  has  the  structure  [22X(4^2  × 3).L_3(4)[122X.
  Following [CCN+85, p. 23], we regard the multiplier of [22XG[122X as[133X
  
  
  [24X[33X[0;6YM = ⟨ a, b, c, d ∣ [a,b] = [a,c] = [a,d] = [b,c] = [b,d] = [c,d] = a^4 = b^4 = c^4 = d^3 = abc ⟩ ,[133X[124X
  
  [33X[0;0Yand we will consider the automorphism [22Xα[122X of [22XM.G[122X that acts as [22X(a,b,c)(d)[122X on [22XM[122X.[133X
  
  [33X[0;0YThe subgroup lattice of the subgroup [22X⟨ a, b, c ⟩ = ⟨ a, b ⟩ ≅ 4^2[122X of [22XM[122X looks
  as  follows.  (The  subgroup  in the centre of the picture is the Klein four
  group [22X⟨ a^2, b^2, c^2 ⟩ = ⟨ a^2, b^2 ⟩[122X.)[133X
  
                    K
                   ╱│╲
                  ╱ │ ╲
           ┌──── .  .  .─────┐
           │    ╱ ╲╱│╲╱ ╲    │
           │   ╱  ╱╲│╱╲  ╲   │
           .  .  .  .  .  .  .
           │   ╲  ╲╱│╲╱  ╱   │
           │    ╲ ╱╲│╱╲ ╱    │
           └──── .  .  .─────┘
                  ╲ │ ╱
                   ╲│╱
                    1
  
  [33X[0;0Y(The  symmetry  w.r.t. [22Xα[122X  would  be  reflected better in a three dimensional
  model,  with  [22X⟨ a, b ⟩[122X, [22X⟨ a^2, b^2 ⟩[122X, and the trivial subgroup on a vertical
  symmetry axis, and with the remaining subgroups on three circles such that [22Xα[122X
  induces a rotation.)[133X
  
  [33X[0;0YWe  have [22X(M / ⟨ a ⟩).G ≅ (M / ⟨ b ⟩).G ≅ (M / ⟨ c ⟩).G ≅ 12_2.G[122X and [22X(M / ⟨ a
  b^2  ⟩).G  ≅ (M / ⟨ b c^2 ⟩).G ≅ (M / ⟨ c a^2 ⟩).G ≅ 12_1.G[122X. This is because
  the  action of [22XG.2_2[122X fixes [22Xa[122X, and swaps [22Xb[122X and [22Xc[122X; so [22Xb[122X is inverted modulo [22X⟨ a
  ⟩[122X  but  fixed  modulo  [22X⟨  a  b^2 ⟩[122X, and the normal subgroup of order four in
  [22X4_2.G.2_2[122X is central but that in [22X4_1.G.2_2[122X is not central.[133X
  
  [33X[0;0YThe  constructions  of  the  character  tables  of [22X4^2.G[122X and [22X(4^2 × 3).G[122X are
  essentially  the  same. We start with the table of [22X4^2.G[122X. It can be regarded
  as  a  central  extension  [22XH = V.2^2.G[122X of [22X2^2.G[122X by a Klein four group [22XV[122X. The
  three  subgroups of order two in [22XV[122X are cyclicly permuted by the automorphism
  of  [22XM  /  ⟨  d  ⟩[122X  induced by [22Xα[122X, so the three factors by these subgroups are
  isomorphic groups [22XF[122X, say, with the structure [22X(2 × 4).G[122X.[133X
  
  [33X[0;0YThe  group [22XF[122X itself is a central extension of [22X2.G[122X by a Klein four group, but
  in this case the three factor groups by the order two subgroups of the Klein
  four  group  are nonisomorphic groups, of the types [22X4_1.G[122X, [22X4_2.G[122X, and [22X2^2.G[122X,
  respectively.  The  [5XGAP[105X  function [2XPossibleCharacterTablesOfTypeV4G[102X ([14XCTblLib:
  PossibleCharacterTablesOfTypeV4G[114X)  can  be  used  to construct the character
  table  of  [22XF[122X  from the three factors. Note that in this case, no information
  about table automorphisms is required.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XtblG:= CharacterTable( "2.L3(4)" );;[127X[104X
    [4X[25Xgap>[125X [27Xtbls2G:= List( [ "4_1.L3(4)", "4_2.L3(4)", "2^2.L3(4)"],[127X[104X
    [4X[25X>[125X [27X                  CharacterTable );;[127X[104X
    [4X[25Xgap>[125X [27Xposs:= PossibleCharacterTablesOfTypeV4G( tblG, tbls2G, "(2x4).L3(4)" );;[127X[104X
    [4X[25Xgap>[125X [27XLength( poss );[127X[104X
    [4X[28X2[128X[104X
    [4X[25Xgap>[125X [27Xreps:= RepresentativesCharacterTables( poss );[127X[104X
    [4X[28X[ CharacterTable( "(2x4).L3(4)" ) ][128X[104X
    [4X[25Xgap>[125X [27Xlib:= CharacterTable( "(2x4).L3(4)" );;[127X[104X
    [4X[25Xgap>[125X [27XIsRecord( TransformingPermutationsCharacterTables( reps[1], lib ) );[127X[104X
    [4X[28Xtrue[128X[104X
  [4X[32X[104X
  
  [33X[0;0YIn  the  second step, we construct the table of [22X4^2.G[122X from that of [22X(2 × 4).G[122X
  and  the table automorphism of [22X2^2.G[122X that is induced by [22Xα[122X; it turns out that
  the  group  of  table  automorphisms  of [22X2^2.G[122X contains a unique subgroup of
  order three.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XtblG:= tbls2G[3];[127X[104X
    [4X[28XCharacterTable( "2^2.L3(4)" )[128X[104X
    [4X[25Xgap>[125X [27Xtbl2G:= lib;       [127X[104X
    [4X[28XCharacterTable( "(2x4).L3(4)" )[128X[104X
    [4X[25Xgap>[125X [27Xaut:= AutomorphismsOfTable( tblG );;[127X[104X
    [4X[25Xgap>[125X [27Xord3:= Set( Filtered( aut, x -> Order( x ) = 3 ),[127X[104X
    [4X[25X>[125X [27X               SmallestGeneratorPerm );[127X[104X
    [4X[28X[ (2,3,4)(6,7,8)(10,11,12)(13,15,17)(14,16,18)(20,21,22)(24,25,26)(28,[128X[104X
    [4X[28X    29,30)(32,33,34) ][128X[104X
    [4X[25Xgap>[125X [27Xpi:= ord3[1];;[127X[104X
    [4X[25Xgap>[125X [27Xposs:= PossibleCharacterTablesOfTypeV4G( tblG, tbl2G, pi, "4^2.L3(4)" );;[127X[104X
    [4X[25Xgap>[125X [27XLength( poss );[127X[104X
    [4X[28X4[128X[104X
    [4X[25Xgap>[125X [27Xreps:= RepresentativesCharacterTables( poss );        [127X[104X
    [4X[28X[ CharacterTable( "4^2.L3(4)" ) ][128X[104X
    [4X[25Xgap>[125X [27Xlib:= CharacterTable( "4^2.L3(4)" );;[127X[104X
    [4X[25Xgap>[125X [27XIsRecord( TransformingPermutationsCharacterTables( reps[1], lib ) );[127X[104X
    [4X[28Xtrue[128X[104X
  [4X[32X[104X
  
  [33X[0;0YWith  the  same  approach, we compute the table of [22X(2 × 12).G = 2^2.6.G[122X from
  the tables of the three nonisomorphic factor groups [22X12_1.G[122X, [22X12_2.G[122X, and [22X(2^2
  ×  3).G[122X,  and we compute the table of [22X(4^2 × 3).G = 2^2.(2^2 × 3).G[122X from the
  three tables of the factor groups [22X(2 × 12).G[122X and the action induced by [22Xα[122X.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XtblG:= CharacterTable( "6.L3(4)" );;[127X[104X
    [4X[25Xgap>[125X [27Xtbls2G:= List( [ "12_1.L3(4)", "12_2.L3(4)", "(2^2x3).L3(4)"],            [127X[104X
    [4X[25X>[125X [27X                  CharacterTable );;[127X[104X
    [4X[25Xgap>[125X [27Xposs:= PossibleCharacterTablesOfTypeV4G( tblG, tbls2G, "(2x12).L3(4)" );;[127X[104X
    [4X[25Xgap>[125X [27XLength( poss );[127X[104X
    [4X[28X2[128X[104X
    [4X[25Xgap>[125X [27Xreps:= RepresentativesCharacterTables( poss );[127X[104X
    [4X[28X[ CharacterTable( "(2x12).L3(4)" ) ][128X[104X
    [4X[25Xgap>[125X [27Xlib:= CharacterTable( "(2x12).L3(4)" );;[127X[104X
    [4X[25Xgap>[125X [27XIsRecord( TransformingPermutationsCharacterTables( reps[1], lib ) );[127X[104X
    [4X[28Xtrue[128X[104X
    [4X[25Xgap>[125X [27XtblG:= CharacterTable( "(2^2x3).L3(4)" ); [127X[104X
    [4X[28XCharacterTable( "(2^2x3).L3(4)" )[128X[104X
    [4X[25Xgap>[125X [27Xtbl2G:= CharacterTable( "(2x12).L3(4)" );[127X[104X
    [4X[28XCharacterTable( "(2x12).L3(4)" )[128X[104X
    [4X[25Xgap>[125X [27Xaut:= AutomorphismsOfTable( tblG );;[127X[104X
    [4X[25Xgap>[125X [27Xord3:= Set( Filtered( aut, x -> Order( x ) = 3 ),[127X[104X
    [4X[25X>[125X [27X               SmallestGeneratorPerm );[127X[104X
    [4X[28X[ (2,7,8)(3,4,10)(6,11,12)(14,19,20)(15,16,22)(18,23,24)(26,27,28)(29,[128X[104X
    [4X[28X    35,41)(30,37,43)(31,39,45)(32,36,42)(33,38,44)(34,40,46)(48,53,[128X[104X
    [4X[28X    54)(49,50,56)(52,57,58)(60,65,66)(61,62,68)(64,69,70)(72,77,[128X[104X
    [4X[28X    78)(73,74,80)(76,81,82)(84,89,90)(85,86,92)(88,93,94) ][128X[104X
    [4X[25Xgap>[125X [27Xpi:= ord3[1];;[127X[104X
    [4X[25Xgap>[125X [27Xposs:= PossibleCharacterTablesOfTypeV4G( tblG, tbl2G, pi,[127X[104X
    [4X[25X>[125X [27X                                            "(4^2x3).L3(4)" );;[127X[104X
    [4X[25Xgap>[125X [27XLength( poss );[127X[104X
    [4X[28X4[128X[104X
    [4X[25Xgap>[125X [27Xreps:= RepresentativesCharacterTables( poss );[127X[104X
    [4X[28X[ CharacterTable( "(4^2x3).L3(4)" ) ][128X[104X
    [4X[25Xgap>[125X [27Xlib:= CharacterTable( "(4^2x3).L3(4)" );;[127X[104X
    [4X[25Xgap>[125X [27XIsRecord( TransformingPermutationsCharacterTables( reps[1], lib ) );[127X[104X
    [4X[28Xtrue[128X[104X
  [4X[32X[104X
  
  
  [1X2.8 [33X[0;0YExamples of Extensions by [22Xp[122X[101X[1X-singular Automorphisms[133X[101X
  
  
  [1X2.8-1 [33X[0;0YSome [22Xp[122X[101X[1X-Modular Tables of Groups of the Type [22XM.G.A[122X[101X[1X[133X[101X
  
  [33X[0;0YWe  show  an  alternative construction of [22Xp[122X-modular tables of certain groups
  that  have  been  met  in  Section [14X2.4-3[114X. Each entry in the [5XGAP[105X list [10XlistMGA[110X
  contains  the  [2XIdentifier[102X ([14XReference: Identifier for tables of marks[114X) values
  of  character tables of groups of the types [22XM.G[122X, [22XG[122X, [22XG.A[122X, and [22XM.G.A[122X. For each
  entry  with  [22X|A| = p[122X, a prime integer, we fetch the [22Xp[122X-modular table of [22XG[122X and
  the  ordinary  table  of  [22XG.A[122X,  compute  the  action of [22XG.A[122X on the [22Xp[122X-regular
  classes  of  [22XG[122X, and then compute the [22Xp[122X-modular table of [22XG.A[122X. Analogously, we
  compute the [22Xp[122X-modular table of [22XM.G.A[122X from the [22Xp[122X-modular table of [22XM.G[122X and the
  ordinary table of [22XM.G.A[122X.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27Xfor input in listMGA do[127X[104X
    [4X[25X>[125X [27X     ordtblMG  := CharacterTable( input[1] );[127X[104X
    [4X[25X>[125X [27X     ordtblG   := CharacterTable( input[2] );[127X[104X
    [4X[25X>[125X [27X     ordtblGA  := CharacterTable( input[3] );[127X[104X
    [4X[25X>[125X [27X     ordtblMGA := CharacterTable( input[4] );[127X[104X
    [4X[25X>[125X [27X     p:= Size( ordtblGA ) / Size( ordtblG );[127X[104X
    [4X[25X>[125X [27X     if IsPrimeInt( p ) then[127X[104X
    [4X[25X>[125X [27X       modtblG:= ordtblG mod p;[127X[104X
    [4X[25X>[125X [27X       if modtblG <> fail then[127X[104X
    [4X[25X>[125X [27X         modtblGA := CharacterTableRegular( ordtblGA, p );[127X[104X
    [4X[25X>[125X [27X         SetIrr( modtblGA, IBrOfExtensionBySingularAutomorphism( modtblG,[127X[104X
    [4X[25X>[125X [27X                               ordtblGA ) );[127X[104X
    [4X[25X>[125X [27X         modlibtblGA:= ordtblGA mod p;[127X[104X
    [4X[25X>[125X [27X         if modlibtblGA = fail then[127X[104X
    [4X[25X>[125X [27X           Print( "#E  ", p, "-modular table of '", Identifier( ordtblGA ),[127X[104X
    [4X[25X>[125X [27X                  "' is missing\n" );[127X[104X
    [4X[25X>[125X [27X         elif TransformingPermutationsCharacterTables( modtblGA,[127X[104X
    [4X[25X>[125X [27X                  modlibtblGA ) = fail then[127X[104X
    [4X[25X>[125X [27X           Print( "#E  computed table and library table for ", input[3],[127X[104X
    [4X[25X>[125X [27X                  " mod ", p, " differ\n" );[127X[104X
    [4X[25X>[125X [27X         fi;[127X[104X
    [4X[25X>[125X [27X       fi;[127X[104X
    [4X[25X>[125X [27X       modtblMG:= ordtblMG mod p;[127X[104X
    [4X[25X>[125X [27X       if modtblMG <> fail then[127X[104X
    [4X[25X>[125X [27X         modtblMGA := CharacterTableRegular( ordtblMGA, p );[127X[104X
    [4X[25X>[125X [27X         SetIrr( modtblMGA, IBrOfExtensionBySingularAutomorphism( modtblMG,[127X[104X
    [4X[25X>[125X [27X                                ordtblMGA ) );[127X[104X
    [4X[25X>[125X [27X         modlibtblMGA:= ordtblMGA mod p;[127X[104X
    [4X[25X>[125X [27X         if modlibtblMGA = fail then[127X[104X
    [4X[25X>[125X [27X           Print( "#E  ", p, "-modular table of '", Identifier( ordtblMGA ),[127X[104X
    [4X[25X>[125X [27X                  "' is missing\n" );[127X[104X
    [4X[25X>[125X [27X         elif TransformingPermutationsCharacterTables( modtblMGA,[127X[104X
    [4X[25X>[125X [27X                  modlibtblMGA ) = fail then[127X[104X
    [4X[25X>[125X [27X           Print( "#E  computed table and library table for ", input[4],[127X[104X
    [4X[25X>[125X [27X                  " mod ", p, " differ\n" );[127X[104X
    [4X[25X>[125X [27X         fi;[127X[104X
    [4X[25X>[125X [27X       fi;[127X[104X
    [4X[25X>[125X [27X     fi;[127X[104X
    [4X[25X>[125X [27X   od;[127X[104X
  [4X[32X[104X
  
  
  [1X2.8-2 [33X[0;0YSome [22Xp[122X[101X[1X-Modular Tables of Groups of the Type [22XG.S_3[122X[101X[1X[133X[101X
  
  [33X[0;0YWe  show  an  alternative construction of [22X2[122X- and [22X3[122X-modular tables of certain
  groups  that  have  been  met  in  Section [14X2.5-2[114X. Each entry in the [5XGAP[105X list
  [10XlistGS3[110X  contains the [2XIdentifier[102X ([14XReference: Identifier for tables of marks[114X)
  values  of  character  tables of groups of the types [22XG[122X, [22XG.2[122X, [22XG.3[122X, and [22XG.S_3[122X.
  For  each entry, we fetch the [22X2[122X-modular table of [22XG[122X and the ordinary table of
  [22XG.2[122X,  compute  the  action  of  [22XG.2[122X  on the [22X2[122X-regular classes of [22XG[122X, and then
  compute  the  [22X2[122X-modular  table of [22XG.2[122X. Analogously, we compute the [22X3[122X-modular
  table  of  [22XG.3[122X  from the [22X3[122X-modular table of [22XG[122X and the ordinary table of [22XG.3[122X,
  and  we compute the [22X2[122X-modular table of [22XG.S_3[122X from the [22X2[122X-modular table of [22XG.3[122X
  and the ordinary table of [22XG.S_3[122X.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27Xfor input in listGS3 do[127X[104X
    [4X[25X>[125X [27X     modtblG:= CharacterTable( input[1] ) mod 2;[127X[104X
    [4X[25X>[125X [27X     if modtblG <> fail then[127X[104X
    [4X[25X>[125X [27X       ordtblG2 := CharacterTable( input[2] );[127X[104X
    [4X[25X>[125X [27X       modtblG2 := CharacterTableRegular( ordtblG2, 2 );[127X[104X
    [4X[25X>[125X [27X       SetIrr( modtblG2, IBrOfExtensionBySingularAutomorphism( modtblG,[127X[104X
    [4X[25X>[125X [27X                             ordtblG2 ) );[127X[104X
    [4X[25X>[125X [27X       modlibtblG2:= ordtblG2 mod 2;[127X[104X
    [4X[25X>[125X [27X       if modlibtblG2 = fail then[127X[104X
    [4X[25X>[125X [27X         Print( "#E  2-modular table of '", Identifier( ordtblG2 ),[127X[104X
    [4X[25X>[125X [27X                "' is missing\n" );[127X[104X
    [4X[25X>[125X [27X       elif TransformingPermutationsCharacterTables( modtblG2,[127X[104X
    [4X[25X>[125X [27X                modlibtblG2 ) = fail then[127X[104X
    [4X[25X>[125X [27X         Print( "#E  computed table and library table for ", input[2],[127X[104X
    [4X[25X>[125X [27X                " mod 2 differ\n" );[127X[104X
    [4X[25X>[125X [27X       fi;[127X[104X
    [4X[25X>[125X [27X     fi;[127X[104X
    [4X[25X>[125X [27X     modtblG:= CharacterTable( input[1] ) mod 3;[127X[104X
    [4X[25X>[125X [27X     if modtblG <> fail then[127X[104X
    [4X[25X>[125X [27X       ordtblG3 := CharacterTable( input[3] );[127X[104X
    [4X[25X>[125X [27X       modtblG3 := CharacterTableRegular( ordtblG3, 3 );[127X[104X
    [4X[25X>[125X [27X       SetIrr( modtblG3, IBrOfExtensionBySingularAutomorphism( modtblG,[127X[104X
    [4X[25X>[125X [27X                             ordtblG3 ) );[127X[104X
    [4X[25X>[125X [27X       modlibtblG3:= ordtblG3 mod 3;[127X[104X
    [4X[25X>[125X [27X       if modlibtblG3 = fail then[127X[104X
    [4X[25X>[125X [27X         Print( "#E  3-modular table of '", Identifier( ordtblG3 ),[127X[104X
    [4X[25X>[125X [27X                "' is missing\n" );[127X[104X
    [4X[25X>[125X [27X       elif TransformingPermutationsCharacterTables( modtblG3,[127X[104X
    [4X[25X>[125X [27X                modlibtblG3 ) = fail then[127X[104X
    [4X[25X>[125X [27X         Print( "#E  computed table and library table for ", input[3],[127X[104X
    [4X[25X>[125X [27X                " mod 3 differ\n" );[127X[104X
    [4X[25X>[125X [27X       fi;[127X[104X
    [4X[25X>[125X [27X     fi;[127X[104X
    [4X[25X>[125X [27X     modtblG3:= CharacterTable( input[3] ) mod 2;[127X[104X
    [4X[25X>[125X [27X     if modtblG3 <> fail then[127X[104X
    [4X[25X>[125X [27X       ordtblGS3 := CharacterTable( input[4] );[127X[104X
    [4X[25X>[125X [27X       modtblGS3 := CharacterTableRegular( ordtblGS3, 2 );[127X[104X
    [4X[25X>[125X [27X       SetIrr( modtblGS3, IBrOfExtensionBySingularAutomorphism( modtblG3,[127X[104X
    [4X[25X>[125X [27X                              ordtblGS3 ) );[127X[104X
    [4X[25X>[125X [27X       modlibtblGS3:= ordtblGS3 mod 2;[127X[104X
    [4X[25X>[125X [27X       if modlibtblGS3 = fail then[127X[104X
    [4X[25X>[125X [27X         Print( "#E  2-modular table of '", Identifier( ordtblGS3 ),[127X[104X
    [4X[25X>[125X [27X                "' is missing\n" );[127X[104X
    [4X[25X>[125X [27X       elif TransformingPermutationsCharacterTables( modtblGS3,[127X[104X
    [4X[25X>[125X [27X                modlibtblGS3 ) = fail then[127X[104X
    [4X[25X>[125X [27X         Print( "#E  computed table and library table for ", input[4],[127X[104X
    [4X[25X>[125X [27X                " mod 2 differ\n" );[127X[104X
    [4X[25X>[125X [27X       fi;[127X[104X
    [4X[25X>[125X [27X     fi;[127X[104X
    [4X[25X>[125X [27X   od;[127X[104X
  [4X[32X[104X
  
  
  [1X2.8-3 [33X[0;0Y[22X2[122X[101X[1X-Modular Tables of Groups of the Type [22XG.2^2[122X[101X[1X[133X[101X
  
  [33X[0;0YWe  show  an  alternative construction of [22X2[122X-modular tables of certain groups
  that  have  been  met  in  Section [14X2.6-2[114X. Each entry in the [5XGAP[105X list [10XlistGV4[110X
  contains  the  [2XIdentifier[102X ([14XReference: Identifier for tables of marks[114X) values
  of  character  tables  of  groups  of  the types [22XG[122X, [22XG.2_1[122X, [22XG.2_2[122X, [22XG.2_3[122X, and
  [22XG.2^2[122X.  For  each  entry, we fetch the [22X2[122X-modular table of [22XG[122X and the ordinary
  tables  of the groups [22XG.2_i[122X, and compute the [22X2[122X-modular tables of [22XG.2_i[122X; Then
  we  compute  from  this  modular  table  and the ordinary table of [22XG.2^2[122X the
  [22X2[122X-modular table of [22XG.2^2[122X.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27Xfor input in listGV4 do[127X[104X
    [4X[25X>[125X [27X     modtblG:= CharacterTable( input[1] ) mod 2;[127X[104X
    [4X[25X>[125X [27X     if modtblG <> fail then[127X[104X
    [4X[25X>[125X [27X       ordtblsG2:= List( input{ [ 2 .. 4 ] }, CharacterTable );[127X[104X
    [4X[25X>[125X [27X       ordtblGV4:= CharacterTable( input[5] );[127X[104X
    [4X[25X>[125X [27X       for tblG2 in ordtblsG2 do[127X[104X
    [4X[25X>[125X [27X         modtblG2:= CharacterTableRegular( tblG2, 2 );[127X[104X
    [4X[25X>[125X [27X         SetIrr( modtblG2, IBrOfExtensionBySingularAutomorphism( modtblG,[127X[104X
    [4X[25X>[125X [27X                               tblG2 ) );[127X[104X
    [4X[25X>[125X [27X         modlibtblG2:= tblG2 mod 2;[127X[104X
    [4X[25X>[125X [27X         if modlibtblG2 = fail then[127X[104X
    [4X[25X>[125X [27X           Print( "#E  2-modular table of '", Identifier( tblG2 ),[127X[104X
    [4X[25X>[125X [27X                  "' is missing\n" );[127X[104X
    [4X[25X>[125X [27X         elif TransformingPermutationsCharacterTables( modtblG2,[127X[104X
    [4X[25X>[125X [27X                  modlibtblG2 ) = fail then[127X[104X
    [4X[25X>[125X [27X           Print( "#E  computed table and library table for ",[127X[104X
    [4X[25X>[125X [27X                  Identifier( tblG2 ), " mod 2 differ\n" );[127X[104X
    [4X[25X>[125X [27X         fi;[127X[104X
    [4X[25X>[125X [27X         modtblGV4:= CharacterTableRegular( ordtblGV4, 2 );[127X[104X
    [4X[25X>[125X [27X         SetIrr( modtblGV4, IBrOfExtensionBySingularAutomorphism( modtblG2,[127X[104X
    [4X[25X>[125X [27X                               ordtblGV4 ) );[127X[104X
    [4X[25X>[125X [27X         modlibtblGV4:= ordtblGV4 mod 2;[127X[104X
    [4X[25X>[125X [27X         if modlibtblGV4 = fail then[127X[104X
    [4X[25X>[125X [27X           Print( "#E  2-modular table of '", Identifier( ordtblGV4 ),[127X[104X
    [4X[25X>[125X [27X                  "' is missing\n" );[127X[104X
    [4X[25X>[125X [27X         elif TransformingPermutationsCharacterTables( modtblGV4,[127X[104X
    [4X[25X>[125X [27X                ordtblGV4 mod 2 ) = fail then[127X[104X
    [4X[25X>[125X [27X           Print( "#E  computed table and library table for ", input[5],[127X[104X
    [4X[25X>[125X [27X                  " mod 2 differ\n" );[127X[104X
    [4X[25X>[125X [27X         fi;[127X[104X
    [4X[25X>[125X [27X       od;[127X[104X
    [4X[25X>[125X [27X     fi;[127X[104X
    [4X[25X>[125X [27X   od;[127X[104X
  [4X[32X[104X
  
  
  [1X2.8-4 [33X[0;0YThe [22X3[122X[101X[1X-Modular Table of [22XU_3(8).3^2[122X[101X[1X[133X[101X
  
  [33X[0;0YThe only example of an [5XAtlas[105X group of the structure [22XG.3^3[122X is [22XU_3(8).3^2[122X. Its
  [22X3[122X-modular  character  table  can  be  constructed  from  the known [22X3[122X-modular
  character  table  of  any  of  its  index  [22X3[122X  subgroups,  plus the action of
  [22XU_3(8).3^2[122X on the classes of this subgroup.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XordtblG3:= CharacterTable( "U3(8).3^2" );;[127X[104X
    [4X[25Xgap>[125X [27XmodlibtblG3:= ordtblG3 mod 3;[127X[104X
    [4X[28XBrauerTable( "U3(8).3^2", 3 )[128X[104X
    [4X[25Xgap>[125X [27Xfor nam in [ "U3(8).3_1", "U3(8).3_2", "U3(8).3_3" ] do[127X[104X
    [4X[25X>[125X [27X     modtblG:= CharacterTable( nam ) mod 3;[127X[104X
    [4X[25X>[125X [27X     if modtblG = fail then[127X[104X
    [4X[25X>[125X [27X       Error( "no 3-modular table of ", nam );[127X[104X
    [4X[25X>[125X [27X     fi;[127X[104X
    [4X[25X>[125X [27X     modtblG3:= CharacterTableRegular( ordtblG3, 3 );[127X[104X
    [4X[25X>[125X [27X     SetIrr( modtblG3, IBrOfExtensionBySingularAutomorphism( modtblG,[127X[104X
    [4X[25X>[125X [27X                           ordtblG3 ) );[127X[104X
    [4X[25X>[125X [27X     if TransformingPermutationsCharacterTables( modtblG3,[127X[104X
    [4X[25X>[125X [27X            modlibtblG3 ) = fail then[127X[104X
    [4X[25X>[125X [27X       Print( "#E  computed table and library table for ",[127X[104X
    [4X[25X>[125X [27X              Identifier( ordtblG3 ), " mod 3 differ\n" );[127X[104X
    [4X[25X>[125X [27X     fi;[127X[104X
    [4X[25X>[125X [27X   od;[127X[104X
  [4X[32X[104X
  
  [33X[0;0YAs  expected,  we get the same [22X3[122X-modular table for any choice of the index [22X3[122X
  subgroup.[133X
  
  [33X[0;0YNote   that   all   [22X3[122X-modular   Brauer  characters  of  [22XU_3(8).3^2[122X  lift  to
  characteristic zero.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27Xrest:= RestrictedClassFunctions( Irr( ordtblG3 ), modlibtblG3 );;[127X[104X
    [4X[25Xgap>[125X [27XIsSubset( rest, Irr( modlibtblG3 ) );[127X[104X
    [4X[28Xtrue[128X[104X
  [4X[32X[104X
  
  
  [1X2.9 [33X[0;0YExamples of Subdirect Products of Index Two[133X[101X
  
  [33X[0;0YTypical  examples  of  this  construction  are  those  maximal  subgroups of
  alternating groups [22XA_n[122X that extend in the corresponding symmetric groups [22XS_n[122X
  to  direct  products  of  the  structures [22XS_m × S_n-m[122X, for [22X2 < m < n/2[122X. Also
  certain subgroups of these maximal subgroups that have this structure can be
  interesting, see Section [14X2.4-2[114X.[133X
  
  
  [1X2.9-1 [33X[0;0YCertain Dihedral Groups as Subdirect Products of Index Two[133X[101X
  
  [33X[0;0YAlso dihedral groups of order [22X2 n[122X with [22Xn[122X divisible by at least two different
  primes  have  the required structure: Let [22Xn = n_1 n_2[122X with coprime [22Xn_1[122X, [22Xn_2[122X,
  and  let  the normal subgroups [22XH_1[122X, [22XH_2[122X be cyclic subgroups of order [22Xn_1[122X and
  [22Xn_2[122X, respectively, inside the cyclic subgroup of index two. Then the factors
  [22XG/N_1[122X, [22XG/N_2[122X are themselves dihedral groups.[133X
  
  [33X[0;0YSo an example (with [22Xn_1 = 3[122X and [22Xn_2 = 5[122X) is the construction of the dihedral
  group  [22XD_30[122X  as a subdirect product of index two in the direct product [22XD_6 ×
  D_10[122X.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27Xtblh1:= CharacterTable( "C3" );;[127X[104X
    [4X[25Xgap>[125X [27Xtblg1:= CharacterTable( "S3" );;[127X[104X
    [4X[25Xgap>[125X [27XStoreFusion( tblh1, PossibleClassFusions( tblh1, tblg1 )[1], tblg1 );[127X[104X
    [4X[25Xgap>[125X [27Xtblh2:= CharacterTable( "C5" );;[127X[104X
    [4X[25Xgap>[125X [27Xtblg2:= CharacterTable( "D10" );;[127X[104X
    [4X[25Xgap>[125X [27XStoreFusion( tblh2, PossibleClassFusions( tblh2, tblg2 )[1], tblg2 );[127X[104X
    [4X[25Xgap>[125X [27Xsubdir:= CharacterTableOfIndexTwoSubdirectProduct( tblh1, tblg1,[127X[104X
    [4X[25X>[125X [27X                tblh2, tblg2, "D30" );;[127X[104X
    [4X[25Xgap>[125X [27XIsRecord( TransformingPermutationsCharacterTables( subdir.table,[127X[104X
    [4X[25X>[125X [27X                 CharacterTable( "Dihedral", 30 ) ) );[127X[104X
    [4X[28Xtrue[128X[104X
  [4X[32X[104X
  
  
  [1X2.9-2 [33X[0;0YThe Character Table of [22X(D_10 × HN).2 < M[122X[101X[1X (June 2008)[133X[101X
  
  [33X[0;0YThe  sporadic  simple  Monster  group  contains  maximal  subgroups with the
  structure [22X(D_10 × HN).2[122X (see [CCN+85, p. 234]), the factor group modulo [22XD_10[122X
  is  the automorphism group [22XHN.2[122X of [22XHN[122X, and the factor group modulo [22XHN[122X is the
  Frobenius group [22X5:4[122X of order [22X20[122X.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27Xtblh1:= CharacterTable( "D10" );;[127X[104X
    [4X[25Xgap>[125X [27Xtblg1:= CharacterTable( "5:4" );;[127X[104X
    [4X[25Xgap>[125X [27Xtblh2:= CharacterTable( "HN" );;[127X[104X
    [4X[25Xgap>[125X [27Xtblg2:= CharacterTable( "HN.2" );;[127X[104X
    [4X[25Xgap>[125X [27Xsubdir:= CharacterTableOfIndexTwoSubdirectProduct( tblh1, tblg1,[127X[104X
    [4X[25X>[125X [27X                tblh2, tblg2, "(D10xHN).2" );;[127X[104X
    [4X[25Xgap>[125X [27XIsRecord( TransformingPermutationsCharacterTables( subdir.table,[127X[104X
    [4X[25X>[125X [27X                 CharacterTable( "(D10xHN).2" ) ) );[127X[104X
    [4X[28Xtrue[128X[104X
    [4X[25Xgap>[125X [27Xm:= CharacterTable( "M" );;[127X[104X
    [4X[25Xgap>[125X [27Xfus:= PossibleClassFusions( subdir.table, m );;[127X[104X
    [4X[25Xgap>[125X [27XLength( fus );[127X[104X
    [4X[28X16[128X[104X
    [4X[25Xgap>[125X [27XLength( RepresentativesFusions( subdir.table, fus, m ) );[127X[104X
    [4X[28X1[128X[104X
  [4X[32X[104X
  
  [33X[0;0YAn  alternative construction is the one described in Section [14X2.3-1[114X, as [22X(D_10
  ×  HN).2  =  M.G.A[122X  with  [22XG = 2 × HN[122X, [22XM.G = D_10 × HN[122X, and [22XG.A[122X the subdirect
  product  of  [22XHN.2[122X and a cyclic group of order four (which can be constructed
  as the isoclinic variant of [22X2 × HN.2[122X, see Section [14X2.2-4[114X).[133X
  
  [33X[0;0YHere is this construction:[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27Xc2:= CharacterTable( "C2" );;[127X[104X
    [4X[25Xgap>[125X [27Xhn:= CharacterTable( "HN" );;[127X[104X
    [4X[25Xgap>[125X [27Xg:= c2 * hn;;[127X[104X
    [4X[25Xgap>[125X [27Xd10:= CharacterTable( "D10" );;[127X[104X
    [4X[25Xgap>[125X [27Xmg:= d10 * hn;;[127X[104X
    [4X[25Xgap>[125X [27Xnsg:= ClassPositionsOfNormalSubgroups( mg );[127X[104X
    [4X[28X[ [ 1 ], [ 1, 55 .. 109 ], [ 1, 55 .. 163 ], [ 1 .. 54 ], [128X[104X
    [4X[28X  [ 1 .. 162 ], [ 1 .. 216 ] ][128X[104X
    [4X[25Xgap>[125X [27XSizesConjugacyClasses( mg ){ nsg[2] };[127X[104X
    [4X[28X[ 1, 2, 2 ][128X[104X
    [4X[25Xgap>[125X [27Xg:= mg / nsg[2];[127X[104X
    [4X[28XCharacterTable( "D10xHN/[ 1, 55, 109 ]" )[128X[104X
    [4X[25Xgap>[125X [27Xhelp:= c2 * CharacterTable( "HN.2" );[127X[104X
    [4X[28XCharacterTable( "C2xHN.2" )[128X[104X
    [4X[25Xgap>[125X [27Xga:= CharacterTableIsoclinic( help ); [127X[104X
    [4X[28XCharacterTable( "Isoclinic(C2xHN.2)" )[128X[104X
    [4X[25Xgap>[125X [27Xgfusga:= PossibleClassFusions( g, ga ); [127X[104X
    [4X[28X[ [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 11, 12, 13, 14, 15, 16, 17, [128X[104X
    [4X[28X      18, 19, 20, 21, 22, 23, 23, 24, 25, 25, 26, 27, 28, 29, 30, 31, [128X[104X
    [4X[28X      32, 32, 33, 33, 34, 35, 36, 37, 37, 38, 39, 40, 40, 41, 42, 42, [128X[104X
    [4X[28X      43, 43, 44, 44, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 89, [128X[104X
    [4X[28X      90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 101, 102, [128X[104X
    [4X[28X      103, 103, 104, 105, 106, 107, 108, 109, 110, 110, 111, 111, [128X[104X
    [4X[28X      112, 113, 114, 115, 115, 116, 117, 118, 118, 119, 120, 120, [128X[104X
    [4X[28X      121, 121, 122, 122 ], [128X[104X
    [4X[28X  [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 11, 12, 13, 14, 15, 16, 17, [128X[104X
    [4X[28X      18, 19, 20, 21, 22, 23, 23, 24, 25, 25, 26, 27, 28, 29, 30, 31, [128X[104X
    [4X[28X      32, 32, 33, 33, 35, 34, 36, 37, 37, 38, 39, 40, 40, 41, 42, 42, [128X[104X
    [4X[28X      43, 43, 44, 44, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 89, [128X[104X
    [4X[28X      90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 101, 102, [128X[104X
    [4X[28X      103, 103, 104, 105, 106, 107, 108, 109, 110, 110, 111, 111, [128X[104X
    [4X[28X      113, 112, 114, 115, 115, 116, 117, 118, 118, 119, 120, 120, [128X[104X
    [4X[28X      121, 121, 122, 122 ] ][128X[104X
    [4X[25Xgap>[125X [27XStoreFusion( g, gfusga[1], ga );[127X[104X
    [4X[25Xgap>[125X [27Xacts:= PossibleActionsForTypeMGA( mg, g, ga );;[127X[104X
    [4X[25Xgap>[125X [27XLength( acts );[127X[104X
    [4X[28X1[128X[104X
    [4X[25Xgap>[125X [27Xposs:= PossibleCharacterTablesOfTypeMGA( mg, g, ga, acts[1],       [127X[104X
    [4X[25X>[125X [27X              "(D10xHN).2" );;[127X[104X
    [4X[25Xgap>[125X [27XLength( poss );[127X[104X
    [4X[28X1[128X[104X
    [4X[25Xgap>[125X [27XIsRecord( TransformingPermutationsCharacterTables( poss[1].table,[127X[104X
    [4X[25X>[125X [27X                 CharacterTable( "(D10xHN).2" ) ) );[127X[104X
    [4X[28Xtrue[128X[104X
  [4X[32X[104X
  
  
  [1X2.9-3 [33X[0;0YA Counterexample (August 2015)[133X[101X
  
  [33X[0;0YA  group  [22XG[122X  is called [13Xreal[113X if each of its elements is conjugate in [22XG[122X to its
  inverse.  Equivalently,  a  group  is  real if and only if all its character
  values  are real. One might ask whether the Sylow [22X2[122X-subgroup of a real group
  is  itself  real.  Counterexamples  can  be  found by a search through [5XGAP[105X's
  library  of  small groups. Using the facts we have collected about index two
  subdirect   products   in   Section   [14X2.3-6[114X,   we  can  demonstrate  such  a
  counterexample without using [5XGAP[105X.[133X
  
  [33X[0;0YLet  [22XH_1 = A_4[122X, [22XG_1 = S_4[122X, [22XH_2 = C_4[122X, and [22XG_2[122X a nonabelian group of order [22X8[122X,
  and  consider the unique index two subgroup [22XG[122X of [22XG_1 × G_2[122X that is different
  from [22XH_1 × G_2[122X and [22XG_1 × H_2[122X.[133X
  
  [33X[0;0YEach irreducible character of [22XG[122X either extends to [22XG_1 × G_2[122X or it is induced
  from  an  irreducible  character  of  [22XH_1  ×  H_2[122X.  In  the former case, the
  character  is  integer valued. Irrational values in the latter case arise as
  follows.[133X
  
  [33X[0;0YLet  [22Xχ[122X  be  an irreducible character of [22XH_1 × H_2[122X; then it is the product of
  irreducible  characters  [22Xχ_1[122X  and [22Xχ_2[122X of [22XH_1[122X and [22XH_2[122X, respectively. If [22Xχ[122X has
  irrational  values  then  [22Xχ_1[122X takes primitive third roots of unity [22Xω, ω^2[122X on
  elements of order three in [22XH_1[122X, or [22Xχ_2[122X takes primitive fourth roots of unity
  [22X±  i[122X  on  elements  of  order  four in [22XH_2[122X, or both. In the first two cases,
  inducing  [22Xχ[122X  to  [22XG[122X  yields an integer valued character, because each pair of
  Galois  conjugate  classes fuses in [22XG[122X on which [22Xχ[122X takes irrational values. In
  the  last  case, [22Xχ[122X takes primitive [22X12[122X-th roots of unity [22X± i ω[122X and [22X± i ω^2[122X on
  elements  of order [22X12[122X; since [22XG[122X fuses the classes with the character values [22Xi
  ω[122X  and  [22X-i  ω^2[122X,  we  get  the  character value [22Xi ω -i ω^2 = -sqrt{3}[122X in the
  induced  character [22Xχ^G[122X. This means that this character is real valued. Hence
  [22XG[122X is real.[133X
  
  [33X[0;0YNow  we  consider  a  Sylow  [22X2[122X-subgroup of [22XG[122X. It has also the structure of a
  subdirect  product, as follows. Let [22XH_1 = V_4[122X, [22XG_1 = D_8[122X, and [22XH_2[122X and [22XG_2[122X as
  above,  and  consider  the  unique index two subgroup [22XG[122X of [22XG_1 × G_2[122X that is
  different from [22XH_1 × G_2[122X and [22XG_1 × H_2[122X.[133X
  
  [33X[0;0YAs  above,  irrational values in an irreducible character of [22XG[122X arise only if
  this  character  is  induced from a character [22Xχ[122X, say, that is the product of
  irreducible  characters  [22Xχ_1[122X  and  [22Xχ_2[122X of [22XH_1[122X and [22XH_2[122X, respectively. In this
  case,  [22Xχ_2[122X  takes  primitive  fourth roots of unity [22X± i[122X on elements of order
  four  in [22XH_2[122X. Moreover, [22Xχ_1[122X takes different values [22X± 1[122X on the two classes of
  [22XH_1[122X  that are fused in [22XG[122X if the induced character has irrational values, and
  these values are [22X± 2i[122X. Hence the group [22XG[122X is [13Xnot[113X real.[133X
  
  [33X[0;0Y(In  fact the above two groups of order [22X96[122X are the smallest real groups with
  non-real  Sylow  [22X2[122X-subgroup,  and  there  are  no  other such groups of this
  order.)[133X
  
