  
  [1X3 [33X[0;0YConstructing Character Tables of Central Extensions in [5XGAP[105X[101X[1X[133X[101X
  
  [33X[0;0YDate: February 19th, 2004[133X
  
  [33X[0;0YThis  chapter  has three aims. First it shows how the [5XGAP[105X system [GAP21] can
  be utilized to construct character tables of certain central extensions from
  known  character tables; the [5XGAP[105X functions used for that are part of the [5XGAP[105X
  Character  Table  Library [Bre22]. 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 [5XGAP[105X functions.[133X
  
  [33X[0;0YA  typo  (wrong  sign  of  [22Xε^5[122X)  in  the  picture  in Section [14X3.1-4[114X has been
  corrected in 2013.[133X
  
  
  [1X3.1 [33X[0;0YCoprime Central Extensions[133X[101X
  
  [33X[0;0YIn  this  section,  we  will  deal  with the following situation. Let [22XH[122X be a
  group,  [22XZ[122X  be  a cyclic central subgroup in [22XH[122X, and [22XZ = Z_1 Z_2[122X for subgroups
  [22XZ_1[122X  and  [22XZ_2[122X  of  coprime  orders [22Xm[122X and [22Xn[122X, say. For the sake of simplicity,
  suppose  that  both [22Xm[122X and [22Xn[122X are primes; the general case is then obtained by
  iterating the construction process.[133X
  
  [33X[0;0YOur  aim is to compute the character table of [22XH[122X from the character tables of
  [22XH/Z_1[122X and [22XH/Z_2[122X. We assume that the factor fusions from these tables to that
  of  the common factor group [22XH/Z[122X are known. Again for the sake of simplicity,
  we  will take the character table of [22XH/Z[122X as an input. (See Section [14X3.2-4[114X for
  an  example  where  two different orderings of classes and characters of [22XH/Z[122X
  arise from the tables of [22XH/Z_1[122X and [22XH/Z_2[122X.)[133X
  
  [33X[0;0YFor  example,  the character table of [22XH = 12.M_22[122X can be computed from those
  of [22X6.M_22[122X and [22X4.M_22[122X, and the character table of [22X6.M_22[122X can be computed from
  those of [22X3.M_22[122X and [22X2.M_22[122X (see Section [14X3.2-1[114X).[133X
  
  
  [1X3.1-1 [33X[0;0YThe Character Table Head[133X[101X
  
  [33X[0;0YThe  conjugacy  classes  and  power maps of [22XH[122X are uniquely determined by the
  input data specified above.[133X
  
                    H
                    │
                    │            H/Z2  ──▶  H/Z
                    Z
                   ╱ ╲            ▲          ▲
                  ╱   ╲           │          │
                Z1     Z2
                  ╲   ╱           H    ──▶  H/Z1 
                   ╲ ╱
                    1
  
  [33X[0;0YSuppose  that a class [22XC[122X of elements of [22XH/Z[122X has [22Xn_C[122X preimage classes in [22XH/Z_1[122X
  and  [22Xm_C[122X  preimage  classes  in [22XH/Z_2[122X; then [22Xn_C[122X is either [22X1[122X or [22Xn[122X, and [22Xm_C[122X is
  either [22X1[122X or [22Xm[122X. The preimage classes of [22XC[122X in [22XH/Z_1[122X and [22XH/Z_2[122X are parametrized
  by [22X{ j; 0 ≤ j < n_C }[122X and [22X{ i; 0 ≤ i < m_C }[122X, respectively, and the preimage
  classes in [22XH[122X are parametrized by the pairs [22X{ (i,j); 0 ≤ i < m_C, 0 ≤ j < n_C
  }[122X.[133X
  
  [33X[0;0YThe  centralizer  orders  of  these  classes  in  [22XH[122X  are  [22Xm_C  n_C[122X times the
  centralizer order of [22XC[122X in [22XH/Z[122X.[133X
  
  [33X[0;0YThe  factor  fusion  onto  [22XH/Z_1[122X is then given by mapping the class with the
  parameter  [22X(i,j)[122X  to the class with the parameter [22Xj[122X; analogously, the factor
  fusion  onto [22XH/Z_2[122X maps this class to the class with the parameter [22Xi[122X. To see
  this,  let [22XZ = ⟨ z ⟩[122X, and set [22Xz_1 = z^n[122X and [22Xz_2 = z^m[122X. Now take an element [22Xg
  ∈ H[122X for which [22Xg Z[122X lies in [22XC[122X. Then the elements [22Xg z_1^i z_2^j[122X, [22X1 ≤ i ≤ m_C[122X, [22X1
  ≤  j  ≤ n_C[122X form a set of representatives of the preimage classes of [22XC[122X in [22XH[122X.
  In  [22XH/Z_1[122X  and  [22XH/Z_2[122X,  these elements map to [22Xg z_2^j Z_1[122X, [22X1 ≤ j ≤ n_C[122X and [22Xg
  z_1^i  Z_2[122X,  [22X1 ≤ i ≤ m_C[122X, respectively, which are sets of representatives of
  the classes in question in these groups.[133X
  
  [33X[0;0YFor  each prime [22Xp[122X, the factor fusions determine the [22Xp[122X-th power map of [22XH[122X from
  the  [22Xp[122X-th  power maps of [22XH/Z_1[122X and [22XH/Z_2[122X. To see this, take a class [22XC_0[122X in [22XH[122X
  that  is  a  preimage  of the class [22XC[122X of [22XH/Z[122X, and let [22XK[122X be the class of [22Xp[122X-th
  powers  of the elements in [22XC[122X. Then the image of [22XC_0[122X under the [22Xp[122X-th power map
  is  one  of  the  preimages of [22XK[122X. We know the images of [22XC_0[122X under the factor
  fusions to [22XH/Z_1[122X and [22XH/Z_2[122X, and thus also their images [22XK_1[122X and [22XK_2[122X under the
  [22Xp[122X-th power maps of these groups. So the class of [22Xp[122X-th powers of the elements
  in  [22XC_0[122X  is  the unique class that is mapped to [22XK_1[122X and [22XK_2[122X under the factor
  fusions.[133X
  
  [33X[0;0YThe  construction  of  the  character  table  head  of [22XH[122X from the input data
  specified     above     is     implemented     by     the    [5XGAP[105X    function
  [2XCharacterTableOfCommonCentralExtension[102X                             ([14XCTblLib:
  CharacterTableOfCommonCentralExtension[114X).[133X
  
  
  [1X3.1-2 [33X[0;0YThe Irreducible Characters[133X[101X
  
  [33X[0;0YFirst  of  all, it should be said that it is not obvious how the irreducible
  characters of [22XH[122X can be computed from the irreducible characters of [22XH/Z_1[122X and
  [22XH/Z_2[122X.  Clearly  the  irreducible characters of the two factor groups can be
  inflated  to [22XH[122X via the factor fusions, so we have to find those irreducibles
  that have neither [22XZ_1[122X nor [22XZ_2[122X in their kernels.[133X
  
  [33X[0;0YFor  that,  we  use  the following heuristic. Let [22Xε_z[122X be a complex primitive
  [22X|z|[122X-th  root of unity. For integers [22Xi[122X, set [22XIrr_{z,i}(H) = { χ ∈ Irr(H); χ(z)
  =  ε_z^i  χ(1)  }[122X. Then [22XIrr(H) = ⋃_{i=0}^{|z|-1} Irr_{z,i}(H)[122X, as a disjoint
  union.  If  [22Xi[122X  is  a  multiple  of  [22Xm[122X  or [22Xn[122X, respectively, then [22XIrr_{z,i}(H)[122X
  consists  of  the  inflations  of certain irreducible characters of [22XH/Z_1[122X or
  [22XH/Z_2[122X,  respectively.  The  remaining  irreducible  characters  of  [22XH[122X lie in
  [22XIrr_{z,i}(H)[122X   with  [22Xi[122X  coprime  to  [22X|z|[122X.  These  characters  are  algebraic
  conjugates  of  [22XIrr_{z,1}(H)[122X,  so  it  suffices  to compute this subset; the
  conjugates are then derived as the last step.[133X
  
  [33X[0;0YSince [22XIrr_{z,i}(H) ⊗ Irr_{z,j}(H) ⊂ ℤ[ Irr_{z,i+j}(H) ][122X holds, we start with
  the  tensor products of the known irreducible characters in [22XIrr_{z,i}(H)[122X and
  [22XIrr_{z,j}(H)[122X with the property [22Xi+j ≡ 1 mod m n[122X.[133X
  
  [33X[0;0YFor  example,  if  we have [22Xm = 2[122X and [22Xn = 3[122X then [22XIrr_{z,3}(H)[122X consists of the
  inflations of those characters in [22XIrr(H/Z_2)[122X that are not characters of [22XH/Z[122X,
  and  [22XIrr_{z,4}(H)[122X  consists  of  the  inflations  of  certain  characters in
  [22XIrr(H/Z_1)[122X that are not characters of [22XH/Z[122X. The tensor products of these sets
  of characters lie in the span of [22XIrr_{z,1}(H)[122X.[133X
  
  [33X[0;0YIn  general  these tensor products are reducible, but some of them may be in
  fact  irreducible, so we first take these irreducibles, and reduce the other
  tensor  products  with them. (If [22XH[122X is a direct product of [22XZ[122X and [22XH/Z[122X then all
  missing irreducibles are obtained this way.)[133X
  
  [33X[0;0YThen  we  tensor algebraic conjugates of the known characters in the span of
  [22XIrr_{z,1}(H)[122X  with characters in suitable sets [22XIrr_{z,i}(H)[122X, in order to get
  more characters in [22XIrr_{z,1}(H)[122X; for example, [22XIrr_{z,1}(H) ⊗ Irr_{z,0}(H)[122X is
  a subset of [22Xℤ[Irr_{z,1}(H)][122X.[133X
  
  [33X[0;0YIn  the case [22Xm = 2[122X and [22Xn = 3[122X, also [22XIrr_{z,5}(H) ⊗ Irr_{z,2}(H)[122X yields linear
  combinations of [22XIrr_{z,1}(H)[122X. Note that [22XIrr_{z,5}(H)[122X consists of the complex
  conjugates of [22XIrr_{z,1}(H)[122X.[133X
  
  [33X[0;0YIn  the  next  step,  we  apply  the  LLL algorithm (implemented via the [5XGAP[105X
  function  [2XLLL[102X  ([14XReference:  LLL[114X))  to  the  set  of  reducible characters in
  [22Xℤ[Irr_{z,1}(H)][122X  which  we  got  from  the tensor products, and hope to find
  irreducibles.  In  the  examples  shown  below, this step yields all desired
  irreducible characters.[133X
  
  [33X[0;0YThe    [5XGAP[105X    function    [2XCharacterTableOfCommonCentralExtension[102X   ([14XCTblLib:
  CharacterTableOfCommonCentralExtension[114X)  implements  the  strategy  sketched
  above.[133X
  
  
  [1X3.1-3 [33X[0;0YOrdering of Conjugacy Classes[133X[101X
  
  [33X[0;0YOne [21Xnatural[121X choice for the ordering of the columns in the character table of
  [22XH[122X  is  given by respecting the ordering of columns in the character table of
  [22XH/Z[122X,  and  taking the preimage of the class [22XC[122X corresponding to the parameter
  [22X(k mod m_C, k mod n_C)[122X as the [22Xk[122X-th class for [22XC[122X.[133X
  
  [33X[0;0YIf the preimages of [22XC[122X in [22XH/Z_1[122X and [22XH/Z_2[122X have class representatives [22Xg Z_1[122X, [22Xg
  z_2  Z_1[122X,  [22Xg  z_2^2  Z_1[122X,  [22X...[122X  and  [22Xg  Z_2[122X,  [22Xg  z_1  Z_2[122X, [22Xg z_1^2 Z_2[122X, [22X...[122X,
  respectively  (in this ordering), then the above rule yields representatives
  of preimages in [22XH[122X in the ordering [22Xg[122X, [22Xg (z_1 z_2)[122X, [22Xg (z_1 z_2)^2[122X, [22X...[122X.[133X
  
  [33X[0;0YIn  the  case  [22Xm = 2[122X, [22Xn = 3[122X, the following pattern arises for classes of [22XH/Z[122X
  that  have  [22Xm[122X and [22Xn[122X preimages in [22XH/Z_1[122X and [22XH/Z_2[122X, respectively. The vertices
  are  labelled  by the roots of unity with which the values of the characters
  in the set [22XIrr_{z,1}(H)[122X on the first preimage must be multiplied in order to
  obtain the values on the given class; we have [22Xω = exp(2 π i/3)[122X.[133X
  
             1     1    1     1    1    1            G
  
             ▲     ▲    ▲     ▲    ▲    ▲            ▲
             │     │    │     │    │    │            │
  
             1     ω   ω^2    1    ω   ω^2          3.G
  
             ▲     ▲    ▲     ▲    ▲    ▲            ▲
             │     │    │     │    │    │            │
  
             1    -ω   ω^2   -1    ω  -ω^2          6.G
  
             │     │    │     │    │    │            │
             ▼     ▼    ▼     ▼    ▼    ▼            ▼
  
             1    -1    1    -1    1   -1           2.G
  
             │     │    │     │    │    │            │
             ▼     ▼    ▼     ▼    ▼    ▼            ▼
  
             1     1    1     1    1    1            G
  
  
  [1X3.1-4 [33X[0;0YCompatibility with Smaller Factor Groups[133X[101X
  
  [33X[0;0YIt  may  happen that a cyclic central subgroup [22XZ_0[122X of [22XH[122X contains [22XZ[122X properly.
  Then  we choose a class ordering relative to that in the factor group [22XH/Z_0[122X,
  mainly because the [5XAtlas[105X tables of this type are sorted this way.[133X
  
  [33X[0;0YThe  typical  case is the character table of a central extension of the type
  [22X12.G[122X  that  shall  be constructed from the character tables of the groups of
  the  types  [22X4.G[122X and [22X6.G[122X; here we prefer to order the preimages of a class in
  the  smaller  factor  group  of the type [22XG[122X according to the above rule. This
  results in the following pattern, where [22Xε = exp(2 π i/12)[122X holds (cf. Section
  [21XATLAS Tables[121X in the manual of the [5XGAP[105X Character Table Library).[133X
  
       1   1     1    1   1    1    1   1   1    1   1    1         G
  
       ▲   ▲     ▲    ▲   ▲    ▲    ▲   ▲   ▲    ▲   ▲    ▲         ▲
       │   │     │    │   │    │    │   │   │    │   │    │         │
  
       1  -1     1   -1   1   -1    1  -1   1   -1   1   -1        2.G
  
       ▲   ▲     ▲    ▲   ▲    ▲    ▲   ▲   ▲    ▲   ▲    ▲         ▲
       │   │     │    │   │    │    │   │   │    │   │    │         │
  
       1  -ω    ω^2  -1   ω  -ω^2   1  -ω  ω^2  -1   ω  -ω^2       6.G
  
       ▲   ▲     ▲    ▲   ▲    ▲    ▲   ▲   ▲    ▲   ▲    ▲         ▲
       │   │     │    │   │    │    │   │   │    │   │    │         │
  
       1  ϵ^7  -ω^2  -i   ω  ϵ^11  -1   ϵ  ω^2   i  -ω   ϵ^5      12.G
  
       │   │     │    │   │    │    │   │   │    │   │    │         │
       ▼   ▼     ▼    ▼   ▼    ▼    ▼   ▼   ▼    ▼   ▼    ▼         ▼
  
       1  -i    -1    i   1   -i   -1   i   1   -i  -1    i        4.G
  
       │   │     │    │   │    │    │   │   │    │   │    │         │
       ▼   ▼     ▼    ▼   ▼    ▼    ▼   ▼   ▼    ▼   ▼    ▼         ▼
  
       1  -1     1   -1   1   -1    1  -1   1   -1   1   -1        2.G
  
       │   │     │    │   │    │    │   │   │    │   │    │         │
       ▼   ▼     ▼    ▼   ▼    ▼    ▼   ▼   ▼    ▼   ▼    ▼         ▼
  
       1   1     1    1   1    1    1   1   1    1   1    1         G
  
  [33X[0;0YA  more  important  aspect  concerns  the  computation  of  the  irreducible
  characters. Let [22XZ_0 = ⟨ z_0 ⟩[122X. Instead of computing [22XIrr_{z,1}(H)[122X, we compute
  the set [22XIrr_{z_0,1}(H)[122X.[133X
  
  [33X[0;0YIn the computation of the character table of a central extension of the type
  [22X12.G[122X as mentioned above, with [22X|z_0| = 12[122X, we start with the characters[133X
  
  
  [24X[33X[0;6YIrr_{z_0,3}(H) ⊗ Irr_{z_0,10}(H) ∪ Irr_{z_0,4}(H) ⊗ Irr_{z_0,9}(H) ⊆ ℤ[Irr_{z_0,1}(H)],[133X[124X
  
  [33X[0;0Yand  later  form  tensor  products  involving  algebraic  conjugates  of the
  characters in the span of [22XIrr_{z_0,1}(H)[122X, using that[133X
  
  
  [24X[33X[0;6YIrr_{z_0,1}(H) ⊗ Irr_{z_0,0}(H) ∪ Irr_{z_0,2}(H) ⊗ Irr_{z_0,11}(H) ∪ Irr_{z_0,5}(H) ⊗ Irr_{z_0,8}(H) ∪ Irr_{z_0,6}(H) ⊗ Irr_{z_0,7}(H)[133X[124X
  
  [33X[0;0Yis a subset of [22Xℤ[Irr_{z_0,1}(H)][122X.[133X
  
  [33X[0;0YWithout  that modification, the computation of irreducibles is significantly
  more involved.[133X
  
  [33X[0;0YThe    [5XGAP[105X    function    [2XCharacterTableOfCommonCentralExtension[102X   ([14XCTblLib:
  CharacterTableOfCommonCentralExtension[114X)  chooses the class ordering relative
  to  larger  cyclic factor groups, as in the above picture, and also uses the
  above refinement for the computation of irreducible characters.[133X
  
  
  [1X3.2 [33X[0;0YExamples[133X[101X
  
  [33X[0;0YThe following examples use the [5XGAP[105X Character Table Library, so we first load
  this package.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XLoadPackage( "ctbllib", false );[127X[104X
    [4X[28Xtrue[128X[104X
  [4X[32X[104X
  
  
  [1X3.2-1 [33X[0;0YCentral Extensions of Simple [5XAtlas[105X[101X[1X Groups[133X[101X
  
  [33X[0;0YFor the following groups, the [5XAtlas[105X contains the character tables of central
  extensions  [22XM.G[122X  of  simple  groups  [22XG[122X  with  [22X|M|[122X divisible by two different
  primes; in all these cases, we have [22XM ∈ { 6, 12 }[122X.[133X
  
  [33X[0;0Y(The  entry  concerning  [22X6.^2E_6(2)[122X  has  been  added  to the list after the
  character table of [22X3.^2E_6(2)[122X became available. This table has been computed
  by Frank Lübeck.)[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27Xlist:= [[127X[104X
    [4X[25X>[125X [27X    #         G          m.G          n.G           mn.G[127X[104X
    [4X[25X>[125X [27X[127X[104X
    [4X[25X>[125X [27X    [      "A6",      "2.A6",      "3.A6",        "6.A6" ],[127X[104X
    [4X[25X>[125X [27X    [      "A7",      "2.A7",      "3.A7",        "6.A7" ],[127X[104X
    [4X[25X>[125X [27X    [   "L3(4)",   "2.L3(4)",   "3.L3(4)",     "6.L3(4)" ],[127X[104X
    [4X[25X>[125X [27X    [ "2.L3(4)", "4_1.L3(4)",   "6.L3(4)",  "12_1.L3(4)" ],[127X[104X
    [4X[25X>[125X [27X    [ "2.L3(4)", "4_2.L3(4)",   "6.L3(4)",  "12_2.L3(4)" ],[127X[104X
    [4X[25X>[125X [27X    [     "M22",     "2.M22",     "3.M22",       "6.M22" ],[127X[104X
    [4X[25X>[125X [27X    [   "2.M22",     "4.M22",     "6.M22",      "12.M22" ],[127X[104X
    [4X[25X>[125X [27X    [   "U4(3)",   "2.U4(3)", "3_1.U4(3)",   "6_1.U4(3)" ],[127X[104X
    [4X[25X>[125X [27X    [   "U4(3)",   "2.U4(3)", "3_2.U4(3)",   "6_2.U4(3)" ],[127X[104X
    [4X[25X>[125X [27X    [ "2.U4(3)",   "4.U4(3)", "6_1.U4(3)",  "12_1.U4(3)" ],[127X[104X
    [4X[25X>[125X [27X    [ "2.U4(3)",   "4.U4(3)", "6_2.U4(3)",  "12_2.U4(3)" ],[127X[104X
    [4X[25X>[125X [27X    [   "O7(3)",   "2.O7(3)",   "3.O7(3)",     "6.O7(3)" ],[127X[104X
    [4X[25X>[125X [27X    [   "U6(2)",   "2.U6(2)",   "3.U6(2)",     "6.U6(2)" ],[127X[104X
    [4X[25X>[125X [27X    [     "Suz",     "2.Suz",     "3.Suz",       "6.Suz" ],[127X[104X
    [4X[25X>[125X [27X    [    "Fi22",    "2.Fi22",    "3.Fi22",      "6.Fi22" ],[127X[104X
    [4X[25X>[125X [27X    [  "2E6(2)",  "2.2E6(2)",  "3.2E6(2)",    "6.2E6(2)" ],[127X[104X
    [4X[25X>[125X [27X  ];;[127X[104X
  [4X[32X[104X
  
  [33X[0;0YAs  was discussed in the sections [14X3.1-3[114X and [14X3.1-4[114X, the class ordering of the
  result tables is the same as that in the [5XGAP[105X library tables, so it is enough
  to  check whether the set of characters in the computed table coincides with
  the set of characters in the library table.[133X
  
  [33X[0;0YIn  order  to  list information about the progress, we set the relevant info
  level to [22X1[122X.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XSetInfoLevel( InfoCharacterTable, 1 );[127X[104X
    [4X[25Xgap>[125X [27Xfor entry in list do[127X[104X
    [4X[25X>[125X [27X  id    := entry[4];[127X[104X
    [4X[25X>[125X [27X  tblG  := CharacterTable( entry[1] );[127X[104X
    [4X[25X>[125X [27X  tblmG := CharacterTable( entry[2] );[127X[104X
    [4X[25X>[125X [27X  tblnG := CharacterTable( entry[3] );[127X[104X
    [4X[25X>[125X [27X  lib   := CharacterTable( id );[127X[104X
    [4X[25X>[125X [27X  res:= CharacterTableOfCommonCentralExtension( tblG, tblmG, tblnG, id );[127X[104X
    [4X[25X>[125X [27X  if not res.IsComplete then[127X[104X
    [4X[25X>[125X [27X    Print( "#E  not complete: ", id, "\n" );[127X[104X
    [4X[25X>[125X [27X  fi;[127X[104X
    [4X[25X>[125X [27X  if not IsSubset( Irr( lib ), res.irreducibles ) then[127X[104X
    [4X[25X>[125X [27X    Print( "#E  inconsistent: ", id, "\n" );[127X[104X
    [4X[25X>[125X [27X  fi;[127X[104X
    [4X[25X>[125X [27Xod;[127X[104X
    [4X[28X#I  6.A6: need 4 faithful irreducibles[128X[104X
    [4X[28X#I  6.A6: 4 found by tensoring[128X[104X
    [4X[28X#I  6.A7: need 5 faithful irreducibles[128X[104X
    [4X[28X#I  6.A7: 5 found by tensoring[128X[104X
    [4X[28X#I  6.L3(4): need 7 faithful irreducibles[128X[104X
    [4X[28X#I  6.L3(4): 7 found by LLL[128X[104X
    [4X[28X#I  12_1.L3(4): need 5 faithful irreducibles[128X[104X
    [4X[28X#I  12_1.L3(4): 2 found by tensoring[128X[104X
    [4X[28X#I  12_1.L3(4): 3 found by tensoring[128X[104X
    [4X[28X#I  12_2.L3(4): need 6 faithful irreducibles[128X[104X
    [4X[28X#I  12_2.L3(4): 6 found by LLL[128X[104X
    [4X[28X#I  6.M22: need 10 faithful irreducibles[128X[104X
    [4X[28X#I  6.M22: 1 found by tensoring[128X[104X
    [4X[28X#I  6.M22: 9 found by LLL[128X[104X
    [4X[28X#I  12.M22: need 7 faithful irreducibles[128X[104X
    [4X[28X#I  12.M22: 7 found by LLL[128X[104X
    [4X[28X#I  6_1.U4(3): need 15 faithful irreducibles[128X[104X
    [4X[28X#I  6_1.U4(3): 1 found by tensoring[128X[104X
    [4X[28X#I  6_1.U4(3): 14 found by LLL[128X[104X
    [4X[28X#I  6_2.U4(3): need 12 faithful irreducibles[128X[104X
    [4X[28X#I  6_2.U4(3): 12 found by LLL[128X[104X
    [4X[28X#I  12_1.U4(3): need 12 faithful irreducibles[128X[104X
    [4X[28X#I  12_1.U4(3): 4 found by tensoring[128X[104X
    [4X[28X#I  12_1.U4(3): 8 found by tensoring[128X[104X
    [4X[28X#I  12_2.U4(3): need 9 faithful irreducibles[128X[104X
    [4X[28X#I  12_2.U4(3): 9 found by LLL[128X[104X
    [4X[28X#I  6.O7(3): need 12 faithful irreducibles[128X[104X
    [4X[28X#I  6.O7(3): 2 found by tensoring[128X[104X
    [4X[28X#I  6.O7(3): 10 found by LLL[128X[104X
    [4X[28X#I  6.U6(2): need 28 faithful irreducibles[128X[104X
    [4X[28X#I  6.U6(2): 2 found by tensoring[128X[104X
    [4X[28X#I  6.U6(2): 26 found by LLL[128X[104X
    [4X[28X#I  6.Suz: need 29 faithful irreducibles[128X[104X
    [4X[28X#I  6.Suz: 29 found by LLL[128X[104X
    [4X[28X#I  6.Fi22: need 34 faithful irreducibles[128X[104X
    [4X[28X#I  6.Fi22: 4 found by tensoring[128X[104X
    [4X[28X#I  6.Fi22: 30 found by LLL[128X[104X
    [4X[28X#I  6.2E6(2): need 60 faithful irreducibles[128X[104X
    [4X[28X#I  6.2E6(2): 60 found by LLL[128X[104X
    [4X[25Xgap>[125X [27XSetInfoLevel( InfoCharacterTable, 0 );[127X[104X
  [4X[32X[104X
  
  [33X[0;0YWe  see  that in all cases, the irreducible characters of the groups [22XM.G[122X are
  obtained by reducing tensor products and applying the LLL algorithm.[133X
  
  
  [1X3.2-2 [33X[0;0YCentral Extensions of Other [5XAtlas[105X[101X[1X Groups[133X[101X
  
  [33X[0;0YThe following cases also fit to the pattern introduced above.[133X
  
  [33X[0;0Y(The following examples were added in October 2006.)[133X
  
  [33X[0;0YThe  group  [22X(2^2  × 3).L_3(4)[122X can be viewed as a common central extension of
  its factor group [22X2.L_3(4)[122X by the two groups [22X2^2.L_3(4)[122X and [22X6.L_3(4)[122X.[133X
  
  [33X[0;0YAnalogously,  the  group  [22X(4^2 × 3).L_3(4)[122X can be viewed as a common central
  extension  of  its  factor group [22X(2 × 4).L_3(4)[122X by the two groups [22X4^2.L_3(4)[122X
  and [22X(2 × 12).L_3(4)[122X.[133X
  
  [33X[0;0YFinally,  the  group  [22X(2  ×  12).L_3(4)[122X  can  be  viewed as a common central
  extension  of  the  factor group [22X2^2.L_3(4)[122X by the two groups [22X(2 × 4).L_3(4)[122X
  and [22X(2^2 × 3).L_3(4)[122X.[133X
  
  [33X[0;0YThe  construction  of  the  character  tables  of the involved factor groups
  [22X2^2.L_3(4)[122X and [22X(2 × 4).L_3(4)[122X, as well as an alternative construction of the
  table of [22X(2 × 12).L_3(4)[122X can be found in the sections [14X2.7-2[114X and [14X2.7-4[114X.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27Xlist2:= [[127X[104X
    [4X[25X>[125X [27X    [ "2.L3(4)",     "2^2.L3(4)",   "6.L3(4)",       "(2^2x3).L3(4)" ],[127X[104X
    [4X[25X>[125X [27X    [ "2^2.L3(4)",   "(2x4).L3(4)", "(2^2x3).L3(4)", "(2x12).L3(4)"  ],[127X[104X
    [4X[25X>[125X [27X    [ "(2x4).L3(4)", "4^2.L3(4)",   "(2x12).L3(4)",  "(4^2x3).L3(4)" ],[127X[104X
    [4X[25X>[125X [27X  ];;[127X[104X
  [4X[32X[104X
  
  [33X[0;0Y(The following examples were added in December 2010.)[133X
  
  [33X[0;0YThe  group  [22X(3^2  × 2).U_4(3)[122X can be viewed as a common central extension of
  its  factor group [22X3_1.U_4(3)[122X by the two groups [22X6_1.U_4(3)[122X and [22X3^2.U_4(3)[122X, or
  as  a  common  central  extension  of its factor group [22X3_2.U_4(3)[122X by the two
  groups [22X6_2.U_4(3)[122X and [22X3^2.U_4(3)[122X.[133X
  
  [33X[0;0YAnalogously,  the  group  [22X(3^2 × 4).U_4(3)[122X can be viewed as a common central
  extension  of  its factor group [22X6_1.U_4(3)[122X by the two groups [22X12_1.U_4(3)[122X and
  [22X(3^2  ×  2).U_4(3)[122X,  or  as  a  common central extension of its factor group
  [22X6_2.U_4(3)[122X by the two groups [22X12_2.U_4(3)[122X and [22X(3^2 × 2).U_4(3)[122X.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XAppend( list2, [[127X[104X
    [4X[25X>[125X [27X    [ "3_1.U4(3)",   "6_1.U4(3)",   "3^2.U4(3)",     "(3^2x2).U4(3)" ],[127X[104X
    [4X[25X>[125X [27X    [ "3_2.U4(3)",   "6_2.U4(3)",   "3^2.U4(3)",     "(3^2x2).U4(3)" ],[127X[104X
    [4X[25X>[125X [27X    [ "6_1.U4(3)",   "12_1.U4(3)",  "(3^2x2).U4(3)", "(3^2x4).U4(3)" ],[127X[104X
    [4X[25X>[125X [27X    [ "6_2.U4(3)",   "12_2.U4(3)",  "(3^2x2).U4(3)", "(3^2x4).U4(3)" ],[127X[104X
    [4X[25X>[125X [27X  ] );[127X[104X
    [4X[25Xgap>[125X [27XSetInfoLevel( InfoCharacterTable, 1 );[127X[104X
    [4X[25Xgap>[125X [27Xfor entry in list2 do[127X[104X
    [4X[25X>[125X [27X  id    := entry[4];[127X[104X
    [4X[25X>[125X [27X  tblG  := CharacterTable( entry[1] );[127X[104X
    [4X[25X>[125X [27X  tblmG := CharacterTable( entry[2] );[127X[104X
    [4X[25X>[125X [27X  tblnG := CharacterTable( entry[3] );[127X[104X
    [4X[25X>[125X [27X  lib   := CharacterTable( id );[127X[104X
    [4X[25X>[125X [27X  res:= CharacterTableOfCommonCentralExtension([127X[104X
    [4X[25X>[125X [27X            tblG, tblmG, tblnG, id );[127X[104X
    [4X[25X>[125X [27X  if not res.IsComplete then[127X[104X
    [4X[25X>[125X [27X    Print( "#E  not complete: ", id, "\n" );[127X[104X
    [4X[25X>[125X [27X  fi;[127X[104X
    [4X[25X>[125X [27X  if TransformingPermutationsCharacterTables( res.tblmnG, lib )[127X[104X
    [4X[25X>[125X [27X         = fail then[127X[104X
    [4X[25X>[125X [27X    Print( "#E  inconsistent: ", id, "\n" );[127X[104X
    [4X[25X>[125X [27X  fi;[127X[104X
    [4X[25X>[125X [27Xod;[127X[104X
    [4X[28X#I  (2^2x3).L3(4): need 14 faithful irreducibles[128X[104X
    [4X[28X#I  (2^2x3).L3(4): 14 found by tensoring[128X[104X
    [4X[28X#I  (2x12).L3(4): need 11 faithful irreducibles[128X[104X
    [4X[28X#I  (2x12).L3(4): 7 found by tensoring[128X[104X
    [4X[28X#I  (2x12).L3(4): 4 found by LLL[128X[104X
    [4X[28X#I  (4^2x3).L3(4): need 22 faithful irreducibles[128X[104X
    [4X[28X#I  (4^2x3).L3(4): 14 found by tensoring[128X[104X
    [4X[28X#I  (4^2x3).L3(4): 8 found by LLL[128X[104X
    [4X[28X#I  (3^2x2).U4(3): need 39 faithful irreducibles[128X[104X
    [4X[28X#I  (3^2x2).U4(3): 27 found by tensoring[128X[104X
    [4X[28X#I  (3^2x2).U4(3): 12 found by LLL[128X[104X
    [4X[28X#I  (3^2x2).U4(3): need 42 faithful irreducibles[128X[104X
    [4X[28X#I  (3^2x2).U4(3): 2 found by tensoring[128X[104X
    [4X[28X#I  (3^2x2).U4(3): 40 found by LLL[128X[104X
    [4X[28X#I  (3^2x4).U4(3): need 30 faithful irreducibles[128X[104X
    [4X[28X#I  (3^2x4).U4(3): 6 found by tensoring[128X[104X
    [4X[28X#I  (3^2x4).U4(3): 8 found by tensoring[128X[104X
    [4X[28X#I  (3^2x4).U4(3): 16 found by LLL[128X[104X
    [4X[28X#I  (3^2x4).U4(3): need 33 faithful irreducibles[128X[104X
    [4X[28X#I  (3^2x4).U4(3): 9 found by tensoring[128X[104X
    [4X[28X#I  (3^2x4).U4(3): 18 found by tensoring[128X[104X
    [4X[28X#I  (3^2x4).U4(3): 6 found by further tensoring[128X[104X
    [4X[25Xgap>[125X [27XSetInfoLevel( InfoCharacterTable, 0 );[127X[104X
  [4X[32X[104X
  
  
  [1X3.2-3 [33X[0;0YCompatible Central Extensions of Maximal Subgroups[133X[101X
  
  [33X[0;0YThe [5XGAP[105X Character Table Library contains the character tables of all maximal
  subgroups  of the groups [22X4.M_22[122X, [22X3.M_22[122X, [22X2.Suz[122X, and [22X3.Suz[122X. So we can use the
  approach  from Section [14X3.1[114X for computing the character tables of the maximal
  subgroups of [22X6.M_22[122X, [22X12.M_22[122X, and [22X6.Suz[122X.[133X
  
  [33X[0;0YThese  tables  are  contained in the [5XGAP[105X Character Table Library. Several of
  the  groups  are  direct products, and the library tables of direct products
  are  usually  stored  in the form of Kronecker products of the tables of the
  factors,  so  the  class  ordering of the result tables does not necessarily
  coincide with the class ordering in the library tables.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27Xsublist:= list{ [ 6, 7, 14 ] };[127X[104X
    [4X[28X[ [ "M22", "2.M22", "3.M22", "6.M22" ], [128X[104X
    [4X[28X  [ "2.M22", "4.M22", "6.M22", "12.M22" ], [128X[104X
    [4X[28X  [ "Suz", "2.Suz", "3.Suz", "6.Suz" ] ][128X[104X
    [4X[25Xgap>[125X [27Xfor entry in sublist do[127X[104X
    [4X[25X>[125X [27X  tblG  := CharacterTable( entry[1] );[127X[104X
    [4X[25X>[125X [27X  tblmG := CharacterTable( entry[2] );[127X[104X
    [4X[25X>[125X [27X  tblnG := CharacterTable( entry[3] );[127X[104X
    [4X[25X>[125X [27X  lib   := CharacterTable( entry[4] );[127X[104X
    [4X[25X>[125X [27X[127X[104X
    [4X[25X>[125X [27X  maxesG   := List( Maxes( tblG ), CharacterTable );[127X[104X
    [4X[25X>[125X [27X  maxesmG  := List( Maxes( tblmG ), CharacterTable );[127X[104X
    [4X[25X>[125X [27X  maxesnG  := List( Maxes( tblnG ), CharacterTable );[127X[104X
    [4X[25X>[125X [27X  maxeslib := List( Maxes( lib ), CharacterTable );[127X[104X
    [4X[25X>[125X [27X[127X[104X
    [4X[25X>[125X [27X  for i in [ 1 .. Length( maxesG ) ] do[127X[104X
    [4X[25X>[125X [27X    id:= Identifier( maxeslib[i] );[127X[104X
    [4X[25X>[125X [27X    res:= CharacterTableOfCommonCentralExtension( maxesG[i],[127X[104X
    [4X[25X>[125X [27X              maxesmG[i], maxesnG[i], id );[127X[104X
    [4X[25X>[125X [27X    if not res.IsComplete then[127X[104X
    [4X[25X>[125X [27X      Print( "#E  not complete: ", id, "\n" );[127X[104X
    [4X[25X>[125X [27X    fi;[127X[104X
    [4X[25X>[125X [27X    if not IsSubset( Irr( maxeslib[i] ), res.irreducibles ) then[127X[104X
    [4X[25X>[125X [27X      trans:= TransformingPermutationsCharacterTables( maxeslib[i],[127X[104X
    [4X[25X>[125X [27X                                                       res.tblmnG );[127X[104X
    [4X[25X>[125X [27X      if not IsRecord( trans ) then[127X[104X
    [4X[25X>[125X [27X        Print( "#E  not transformable: ", id, "\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[25X>[125X [27Xod;[127X[104X
  [4X[32X[104X
  
  [33X[0;0YSince  we get no output, all tables in question can be computed with the [5XGAP[105X
  functions,  and  coincide  (up to permutations of rows and columns) with the
  library tables.[133X
  
  
  [1X3.2-4 [33X[0;0YThe [10X2B[110X[101X[1X Centralizer in [22X3.Fi_24'[122X[101X[1X (January 2004)[133X[101X
  
  [33X[0;0YAs  is  stated  in [CCN+85,  p. 207], the [10X2B[110X centralizer [22XN_0[122X in the sporadic
  simple  Fischer  group  [22XFi_24'[122X has the structure [22X2^{1+12}_+.3U_4(3).2_2[122X. The
  character table of [22XN_0[122X is contained in the [5XGAP[105X Character Table Library since
  the year [22X2000[122X.[133X
  
  [33X[0;0YOur  aim  is  to compute the character table of the preimage [22XN[122X of [22XN_0[122X in the
  central extension [22X3.Fi_24'[122X of [22XFi_24'[122X; let [22XZ_1[122X denote the centre of [22X3.Fi_24'[122X.[133X
  
  [33X[0;0YUsing  the  [21Xdihedral group method[121X in the faithful permutation representation
  of  degree [22X920808[122X for [22X3.Fi_24'[122X, we first compute a generating set of [22XN[122X. This
  group  has three orbits of the lengths [22X774144[122X, [22X145152[122X, and [22X1512[122X; the actions
  on  the first two orbits are faithful, and the action on the orbit of length
  [22X1512[122X (which consists of the fixed points of the central involution of [22XN[122X) has
  kernel exactly the central subgroup [22XZ_2[122X, say, of order [22X2[122X in [22XN[122X.[133X
  
  [33X[0;0YSince  the  permutation  representation  on  [22X1512[122X  points is so small, it is
  straightforward   to   compute  the  character  table  of  [22XN/Z_2[122X  using  the
  implementation  of  Dixon's  algorithm in [5XGAP[105X; now this table is part of the
  [5XGAP[105X Character Table Library.[133X
  
  [33X[0;0YNote that [22XN[122X is a central extension of [22XN_0/Z(N_0)[122X by the cyclic group [22XZ = Z_1
  Z_2[122X  of  order  [22X6[122X, and that we know the character tables of the groups [22XN/Z_1[122X
  and [22XN/Z_2[122X. So we can apply the method described in Section [14X3.1[114X for computing
  the character table of [22XN[122X.[133X
  
  [33X[0;0YFirst we fetch the input data.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XtblmG := CharacterTable( "F3+N2B" );;[127X[104X
    [4X[25Xgap>[125X [27XtblG  := tblmG / ClassPositionsOfCentre( tblmG );;[127X[104X
    [4X[25Xgap>[125X [27XtblnG := CharacterTable( "2^12.3^2.U4(3).2_2'" );;[127X[104X
  [4X[32X[104X
  
  [33X[0;0YThe  character tables of the library table of [22XN_0[122X and the character table of
  [22XN/Z_2[122X  obtained  from  the permutation group are not compatible in the sense
  that  the  tables  of  the  factor  groups modulo the centres are not sorted
  compatibly, so we have to compute and store the fusion from [10XtblnG[110X to [10XtblG[110X.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27Xf2:= tblnG / ClassPositionsOfCentre( tblnG );;[127X[104X
    [4X[25Xgap>[125X [27Xtrans:= TransformingPermutationsCharacterTables( f2, tblG );;[127X[104X
    [4X[25Xgap>[125X [27XtblnGfustblG:= OnTuples( GetFusionMap( tblnG, f2 ),[127X[104X
    [4X[25X>[125X [27X                            trans.columns );;[127X[104X
    [4X[25Xgap>[125X [27XStoreFusion( tblnG, tblnGfustblG, tblG );[127X[104X
    [4X[25Xgap>[125X [27XIsSubset( Irr( tblnG ),[127X[104X
    [4X[25X>[125X [27X             List( Irr( tblG ), x -> x{ tblnGfustblG } ) );[127X[104X
    [4X[28Xtrue[128X[104X
  [4X[32X[104X
  
  [33X[0;0YNow     we     apply     [2XCharacterTableOfCommonCentralExtension[102X    ([14XCTblLib:
  CharacterTableOfCommonCentralExtension[114X).[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XSetInfoLevel( InfoCharacterTable, 1 );[127X[104X
    [4X[25Xgap>[125X [27Xid:= "3.2^(1+12).3U4(3).2";;[127X[104X
    [4X[25Xgap>[125X [27Xres:= CharacterTableOfCommonCentralExtension([127X[104X
    [4X[25X>[125X [27X             tblG, tblmG, tblnG, id );;[127X[104X
    [4X[28X#I  3.2^(1+12).3U4(3).2: need 36 faithful irreducibles[128X[104X
    [4X[28X#I  3.2^(1+12).3U4(3).2: 16 found by tensoring[128X[104X
    [4X[28X#I  3.2^(1+12).3U4(3).2: 20 found by LLL[128X[104X
    [4X[25Xgap>[125X [27XSetInfoLevel( InfoCharacterTable, 0 );[127X[104X
  [4X[32X[104X
  
  [33X[0;0YSo  we  have  found  all missing irreducibles of [22XN[122X. Let us check whether the
  result table coincides with the table in the [5XGAP[105X Character Table Library.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27Xlib:= CharacterTable( "3.F3+N2B" );;[127X[104X
    [4X[25Xgap>[125X [27XIsRecord( TransformingPermutationsCharacterTables([127X[104X
    [4X[25X>[125X [27X                 res.tblmnG, lib ) );[127X[104X
    [4X[28Xtrue[128X[104X
  [4X[32X[104X
  
  [33X[0;0YWe were interested in the character table because [22XN[122X is a maximal subgroup of
  [22X3.Fi_24'[122X. So the class fusion into the table of this group is an interesting
  information.  We  assume  that the class fusion of [22XN_0[122X into [22XFi_24'[122X is known,
  and  compute only those possible class fusions that are compatible with this
  map.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27X3f3p:= CharacterTable( "3.F3+" );;[127X[104X
    [4X[25Xgap>[125X [27Xf3p:= CharacterTable( "F3+" );;[127X[104X
    [4X[25Xgap>[125X [27Xapproxfus:= CompositionMaps([127X[104X
    [4X[25X>[125X [27X                   InverseMap( GetFusionMap( 3f3p, f3p ) ),[127X[104X
    [4X[25X>[125X [27X                   CompositionMaps( GetFusionMap( tblmG, f3p ),[127X[104X
    [4X[25X>[125X [27X                       GetFusionMap( lib, tblmG ) ) );;[127X[104X
    [4X[25Xgap>[125X [27Xposs:= PossibleClassFusions( lib, 3f3p,[127X[104X
    [4X[25X>[125X [27X              rec( fusionmap:= approxfus ) );;[127X[104X
    [4X[25Xgap>[125X [27XLength( poss );[127X[104X
    [4X[28X1[128X[104X
  [4X[32X[104X
  
  [33X[0;0YIt  turns out that only one map has this property. (Without the condition on
  the compatibility, we would have got [22X128[122X possibilities, which form one orbit
  under table automorphisms.)[133X
  
