Eine aufbereitete Darstellung der Quelle

 
     
 
 
Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 

Benutzer

Impressum ctblm.htm   Interaktion und
PortierbarkeitHTML

 

 products/Sources/formale Sprachen/GAP/pkg/ctbllib/htm/ctblm.htm


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
        "http://www.w3and that 〈U, a 〉 has the structure 2<sup>2+22</sup>.<span class="roman">McL</span>.
<html>
<meta name="GENERATOR" content="TtH 3.59">
 <style type="text/css"> div.p { margin-top: 7pt;}</style>
 <style type="text/css"><!--
 td div.comp { margin-top: -0.6ex; margin-bottom: -1ex;}
  . {margin-top -.ex;margin-ottom:-6ex;java.lang.StringIndexOutOfBoundsException: Index 57 out of bounds for length 57
 td div.hrcomp { line-height: 0.9; margin-top: -0.8ex;and then to inflatethis  2<size=+><java.lang.StringIndexOutOfBoundsException: Range [65, 63) out of bounds for length 65
 td div.norm {line-height:normal;}
 span.roman {font-family: serif; font-style: normal;      2(22.Co2 )
 span.overacc2 {position: relative;  left: 
 span.overacc1 {position: relative;  left: .6em; top: -1.2ex;} -->
<>
 

             <title>Some steps in the verification of the ordinary character table of the Monster group</title>
<h1 align="center"sing that wecan speed up these computations by prescribing
  <body bgcolor="FFFFFF"> 

<div class="p"><!----></div>

<h3 align="center"> T<font size="-2">HOMASthe permutation  inducedfrom theclosureofU with

<div class="p"><!----></div>normal subgroup&#001a #9002  2< size"0></font>

<h3 align="center">December 12th, 2024 </h3>

<div class="p"><!----></div>


<div class="p"><!----></div>
We show the details of certain computations that are used in [<a href="#Mverify" name="CITEMverify">BMW24</a>].

<div class="p"><!----></div>



<div class="p"><!----></div>

<h1>Contents </h1><a href="#tth_sEc1"
>1  Overview</a><br /><a href="#tth_sEc2"
>2  Some restrictions of the natural java.lang.StringIndexOutOfBoundsException: Index 46 out of bounds for length 28
>3 
>4  The conjugacy classes of <font size="+0">M</font></a><br /> java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
>4.1  Our strategy to describe the conjugacy classes of <font size="+0">M</font></a><br />    <a href="#tth_sEc4.2"
>4. Utility functions</>br>&bsp&bsp; nbsp<a ="tth_sEc4.3"
>4.3  Classes of elements of even order</a><br />    <a href="#tth_sEc4.4"
>4.4  Classes of elements of order    &62;                             normalsubgroup: centrejava.lang.StringIndexOutOfBoundsException: Index 62 out of bounds for length 62
>4.5  Classes of elements of order divisible by 5</a&62 ( ;
>.&bsp Classes elements   by11<a<r/&bsp&bsp;nbsp&bsp;ahref=#tth_sEc4"
>4.7  Classes of elements of the orders 17, 19, 23, 31, 47</a><br />    <a href="#tth_sEc4.8"
>.&bsp  of  of order13<a><br/>nbsp;nbsp; &bsp< href#th_sEc4."
>4.9  Classes of elements of order divisible by 29</a><br />    <a href="#tth_sEc4.10"
>4.10  Classes of elements of order divisible by 41</a><br />    <a href="#tth_sEc4.11"
>4.11  Classes of elements of order divisible by 59</a><br />    <a href="#tth_sEc4.12"
>4.12  Classes of elements of order divisible by 71</a><br />    <a href="#tth_sEc4.13"
>413  Classes of elements of order divisible by 7</a><br /><a href="#tth_sEc5"
>5  The power maps of <font size="+0">M</font></a><br /><a href="#tth_sEc6"
>6  The degree 196 883       0, 0, 0, 0, 3, 0, 1, 0, 0, 50,5,2 ,0 ,0 ,4,1, ,2 
>7  The irreducible characters of <font size="+0">M</font></a><br /><a href="#tth_sEc8"
>8  Appendix: The character table of 2<sup>1+24</sup><sub>+</sub>.<span class="roman">Co</span><sub>1</sub></a><br /><a href="#tth_sEc9"
>9  Appendix: The character table of 3<sup>1+12</sup><sub>+</sub>:6.<span class="roman">Suz</span>.2</a><br />    <a href="#tth_sEc9.1"
>9.1  Overview</a><br />    <a href="#tth_sEc9.2"
>9.2  A permutation representation of H / X</a><br />    <a href="#tth_sEc9.3"
>9.3  A permutation representation of H</a><br />   &      ,0,3 0 ,3, 3,1,0,3,0,4 0,1 0,0, 2 0,0 ,0 ,java.lang.StringIndexOutOfBoundsException: Index 72 out of bounds for length 72
>9.4  Compute the character table of H</a><br /><a href="#tth_sEc10"
>10  Appendix: The character table of 5<sup>1+6</sup><sub>+</sub>.4.<span class="roman">J</span><sub>2</sub>.2</a><br />

<div class="p"><!----></div>

<div class="p"><!----></div>

 <h2><a name="tth_sEc1">
1</a>  Overview</h2>

<div class="p"><!----></div>
The aim of [<a href="#Mverify" name="CITEMverify">BMW24</a>] is to verify the ordinary character table
of the Monster group <font size="+0">M</font>.
ere we collect,
in the form of an explicit and reproducible
<font face="helvetica">GAP</font> [<a href="#GAP" name="CITEGAP">GAP24</a>] session protocol,
the relevant computations that are needed in that paper.

<div class="p"><!----></div>
We proceed as follows.

<div class=""<!--</div
Section <a href="#natural">2</a> verifies the decomposition of the restrictions of the
ordinary irreducible character of degree 196 883 of <font size="+0">M</font>
to the subgroups 2.<font size="+0">B</font> and 3.<span class="roman">Fi</span><sub>24</sub><sup
as stated in [<a href="#Mverify" name="CITEMverify">Next we consider U = 2.<span class="roman">F</span><sub>4</sub

<div class="p"><!----></div>
Section <a href="#suborbits">3</a> verifies the decompositions of
the transitive constituents of the permutation character
of the action of C<sub><font size="+0">M</font></sub>(a)  &#8773; 2.<font size="+0">B</font> on the conjugacy class a<sup
where a is a <tt>2A</tt> java.lang.StringIndexOutOfBoundsException: Index 34 out of bounds for length 0

<div class="p"><!----></div>
Sections <a href=    gap#62 tableU: CharacterTable( "2.F4(2)" );;
character table head of <font size="+0">M</font>, gap&62;fus=PossibleClassFusions(tableUtable2B;java.lang.StringIndexOutOfBoundsException: Index 60 out of bounds for length 60
the lists of conjugacy class lengths, element orders, and power maps.

<div class="p"><!----></div>
Section <a href="#sect:natcharM">6</a> constructs the values of the irreducible
degree 196 883 character of <font size="+0">M</font>
and decides the isomorphism type of the <java.lang.StringIndexOutOfBoundsException: Range [4, 43) out of bounds for length 26

<div class="p"><!----></div>
With this information and with the (already verified) character tables
of the subgroups 2.< size="0>font> 2<>+</up<sub+/sub>.span "><>/> 3<java.lang.StringIndexOutOfBoundsException: Range [125, 124) out of bounds for length 166
3<sup>1+12</sup><sub>+</sub>.2.<span class="roman">Suz</java.lang.StringIndexOutOfBoundsException: Range [4, 1) out of bounds for length 26
computing the irreducible characters of <font size="+0">M</font> is then easy;
this corresponds to [<a href="#Mverify" name="CITEMverify">BMW24</a>,Section 5]
and is done in Section <a href="#sect:irreduciblesM">7</a>.

<div class="p"><!----></div>
The final sections <a href=#table_c2b">8<a>java.lang.StringIndexOutOfBoundsException: Index 56 out of bounds for length 56
<a href="#sect:norm3B">9</a>, <a href="#sect:table_N5B">10</a> document the constructions of three
charactertables of< =+"M</java.lang.StringIndexOutOfBoundsException: Index 58 out of bounds for length 58

<div class="p">0, 6, 0, 3, 2, 0, 0, 1, 4, 1, 4, 2, 6, 1, 4, 0, 4, 0, 1, 1, 2, 0, <div class="p"><!---->/>
We will use the <font face="helvetica">GAP</font> Character Table Library
and the interface to the  A<font size="-2">TLAS</font> of Group Representations [<a href="#AGRv3" name="CITEAGRv3">WWT<sup>+</sup></a>],
thus we load these <font face=,2   ,3,0 ,1 0 , ,1 ,1 , 1,1 ,3  

<div class="p"><!----></div>

<pre>
    gap&#62; LoadPackage( "ctbllib", false );
    true
    ap#62;( atlasrep, )
    true

</pre>

<div class="p"><!----></div>
The <font face="helvetica" 1 ,,0, ,,,1,1 ,2 ,0,,,23,3 ,1 , 
for computing some character tables
and for many conjugacy tests.
If the following command returns <tt>false</tt>
then these steps will not work.

<div class="p"><!----></div>

<pre>
    gap#62;CTblLib.IsMagmaAvailable;
    true

</pre>

<div class="p"><!----></div>
We set the line       5, 0, 1, 1, 2, 2 4,4,0,0, 1 1,1 ,0,4 1, 1,5 7,3 

<div class="p"><!----></div>

<pre>
    gap&#;SizeScreen( [72  ;

</pre>

<div class="p"><!----></div>

 <h2><div class=p"<!----></div>
2</a>  Some restrictions of the natural character of <font size="+0">    = ="<>.
</a>

<div class="p"><!----></div>
We assume the existence of an ordinary irreducible character java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
of degree 196 883 of the Monster
and that <font size="+0">Mgap&62 :=CharacterTable"HN");

<div class="p"><!----></div>
First of &#967; to2.font ="+0></ont>

<div class="p"><!----></div>
java.lang.StringIndexOutOfBoundsException: Range [4, 3) out of bounds for length 89
that has at most two different values on involutions is
1a  java.lang.StringIndexOutOfBoundsException: Range [50, 48) out of bounds for length 66
This    & (pi;

<div class="p"><!----></div>

<pre>& =pi1;
    gap&#62; table2B:= CharacterTable( "2.B" );;#   java.lang.StringIndexOutOfBoundsException: Range [32, 31) out of bounds for length 83
    [, ,,, ,0 , ,,1 ,,4 2,1, 1 ,3,,, ,, 
    gap&#62; List( cand, x -&#62; x[1] );
    [ 1, 4371, 96255, 96256 ]
    gap&#62; inv:= Positions( OrdersClassRepresentatives( table2B ), 2 );
    [ 2, 3, 4, 5, 7 ]
    gap&#62; PrintArray( List( cand, x -&#      ,3, 0,0 ,4,,6,1,7,4,7,,0 3,,2,6,11,2 ,,java.lang.StringIndexOutOfBoundsException: Index 73 out of bounds for length 73
    [ [       1,       1,       1,       1,       1,       1 ],
      [    4371,    4371,    -493,     275,     275,      19 ],
      [   96255,   96255,    4863,    2047,    2047,     255 ],
      [   96256,  -96256,       0,    2048,   -2048,       0 ] ]

/pre

<div class="p"><!----></div>
Note that 96256a must occur as a constituent
because it is the only faithful candidate,
and it can occur only once because otherwise only 4371a + 2 &#183;96256a
or 4371 &#183;1a + 2 &#183;96256a would be possible decompositions,
which have more      4, 17 16 8,,17,11, 12, 23, 8, 24 18,26, 21,, 10 ,31, 
font>/sub on the  4 and 5 differby .

<div class="p"><!----></div>
If 96255a would <b>not</b> occur then the values of &#967;<sub>2.<font size="+0">B</font></sub>
 java.lang.StringIndexOutOfBoundsException: Range [15, 14) out of bounds for length 74
but 65659 &#183;1a + 8 &#183;4371a + 96256a is not a solution.
Thus 96255a must occur exactly once.

<div class="p"><!----></div>
mof 96255 and 96256a hasfourdifferent values
on involutions, hence also 4371a must occur.

<div class="p"><!----></div>
We see that the values of &#967; on the classes of involutions are
4371 and 275, respectively.

<div class="p"><!----></div>

<pre>
    gap&#62; Sum( cand ){ inv };
     ,4371, 4371,275  ]

</pre>

<div class="p"><!----></div>
The restriction of &#967; to 3.<span class="roman 0 4,6,10, 10, 12 ,12, 0,0,2,4,16,10, 0 0,2,,12 10,0, 
as follows.

<div class="p"><!----></div>
Exactly seven irreducible characters of 3.<span class="roman">Fi</span><sub>24</sub><sup>&#yle='color: green'>8242;</sup> can occur as
constituents of the restriction of &#967;.

<div class="p"><!----></div>

<pre>
    gap&#62; table3Fi24prime:= CharacterTable( "3.Fi24'" );;
    gap&#62; cand:= Filtered( Irr( table3Fi24prime ), x -&#='color: green'>62; x[1] <= 196883 );;
      8,36, 14 14,16, 8, 8 46,, 28,28,58, 90 72 70,92 104, 56,java.lang.StringIndexOutOfBoundsException: Index 72 out of bounds for length 72
    [ 4, 7
    gap&#62; mat:= List( cand, x -&#62; x{<div class="">!---<div>
    Finally,we consider U 2.spanclass=roman"Fi</><>22</sub>.
    [ [      1,      1,      1 ],
      ,    -33 ],
      [  57477,   1157,    133 ],
      [    783,     79,     15 ],
      [    783,     79,     15 ],
      [  64584,   1352,     72 ],
      [  64584,   1352,     72 ] ]

</java.lang.StringIndexOutOfBoundsException: Index 6 out of bounds for length 6

< classp"<---></div>
Since &#967; is rational, we need to consider only rationally java.lang.StringIndexOutOfBoundsException: Range [0, 73) out of bounds for length 48
characters, that is, the possible constituents are 1a, 8671a, 57377a,
783aband 64584ab.

<div class="p"><!----></div>

<pre>
    gap&hence wecan which character is correct.
    [ 1, 8671, 57477, 783*E(3), 783*E(3)^2, 64584*E(3), 64584*E(3)^2 ]

</pre>

<div class="p"><!----></div>
We see that the value on the first class java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 0
sincepre>
and too large for the other possible value 275.

<div class="p"><!----></div>
Since the values of all possible     gap&62;fus= PossibleClassFusions(tableU,table2B );
involutions are at most equal to the values on the first class,
and equal#;pi:Set(fus,map&62 ( tableU,
we conclude that the value on the second class of involutions is 275.

<div class="p"><!----></div>
We see fromgap&#62 Length( pi)java.lang.StringIndexOutOfBoundsException: Index 26 out of bounds for length 26
and on the first class of involutions
that constituents of degree 57477 or 2 &#183;64584 exist.

<div class="p"><!----></div>

<pre>
    gap&#62; Float( 196883 / 4371 );
    45.043
    gap&#62; List( mat, v -&#62; Float( v[1] / v[2] ) );
    [ 1., 24.7037, 49.6776, 9.91139, 9.91139, 47.7692, 47.7692 ]
    352 ) )java.lang.StringIndexOutOfBoundsException: Index 67 out of bounds for length 67
    40.6209
    gap&#2; Float (196883- 57477  )/ (4371-1157 ))
    43.3746
    gap&#62; Float( ( 196883 - 2*57477, 10,11,0 0 5,11,2 14,19,
    39.8294
    gap&#62; Float( ( 196883 - 3*57477 ) / ( 4371 - 3*1157 ) );
    27.1689

</pre>

<div class="p"><!----></div>
First suppose that 64584ab is not a constituent.
The above ratios imply that (at least) three constituents of degree 57477
must occur.

<div      22,18 ,3,1910 , 12,15,28 ,34 ,,26
However, then the degree admits at most two constituents of degree 8671,
hence the value on the second class of involutions cannot be 275,
acontradiction.

<div class="p"><!----></div>
This means that both 64584ab and 57477a occur with multiplicity one.

<div class="p"><!----></div>

<pre>
    gap&#62; mat[3] + mat[6] + mat[7];
    [ 86645,3861 77 ]

</pre>

<div class="p"><!----></div>
The second involution class, ,50 ,72,68,58,54 50, 44 64 75,58,69 
(which is the only candidate that can contribute a negative value),
and then a character of degree 1567 remains to be decomposed.
stituents is 1 + 1566.
We get the decomposition
1a + 8671a + 57477a + 783ab + 64584ab,
as claimed in [<a href="#Mverify" name="CITEMverify">BMW24</a>,Lemma 2].

<div class="p"><!----></div>

<pre>
    gap&#62; Sum( mat );
    [ 196883, 4371, 275 ]

</pre>

>!--<div>
The characters of the degrees 1, 8671, and 57477 extend two-fold
from3.spanclass=roman"Fi<span>sub>24<sub<sup&8242</up class="roman">Fi</span><sub>24</sub>.
In order to decompose the restriction of &#967; to 3.<span class="roman">Fi</span><sub>24</sub>,
we have to determine which extensions from 3.<span class="roman">Fi</span><sub>24</sub><sup>&#tyle='color: green'>8242;</sup> occur.
The following irreducible characters of 3.<span class=      ,60, 103 175 ,, 187 215 140 201 ]
constituents of the restriction of &#967;java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0

<div class="p"><!----></div>

<pre>
    gap&#62; table3Fi24:= CharacterTable( "3.Fi24" );;
    gap&#62; cand:= Filtered( Irr( table3Fi24 ), x -&#62; x[1] <= 196883 );;
    gap&#62; inv:= Positions( OrdersClassRepresentatives( table3Fi24 ), 2 );
    [ 3, 5, 172, 173 ]
    gap&#62; mat:= List( cand, x -&#62; x{ Concatenation([1],java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
    gap&#62; PrintArray( mat );
    [ [       1,       1,       1,       1,       1 ],
      [       1,       1,       1,      -1,      -1 ],
      [    8671,     351,     -33,    1495,     -41 ],
      [    8671,     351,     -33,   -1495,      41 ],
      [   57477,    1157,     133,    5865,     233 ],
      [   57477,    1157,     133,   -5865,    -233 ],
      [1566,    158,,
      [  129168,    2704,     144,       0,       0 ] ]

</pre>

<div class="p"><!----></div>
We get the decomposition
1a + 8671<

<div class="p"><!----></div>

<pre>
    gap&#62; Sum( mat{ [ 1, 4, 5, 7, 8 ] } );
    [ 196883, 4371, 275, 4371, 275 ]

<pre

<div class="p"><!----></div>

 <h2><a
3</ajava.lang.StringIndexOutOfBoundsException: Range [11, 10) out of bounds for length 28
</a>

<div class="p"><!----></div>
According to [<a href="#GMS89" name="CITEGMS89">GMS89</a>,Tables VII, IX]pre>
therestriction the permutation character<>2.<ont ="0>B/font<sub><sup>size=+"Mfont/  2<font "0></font>
decomposes into nine transitive permutation characters 1<sub>U</sub><sup>2.<font size="+0">B</java.lang.StringIndexOutOfBoundsException: Range [0, 98) out of bounds for length 58
with the point stabilizers U listed in Table <a href="#suborbitsTable">1</a>.

<div class="p"><!----></div>

<div class="p"><!----></div>
<a name="tth_tAb1">
</a center>Table 1: Suborbit information</enter>aname=suborbitsTable"
</a

<center>

<table>
<tr<>a  #8712     /dtd><sub,c/ub<td>td align="&124;<supG<sub>a<sub>/
<tr><td><tt>1A</tt> </td><td>2.<font size="+0">B</font>            </td><td align="right
< java.lang.StringIndexOutOfBoundsException: Range [17, 16) out of bounds for length 76
< </td><>2<>=></2/><td< ="> <>/>
<tr><td><tt>3A</tt> </td><td><span class="roman">Fi</span><sub>23</sub>        </td><td align="right">2031941058560000 </td></tr>
<tr><td><tt>3C</tt> </td><td><span class="roman">Th</span>             </td><td align="right">91569524834304000 <<div class=p><!----></div>
we  usethecharacter table  Nsub< =0"<java.lang.StringIndexOutOfBoundsException: Range [71, 64) out of bounds for length 89
>>/> <>. ="roman">F<span></sub>(2)       <td< alignr>1254793905192960000<td>/java.lang.StringIndexOutOfBoundsException: Index 134 out of bounds for length 134
<tr><td><tt>5A</tt> </td><td><span class="roman">HN</span>             </td><td align="right">30434513446055706624 </td></tr>
<<>6<tt>>. =></>><></d>td align""64353605265653760000 </td>/<table

</center>

<div class="p"><!----></div>
Here a denotes the central involution in 2.<font size="+0">Band     which  thesmallest
java.lang.StringIndexOutOfBoundsException: Range [26, 3) out of bounds for length 72
and c  &#8712; a<sup><font size="+0">M</font></sup> is a representative of

<div class="p"><!----></div>
In  section   the nine  1sub</sub<>2<size+"</font>/>
where U is one of the above point stabilizers G<sub>a,c</sub>.
Note a  &#8712 G<sub>>a,</sub>holds
(and thus the character is an inflated character of <font size="+0">B</font>)
if and only if a and c commute;
this happens exactly for the first three orbits.

<div class="p"><!----></div>
All subgroups U except 2<sup>2+22</sup>.<span and   arguments.
are  A<font size="-2">TLAS</font> groups whose character tables have been verifiedjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
The subgroup 2<sup>2+java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
2<sup>1+22</sup>.<span class="roman">Co</span><sub>2</sub> of <font size="+0">B</font> under the natural epimorphism from.</&bsp&Utilityfunctions/>a namefunctions">
  character <1</>< classr"<span><sub>2</sub>
has been described in [<a href="#BMverify" name="CITEBMverify">BMW20</a>].
  out    character of=></java.lang.StringIndexOutOfBoundsException: Index 108 out of bounds for length 108

<div class="p"><!----></div>
   will  stored thevariables
<tt>pi1</tt>, <tt>pi2</tt>, ..., <tt>pi9</tt>.

<div class="p"><!----></div>
For U = 2.<font size="+0">B</font>,
we have 1<sub>U</sub><sup>2.<font size="+0">B</font></sup> = 1<sub>2.<font size="+0">B</font></sub>.

<div class="p"><!----></div>

<pre>
    gap&#62; pi1:= TrivialCharacter( table2B );;

</pre>

<div class="p"><!----></div>
For U = 2<sup>2</sup>.<sup>2</sup><span class="roman">E</span><sub>6</sub>(2),
    list centralizerorders of the conjugacy classes
from <font size="+0">B</font> to 2.<font size="+0">B</font>,
for[#63717U = U / &9001a&9002;=  2.<sup><sup<spanclass="roman">E</span><sub>6</sub>(2).
(Note that the class fusion from [&#63717;U] to <font size="+0">B</font> is not uniquely
determined by the character tables of the two groups,
but the permutation character is unique.)

<divjava.lang.StringIndexOutOfBoundsException: Range [33, 4) out of bounds for length 33

<pre>
    gap&#62; tableB:= CharacterTable( "B" );;   
    gap&#62; tableUbar:= CharacterTable( "2.2E6(2)" );;
    gap&#62; fus:= PossibleClassFusions( tableUbar, tableB );;
    gap&#62; pi:= Set( fus,
    &#62;               -&#2; InducedClassFunctionsByFusionMap( tableUbar, tableB,
    &#62;                         [ TrivialCharacter( tableUbar ) ], map )[1] );;
    gap&#62; Length( pi );
    1
    gap&#62; pi2:= Inflated( tableB, table2B, pi )[1];;
    gap&#62; mult:    gap&#62; mult:= List( Irr( of known imagesjava.lang.StringIndexOutOfBoundsException: Index 47 out of bounds for length 47
    &#62;                 chi -&#62; ScalarProduct( table2B, chi, pi2 ) );;
    gap&62 (mult)
    1
    
    [ 1, 2, 3, 5, 7, 13, 15, 17 ]

</pre>

<div class="p"><!----></div>
java.lang.StringIndexOutOfBoundsException: Range [37, 3) out of bounds for length 67
the character 1<sub>U</sub><sup>2.<font size="+0">B</font></sup> is the inflation of 1<sub>[&#='color: green'>63717;U]</
from <font size
for [&#63717;U] = U / &#9001;a &#yle='color: green'>9002; =  2<
a maximal subgroup of <font size="+0">B</font>.

<div class="p"><!----></div>

<>
    gap&#62; tableUbar:= CharacterTable( "BN2B" );
    CharacterTable( "2^(1+22).Co2" )
    gap&#62; fus:= PossibleClassFusions( tableUbar, tableB );;
    gap&#62; pi:= java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
    &#62;              map     e>
    &#62;                         [ TrivialCharacter( tableUbar ) ], map )[1] );;
    gap;Length( pi ;
    1
    gap&#62; pi3:= Inflated
    gap&#62; mult:= List( Irr( table2B ),
    &#62;                 chi -&#62; ScalarProduct( table2B, chi, pi3 ) );;
    gap&#62; Maximum( mult );
    1
    gap&#62; Positions( mult, 1 );
    [ 1, 3, 5, 8, 13, 15, 28, 30, 37, 40 ]

</pre>

<div class="p"><!----></div>
Next we consider U = <span class="roman">Fi</span><subthoseclassesof<font size="  prime

<div class="p"><!----></div>

<pre>
    gap&#62<div class="p><!----></div>
    gap&#62; fus:=java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
    gap&#62; pi:= Set( fus,
    &#62;              map -&#62; InducedClassFunctionsByFusionMap&#62;; :=function ,s pos)
    &#62;                           i, ;
    gap&#62; Length( pi );
    1
    &#62;pi4: pi[1];java.lang.StringIndexOutOfBoundsException: Index 26 out of bounds for length 26
    gap&#    #62;    fus:= rec( subtable:= s, map:= [ 1 ] );
    #62                  &#; (,chi   ;;
    gap&#62; Maximum( mult );
    1
    gap&#62; Positions( mult, 1 );
    [ 1, 2, 3, 5, 7, 8, 9, 12, 13, 15, 17, 23, 27, 30, 32, 40, 41, 54, 
      63, 68, 77, 81, 83, 185, 186, 187, 188, 189, 194, 195, 196, 203, 
      208, 220 ]

</pre>

<div class="<    
Next we consider U = <span class &#2;   #Compute thepositions  root classesofpos.

<div class="p"><!----></div>

<pre>
    gap&#62; tableU:= CharacterTable( "Th" );;
    gap    &#62;    cents= SizesCentralizers(s)
    gap&#62; pi:= Set#;oldnumber ( . )java.lang.StringIndexOutOfBoundsException: Index 67 out of bounds for length 67
    &#62;              map -&#62; InducedClassFunctionsByFusionMap( tableU, table2B,
    &#62;                         [ TrivialCharacter( tableU ) ], map )[1] );;
    gap&#62;(pi)
    1
    gap&#62; pi5:= pi[ containedin head
    gap&#62; mult:= List( Irr( table2B ),&62;fori   1.. NrConjugacyClasses( s ) ]do
    &#62;                 chi -&#62; ScalarProduct( table2B, chi, pi5 ) );;
    gap&#62; Maximum( mult );
    2
    gap&#62; Positions( mult, 1 );
    [ 1, 3, 7, 8, 12, 13, 16,62         (())  p
      62         PowerMap( s,ord/ , i)=pos then
      188, 193, 195, 196, 201, 208, 216, 219, 225, 232, 233, 235, 236, 
      237, 242 ]
    gap&#62; Positions( mult, 2 );
    [ 62 ]

</pre>

<div class="p"><!----></div>
For U = 2<sup>1+22</sup>.<span class="roman">McL</span>, we carry out the computations described in
[<a href="#ctblpope" name="CITEctblpope">Breb</a>,Section "A permutation character of 2.<font size="+0">B</font>"].
nowthat U is subgroup of <>+<sup>.span =r"Co/span>sub2/>,
and that &#9001;U, a &#9002; has the #62;        Add( head.SizesCentralizers])java.lang.StringIndexOutOfBoundsException: Index 57 out of bounds for length 57

<div class="p"><!----></div>
As a first step, we induce the trivial character of &#9001;U, a &# style='color: green'>9002;
to+0"B/>
which can be performed by inducing the trivial character of <span class="roman">McL</span> java.lang.StringIndexOutOfBoundsException: Range [13, 93) out of bounds for length 16
then >    Print("I  java.lang.StringIndexOutOfBoundsException: Range [31, 30) out of bounds for length 62
then to induce this character to <font size="+0">B</font>,
and then to inflate this character to 2.<font size="+0">B</font>,

<div class="p"><!----></div>

<pre>
    gap&#62; mcl:= CharacterTable( "McL" );;
    gap&#62; co2:= CharacterTable( "Co2" );;
    gap&#62; fus:= PossibleClassFusions( mcl, co2 );;       
    gap&#62; Length( fus );
    4
    gap&#62; ind:= Set( fus, map -&#62; InducedClassFunctionsByFusionMap( mcl, co2,     
    &#62;                               [ TrivialCharacter( mcl ) ], map )[1] );;
    gap&#62; Length( ind );
    1
    gap&#62; bm2:= CharacterTable( "BM2" );
    CharacterTable( "2^(1+22).Co2" )
    gap&#62; infl:= Inflated( co2, bm2, ind );;&#2;Length head.rdersClassRepresentatives ) - oldnumber,
    gap&#62; ind:= Induced(#;" java.lang.StringIndexOutOfBoundsException: Range [35, 34) out of bounds for length 42
    gap&#62; infl:= Inflated( tableB, table2B, ind )[1];;

</pre>    &62;   end;

<div class="p"><!----></div>
As a second step,
we compute 1<sub>U</sub><sup>2.<font size="+0">B</font></sup> with the <font face="helvetica">GAP</font> function <java.lang.StringIndexOutOfBoundsException: Index 117 out of bounds for length 0
using that we can speed up these computations by prescribing
the permutation character induced from the closure of knowing the character table of a suitable subgroup of <font size="+0">M</font> to which
the normal subgroup &#9001;a &#9002; of 2.<font size="+0">B</font>.

<div class="p"><!----></div>
((We>ExtendTableHeadByRootClasses</tt>can be , whereg is among
There is a uniquethe root .

<div class="p"><!----></div>

<pre>
    gap&#62; centre:= ClassPositionsOfCentre( table2B );
    [ 1, 2 ]
    gap&#62; pi:= PermChars( table2B, rec( torso:= [ 2 * infl[1], 0 ],
    &62                             : ,
    &#62;                             nonfaithful:= infl ) );;
    gap&#62; Length( pi );
    1
    gap&#62; pi6:= pi[1];;
    gap&#62; List( Irr( table2B ), chi -&#62; ScalarProduct( table2B, chi, pi6 ) );
    [ 1, 1, 2, 1, 2, 0, 2, 3, 2, 0, 0, 1, 4, 1, 2, 0, 3, 2, 0, 2, 0, 0, 
      2, 2, 0, 0, 2, 3, 1, 5, 0, 4, 3, 2, 0, 0pre>
      0, 0, 0, 0, 3, 0, 1, 0, 0, 5, 0, 5, 2, 0, 0, 2, 0, 0, 4&62    java.lang.StringIndexOutOfBoundsException: Range [19, 18) out of bounds for length 31
      0, 4, 2, 4, 4, 3, 0, 2, 4&#62        ("lassescannot java.lang.StringIndexOutOfBoundsException: Range [45, 44) out of bounds for length 48
      0, 1
      1, 4, 0, 3, 2, 3, 1, 3, 0, 1, 3, 0, 2, 2, 1, 3, 3, 0, 0, 2, 0, 0, 
      0, 0, 3, 0, 3, 3, 3, 1, 0, 3, 0, 4, 0, 1, 0, 0, 2, 0, 0, 2, 0, 0, 
      2, 1, 1, 0, 0, 0, 0, 1, 2, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 2, 1, 
      1, 3, 3, 0, 0, 0, 1, 1, 1, 1, 2, 3, 2, 0, 0, 2, 2, 4, 3, 5, 2, 4, 
      0, 0, 0, 0, 5, 2, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 7, 0, 0, 1, 7, 
      7, 0, 0, 0, 1, 6, 4, 5, 0, 0, 3, 0, 0, 0, 0, 0, 4, 1, 1, 3, 8, 3, 
      2, 2, 5, 0, 1 ]

</pre>

<div class="p"><!----></div>
Next we consider U = 2.<span class="roman">F</span><sub>4</sub>(2).
We know that U does not contain the central involution of 2.<font size="+0">B</font>.

<div class="p"><!----></div>

<pre>
    gap&#62; and <tt</> is the list ofpositions of those classes in <tt>s</tt>
    gap&#62; fus:= PossibleClassFusions( tableU, table2B );;
    gap&#62; pi:= Set( fus, map -&#62; InducedClassFunctionsByFusionMap( tableU, table2B,
    &#62;             [ TrivialCharacter( tableU ) ], map )[1] );;
    gap&#62; Length( pi );
    2
    gap&#62; pi:= Filtered( pi, x -&#62; ClassPositionsOfKernel( x ) = [ 1 ] );;
    gap&#62; Length( pi );
    1
    gap&#62;pi7::= pi[1];
    gap&#62; List( Irr( table2B ), chi -&#62; ScalarProduct( table2B, chi, pi7 ) );
    [ 1, 1, 2, 0, 2, 0, 2, 2, 1, 0, 0, 2, 4, 1, 3, 0, 2, 1, 0, 0, 0, 0, 
      2, 1, 0, 0, 2, 2, 1, 4, 0, 2, 1, 2, 0, 0, 3, 2, 0, 4, 4, 0, 0, 0, 
      0, 0, 1, 0, 0, 0, 1, 0, 0, 2, 1, 3, 3, 0, 0, 3, 0, 1, 4, 0, 0,
      0, 6, 0, 3, 2, 0, 0, 1, 4, 1, 4, 2, 6, 1, 4, 0, 4, 0, 1, 1, 2, 0, 
      0, 3, 2, 1, 3, 2, 0, 0, 4, 5, 3, 1, 0, 3, 0, 0java.lang.StringIndexOutOfBoundsException: Index 52 out of bounds for length 0
      0,2, 0, 3,3, 3,0,4,1 0, 4, 1 1 1,1,1,2 , 1, 2,3 ,
      0, 2, 2, 0, 5, 5, 3, 0, 1, 5, 1, 4, 0, 1, 0, 1, 1, 0, 0, 3, 1, 0, 
      2, 3, 1, 0, 2, 0, 0, 2, 1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 2, 
      1, 4, 4, 0, 0, 0, 3, 1, 1, 1, 2, 2, 2, 0, 0, 1, 2, 3, 3, 3, 1, 2, 
      0, 0, 1, 1, 4, 2, 0, 0, 0, 3, 2, 0, 0, 0, 0, 0, 0, 4, 0, 0, 1, 5, 
      5, 0, 1, 1, 2, 2, 4, 4, 0, 0, 3, 1, 1, 1, 0, 0, 4, 1, 1, 5, 7, 3, 
      2, 5, 5, 0, 1 ]

</pre>

<div class="p"><!----></div>
Next we consider U = <span class="roman">HN</span>.

<div class="p"><!----></div>

java.lang.StringIndexOutOfBoundsException: Index 67 out of bounds for length 5
    gap&#62; tableU:= CharacterTable( "HN" );;
    gap&#62; fus:= PossibleClassFusions( tableU, table2B );;
    gap&#62; pi:= Set( fus, map -&#62; InducedClassFunctionsByFusionMap( tableU, table2B,
    &#62;             [ TrivialCharacter( tableU ) ], map )[1] );;
    gap&#62; Length( pi );
    1
    gap&#62; pi8:= pi[1];;
    gap&#62; List( Irr( table2B ),hus we can  thefont size"0><font>classes  elements  order
    a follows.
      5, 3, 0, 0, 6, 4, 5, 6, 1, 7, 4, 7, 0, 0, 3, 8, 2, 6, 11, 2, 5, 5, 
      0pre
      4 ,  ,7,3 ,13 ,20,,, ,11,13 17 4, 
      10, 7, 19, 7, 7, 8, 10, 14, 18, 19, 5, 10, 12, 23, 7, 12, 6, 24, 6, 
      4 17 16,9 ,11 ,23 8 ,18,26,21, 29,10 18 31 
      10, 24, 21, 17, 27, 35, 13, 14, 29, 19, 12, 7, 18, 26, 15, 34, 34, 
      35, 20, 14, 36, 14, 39, 8, 29, 24, 15, 40, 13, 9, 38, 24, 17, 35, 
      32, 26, 26, 24, 22, 17, 31, 39, 29, 30, 30, 19, 44, 37, 37, 28, 30, 
      31, 29, 42    [1,2 
      0, 4, 6, 10, 10, 12, 8, 12, 0, 0, 2,  ,2);
      0, 0, 0, 0, 0, 28, 0, 0, 14, 34, 40, 2, 10, 10, 22, 40, 44, 44, 8, 
      8, 36, 14, 14, 16      
      90 ]

</pre>

<div class="p"><!----></div>
Finally, we consider U = 2.<span class="roman">Fi</span><sub>22</sub>.
There are two candidates for the permutation character (1<sub>U</sub>)<sup>2.<font size="+0">B</font></sup>,
according to the possible class fusions.
One of the two characters is zero on the class of the central involution
of 2.<font size="+0">B</font>, the other is not.
We know that U does not contain the central involution of 2.<font size="+0"
hence we can decidediv =p"<!--->/div>

< class"p>!----></div>

<pre>
    gap&#62; tableU:= CharacterTable( "2.Fi22" );;
    gap&#62; fus:= PossibleClassFusions( tableU, table2B );;
    gap&#62; pi:= Set( fus, map -&#62; InducedClassFunctionsByFusionMap( tableU, table2B,
    &#62;             [ TrivialCharacter( tableU )and  their   java.lang.StringIndexOutOfBoundsException: Range [46, 47) out of bounds for length 46
    gap&#62; Length( pi );
    2
    gap&3<sup1+12</sup><sub>+</sub>.2.<span class=roman"span>.2(for theclass <tt>3B</tt>),
    gap&#62; Length( pi );
    1
    gap#; : [];
    gap&#62; List( Irr( table2B ), chi -&#62; ScalarProduct( table2B, chi, pi9 ) );
    [ 1, 2, 3, 1, 4, 1, 5, 5, 5, 1, 1, 5, 8, 4, 4, 1, 7, 6, 0, 5, 0, 0, 
      10, 7, 0, 0, 10, 6, 6, 13, 3, 14, 10, 11, 0, 0, 5, 11, 2, 14, 19Moreover,
      6, 6, 5, 0, 0, 0, 3, 6, 7, 11, 0, 0, 17, 2, 20, 9, 0, 0, 12, 8, 1, 
      23, 11, 1, 8, 7, 23, 18, 27, 18, 12, 7, 22, 29, 21, 34, 6, 22, 7, 
      22, 18, 33, 3, 19, 10, 34, 12, 12, 15, 17, 28, 34, 34, 7, 20, 26, 
      40, 15, 25determinethe font="0><font>-conjugacy classes of elements of odd order
      ,, 3851,  ,6319,42,,33,48  ,,5238,
      29, 19, 40, 47, 31, 69, 69, 65, 42, 35, 68, 27, 73, 20, 53, 46, 38, 
      75, 29, 24, 72, 50, 41, 72, 68, 58, 52, 54, 50, 44, 64, 75, 58, 69, 
      65 49 , 75 ,63, 68 ,63 90 87 83 118,118 74,71 
      90, 109, 109, 2, 3, 6, 9, 8, 0, 0, 7, 10, 18, 16, 22, 12, 23, 0, 0, 
 ,0,0 52, 1 1,26, 59,
      76, 11, 18, 18, 39, 77, 80, 77, 22, 22, 66, 27, 27, 33, 20, 20, 87, 
      60, 60, 103, 175, 148, 152, 187, 215, 140, 201 ]

</pre>

<div class="p"><!----></div>
Now we can form the restriction of (1<sub>2.<font size="+0">B</font></sub>)<sup><font size="+0">M</font></sup> to 2.<font size="+0">B</font>.

<div class="p"><!----></div>

<pre>
    gap&#62; constit:= [ pi1, pi2, pi3, pi4, pi5, pi6, pi7, pi8, pi9 ];;
    gap&#62; pi:= Sum( constit );;

</pre>

<div class="p"><!----></div>

 <h2><a name="tth_sEc4">
4</a>  The conjugacy classes of <font size="+0">M</font></h2><a name="Mclasses">
</a>

< class""

     <h3><a name="gap&62 java.lang.StringIndexOutOfBoundsException: Range [36, 34) out of bounds for length 43
4.1</a>&nbsp;&nbsp;Our strategy to describe the conjugacy classes of <font size="+0">M</    gap&#62 ExtendTableHeadByRootClasses(head, ,3)java.lang.StringIndexOutOfBoundsException: Index 56 out of bounds for length 56
</a>

<div class="p"><!---->
</div>
We know the order of <font size&62        f&62;Positions( SizesConjugacyClasses( f ), 2 ) );
Let us check whether this fits to our data computed up to now.

<div class="p"><!----></div>

pre>
    gap&#62; sizeM:= pi[1] * Size( table2B );
    808017424794512875886459904961710757005754368000000000
    gap&#62; StringPP( sizeM );
    "2^46*3^20*5^9*7^6*11^2*13^3*17*19*23*29*31*41*47*59*71"
    gap&#62; sizeM = Size( CharacterTable( "M" ) );
    true

</pre>

<=""<!----></div>
For each prime p dividing &#124;<font size="+0">M</font>&#='color: green'>124;,
we classify the conjugacy java.lang.StringIndexOutOfBoundsException: Index 32 out of bounds for length 6
and use<class=p>
the classes of roots of x in the centralizer/normalizer of x
are in bijection with the corresponding classes in <font size="+0">M</font>,
and that this bijection respects centralizer orders.

<div class==p>

<div class="p"><!---->
</div>
For each java.lang.StringIndexOutOfBoundsException: Index 12 out of bounds for length 5
we will use the character table of     [ "Size", "OrdersClassRepresenta",
to establish <font size="+0">M</font>-conjugacy       "usions"]
In     #62 ForAll  , f" ,
we proceed by increasing p,
and collect only those classes of roots of x for which p is     &  .nam ) =java.lang.StringIndexOutOfBoundsException: Range [53, 52) out of bounds for length 63
prime divisor of the element order.

<div class="p"><!----></div>
For elements x  &#8712; <font size="+0">M</font> of prime order p  >  5,
it is not necessary to use the character table of N<sub><font size="+0">M</font></sub>(&#9001;x &#9002;);
we will use the permutation character values&62 .5. =head2fusions5.;
and ad hoc arguments.

<div class="p"><!----></div>

     <h3><a name="tth_sEc4.2">
4./>n;nbsp;tility </3<name=functions>
</a>

<div class="p"><!----></div>
During the process of finding theThe question  of  java.lang.StringIndexOutOfBoundsException: Range [61, 60) out of bounds for length 74
we record ourknowledge the character  of font ="+0"><font>
in a global <font face="helvetica">GAP</font> variable <tt>head</tt>,
 is      componentsjava.lang.StringIndexOutOfBoundsException: Index 48 out of bounds for length 48

<div class="p"><!----></div>

<l compact"ompact"
 <dt><b><tt>Size</tt></b></dt>
 <dd>  <br />
    the group order &#124;<font size="+0">M</font>&#124;,</dd>
 <dt><>></tt</>/>
 <dd>  <br />
    the list of centralizer orders of the conjugacy classes
    established up to now,</dd>
 <<b>tt>rdersClassRepresentatives/>/><dt>
 <dd>  <br />
    the list of corresponding representative orders,</dd>
 <dt><b><tt>fusions</tt></b></dt>
 <dd>  br />
    a list that collects the currently known partial class fusions into <font size="+0">M</font>;
    each entry is a record with the with centralizer orders 5 |<span class/&;5>7<sup#1242.<span class="><span<2<>#; java.lang.StringIndexOutOfBoundsException: Index 155 out of bounds for length 155
    >java.lang.StringIndexOutOfBoundsException: Range [17, 16) out of bounds for length 59
    and <tt>map</tt> (the list of known images
    unknown positions are unbound).</dd>
</dl>

<div class="p"><!----></div>
We initialize this variable, using the group order <font size="+0">M    #;=[5*(java.lang.StringIndexOutOfBoundsException: Range [48, 47) out of bounds for length 58
and that there is an identity element.

<div class="p"><!----></div>

<pre>
    gap&#62; head:= rec( Size:= sizeM,
    &#62;                SizesCentralizers:= [ sizeM ],
&[a " "java.lang.StringIndexOutOfBoundsException: Range [46, 45) out of bounds for length 58
    &#62;                fusions:= [],
    &#62;              );;

</pre>

<div class="p"><!----></div>
The function <tt>(D<sub>10</sub> ×<span class="roman">HN>.,
the <><,
the character table <tt>s</tt> of a subgroup H of <font size="+0">M</font>,
and an integer <tt>pos</tt> as its arguments,
where it is assumed that the <tt>pos</tt>-th class of <tt>s</tt>
contains an element x of prime order p
such that N<sub><font size="+0">M</font></sub>(&#9001;x &#9002;) = H holds
and such that <tt>head</tt> contains information only about
those classes of <font size="+0">M</font> whose elements have order divisible by a prime
that is smaller than p.

<div class="p"><!----></div>

<pre>
    gap&:= function  s, pos )
    &#62;    local fus, orders, p, cents, oldnumber, i, ord;
java.lang.StringIndexOutOfBoundsException: Index 28 out of bounds for length 10
       &;   # the fusioninformation.
    &#62;    fus:= rec( subtable:= s, map:= [ 1 ] );
    &#62;    Add( head.fusions, fus );
    &#62; 
    &#62;    # Compute the positions of root classes of 'java.lang.StringIndexOutOfBoundsException: Index 60 out of bounds for length 55
    &#62;    orders:= OrdersClassRepresentatives( s );
    &#62;    p:= orders[ pos ];
    &#62;    cents:= SizesCentralizers( s );
    &#62;    oldnumber:= Length( head.OrdersClassRepresentatives );
    &#62; 
    &62;   #Runoverthe of's
    &#62;    # are already contained in head
    &#62;    for i in [ 1 .. NrConjugacyClasses( s ) ] do
    &#62;      ord:= orders[    we are  to  from
    &#62;      if ord mod p = 0 and
    &#62;         Minimum( PrimeDivisors( ord ) ) = p and
    &#62;         PowerMap( s, ord / p, i ) = pos then
    &#62;        # Class 'i
    &#62;        Add( head.SizesCentralizers, cents[i] );
    &#62;        Add( head.OrdersClassRepresentatives, java.lang.StringIndexOutOfBoundsException: Index 56 out of bounds for length 38
    &#62        m[i]: ( head. )java.lang.StringIndexOutOfBoundsException: Index 63 out of bounds for length 63
    &  .4]
    &#62;    od;
    &#62; 
    &62;    Print( "#I  after, Identifier(s )" found,
    ( headjava.lang.StringIndexOutOfBoundsException: Range [60, 59) out of bounds for length 74
    &#62;           " classes, now have ",
    &#62;           Length( head.OrdersClassRepresentatives ), "\n" );
    &#62;    end;;

</pre>

<div class="p"><!----></div>
In several cases, we will establish a conjugacy class g<sup><font size="+0">M</font></sup> without
knowing the character table of a suitable subgroup of <font sizediv=<!----></div>
<tt>ExtendTableHeadByRootClasses</tt> can be applied, where g is among
the root classes.
That is, we may know just element order <tt>s</tt>
and centralizer order <tt>cent</tt>.

<div class="p"><!----></div>
We are a bit better off if we know the character table <tt>s</div class""
of a subgroup of <font size="+0">M</font> and the list <pre>
in this table which fuse to the class g<sup><font size="+0">M</font></sup>, because then we can
store this information in the partial store this information in the partial class
that is stored in <tt>head</tt>.

<div class="p"><!---->
</div>

<pre>
    
    &#62;    local ord, fus, i;
    &#62; 
    &#62;    if IsCharacterTable( s )
    #62;      ord Set OrdersClassRepresentatives(s{poss};
    &#62;      if Length
    &#62;        Error( "classes cannot fuse" );
    &#62;      fi;
    := ord]
    &#62;    elif IsInt( s ) then
    &#62;      ord:= s;
    &#62;    fi;
    &#62;    Add( head.SizesCentralizers, cent );
    &#62;    Add( head.OrdersClassRepresentatives, ord );
&#62 
    &#62;    Print( "#I  after order ", ord, " element" );
    &#62;    if IsCharacterTable( s ) then
    &#62;      # extend the stored fusion from s
    &#62;     fus= First( head.fusions,
    &#62;                   r -&#62; Identifier( r.subtable ) = Identifier( s ) );
    &#62;      for i in poss do
    &#62;        fus.map[i]:div=""<!----></div>
    &#62;      od;
    &#62;      Print( " from ", Identifier( s ) );
    &#62;    fi;
    &#62;    Print( ": have ",
    &#62;           Length( head.OrdersClassRepresentatives ), " classes\n" );
    &#62;    end;;

</pre>

<div class="p"><!----></div>
The permutation character 1<sub>H</sub><sup>G</sup>, where H  &#8804; G are two groups,
has the property 1<sub>H</sub><sup>G</sup>(g) = &#124;C<sub>G</sub>(g)&#n style='color: green'>124; &#183;&#124;g<sup>G</sup> &#8745;H&#124; / &#n style='color: green'>124;H&#124;.
For g  &#8712; H,
this implies that &#124;C<sub>G</sub>(#   order 19 element from2B 176classes
can be computed from the character (1<sub>H</sub><sup>G</sup>)<sub>H</sub> and the class lengths in H,
provided that we know which classes of H fuse into g<sup>G</sup>.
The function <tt>ExtendTableHeadByPermCharValue</tt> extends the information
in <tt>head</tt> by the data for the class g<sup><font size="+0">M</ group 2.<font size="+0">B</font> contains exactly two Galois conjugate
where <tt>swhich meansthat [<sub2.font size="+0">B</font></sub>(&#9001;g &#9002;):C<sub>2.<font size="+0">B</font></sub>(g)] = (p&#le='color: green'>8722;1)/2 holds.
<tt>pi_rest_to_s</tt> is (1<sub>H</sub><sup>G</sup>)<sub>H</sub>,
and <tt>poss</tt> is the list of positions of those classes in <tt>s</tt>
that fuse to g<sup><font size="+0">M</font></sup>.

<div class="p"><!----></div>

<pre>
    gap&#62; ExtendTableHeadByPermCharValue:= function( head, s, pi_rest_to_s, poss < =center cellspacing0  =2>trtd java.lang.StringIndexOutOfBoundsException: Range [70, 69) out of bounds for length 94
    &#62;    local pival, cent;
    &#62; 
    &#62;    pival:= Set( pi_rest_to_s{ poss } );
    &#62;    if Length( pival ) <&#62; 1 then
    &#62;      Error( "classes cannot fuse" );
    &#62;    fi;
    &#62; 
    &#62;    cent:= pival[1] * Size( s ) / Sum( SizesConjugacyClasses( s ){ poss } );
HeadByCentralizerOrder head,  , poss)
    &#62;    end;;

>

<div class="p"><!----></div>

     <h3><a name="tth_sEc4.3">
4.3</a>  Classes of elements of even order</h3><a name="elements_2">
</a>

<div class="p"><!----></div>
By [<a href="#Mverify" name="CITEMverify">BMW24</a>],
we know that <font size="+0">M</font> has exactly two conjugacy classes of involutions,
and that the involution centralizers have the structures
2.<font size="+0">B</font> (for the class <tt>2A</tt>) and
2<    6072

<div class="p"><!----></div>
Moreover, the character tables of these subgroups that are
stored in the <font face="helvetica">GAP</font> Character Table Library are correct.
For 2.<font size="+0">B</font
as shown in [<a href="#BMverify" name="CITEBMverify">BMW20</a>] and the computations
in [].
For 2<sup>1+24</sup><sub>+</sub>.<span class="roman">Co</span><sub>1</sub>, thedonot fontsize"0></ont,it suffices  show that the centralizer order is
in Section <a href="#sect:table_c2b">8</a>.

<div class="p"><!----></div>
Thus we can determine the <font size="+0">M</font>-conjugacy classes of elements of even order
as follows.

<div class="p"><!----></div>

<pre>
    &;: java.lang.StringIndexOutOfBoundsException: Range [33, 31) out of bounds for length 42
    gap&#62; ClassPositionsOfCentre( s );
    [ 1, 2 ]
    gap&#62; ExtendTableHeadByRootClasses( head, s, 2 );
    #I  after 2.B: found 42 classes, now have 43
    gap&#62; s:= java.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 6
    gap&#62; ClassPositionsOfCentre( s );
    [1,2]
    gap&#62; ExtendTableHeadByRootClasses( head, s, 2 );
    #I  after 2^1+24.Co1: found 91 classes, now have 134

</pre>

<div java.lang.StringIndexOutOfBoundsException: Range [0, 10) out of bounds for length 5

     <h3><a name="tth_sEc4.4">
44/a>&bsp;&bsp;Classesof elements of order divisible by 3</h3><a name="elements_3"
</java.lang.StringIndexOutOfBoundsException: Range [4, 3) out of bounds for length 71

<div class="p"><!----></div>
We know that <font size="+0">M</font> has exactly three conjugacy classes of elements
of order 3,
and that their normalizers have the structures
3.<span class="roman">Fi</span><sub>24</sub> (for the class <tt>3A</tt>),
3<sup>1+12</sup><sub>+</sub>.2.<span class="roman">Suz</span>.2 (for the class <tt>3B</tt>),
and S<sub>3</sub> ×<span class="roman">Th</span> (for the class <tt>3C</tt>), respectively.

<div class="p"><!----></div>
Moreover,
the <font face="helvetica">GAP</font> character tables of 3.<span class="roman">Fi</span><sub>24</sub> and <span class="roman">Th</span> are  A<font size="-2">TLAS</font> tables
and have been verified, see [<a href="#BMO17" name="CITEBMO17">BMO17</a>].

<div class="p"><!----></div>
We determine the <font size="+0">M</font>-conjugacy classes of elements of odd order
that are roots of <tt>3A</tt> or <tt>3C</tt> elements, as follows.

<div class="p"><!----></div>

<pre>
    gap&#62; s:= CharacterTable( "3.Fi24" );;
    gap&#62; ClassPositionsOfPCore( s, 3 );
    [ 1, 2 ]
    gap&#62; ExtendTableHeadByRootClasses( head, s, 2 );
    #I  after 3.F3+.2: found 12 classes, now have 146
    gap&#62; s:= CharacterTableDirectProduct( CharacterTable( "Th" ),
    &#62;                                     CharacterTable( "Symmetric", 3 ) );;
    gap&#62; ClassPositionsOfPCore( s, 3 );
    [ 1, 3 ]
    gap&#62; ExtendTableHeadByRootClasses( head, s, 3 );
    #I  after ThxSym(3): found 7 classes, now have 153

</pre>

<div class="p"><!----></div>
The situation with the <tt>3B</tt> normalizer is more involved.
Section <a href="#sect:norm3B">9</a> documents the construction of the character table
of a  62, 62 ]
of the <tt>3B</tt> normalizer, and gives two
candidates for the character table of the <tt>3B</tt> normalizer.

<div class="p"><!----></div>
 of these candidates leads to "the same"
root classes,
in the sense that the number of these classes, their element orders,
and their centralizer orders are equal.
Note that the 3-core of H = 3<sup>1+12</sup><sub>+</sub>:6.<span class="roman">Suz</span>.2 has the structure
X ×N,
where X has order 3
and N  &#8773; 3<sup>1+12</sup><sub>+</sub> such that H / N  &#8773; 6.<span class="roman">Suz</span>.2 holds.
We are interested in the two "diagonal" factors, that is,
the factors of H by the one of the two normal subgroups of order 3 in H
that are not equal to X or Z(N).
(See the picture in Section <a href="#sect:norm3B">9</a> for the details.)

<div class="p"><!----></div>
First we exclude the normal subgroup of order 3 that is contained in the
unique normal subgroup N of order 3<sup>13</sup>.

<div class="p"><!----></div>

<pre>
    gap&#62; exts:= CharacterTable( "3^(1+12):6.Suz.2" );;
    gap&#62; kernels:= Positions( SizesConjugacyClasses( exts ), 2 );
    [ 2, 18, 19, 20 ]
    gap&#62; order3_13:= Filtered( ClassPositionsOfNormalSubgroups( exts ),
    &#62;        l -&#62; Sum( java.lang.StringIndexOutOfBoundsException: Index 49 out of bounds for length 0
    [ [ 1 .. 4 ] ]
    gap&#62; kernels:= Difference( kernels, order3_13[1] );
    [ 18, 19, 20 ]

</pre>

<div class="p"><!----></div>
The classes in the subgroup X can be identified by the fact that
exactly one factor of H by a normal subgroup of order 3 admits a
class fusion from 2.<span class="roman">Suz</span>.2, and hence this must be the split extension
of 3<sup>1+12</sup><sub>+</sub> with 2.<span class="roman">Suz</span>.2.

<div class="p"><!----></div>

<div class="p"><!----></div>

<pre>
    gap&#62; facts:= List( kernels, i -&#62; exts / [ 1, i ] );
    [ CharacterTable( "3^(1+12):6.Suz.2/[ 1, 18 ]" ), 
      CharacterTable( "3^(1+12):6.Suz.2/[ 1, 19 ]" ), 
      CharacterTable( "3^(1+12):6.Suz.2/[ 1, 20 ]" ) ]
    gap&#62; f:= CharacterTable( "2.Suz.2" );;
   gap&62  ( facts,
    &#62;        x -&#62; Length( PossibleClassFusions( f, x ) ) = 0 );
    [ CharacterTable( "3^(1+12):6.Suz.2/[ 1, 19 ]" ), 
      CharacterTable( "3^(1+12):6.Suz.2/[ 1, 20 ]" ) ]

</pre>

<div class="p"><!----></div>
We compute the root classes for both candidates.
For that,
we first create a copy <tt>head2</tt> of the information in <tt>head</tt>.

<div class="p"><!----></div>

<pre>
    gap&#62; kernels:= List( facts,
    &#62;        f -&#62; Positions( SizesConjugacyClasses( f ), 2 ) );
    [ [ 2 ], [ 2 ] ]
    gap&#62; head2:= StructuralCopy( head );;
    gap&#62; ExtendTableHeadByRootClasses( head, facts[1], 2 );
    #I  after 3^(1+12):6.Suz.2/[ 1, 19 ]: found 12 classes, now have 165
    gap&#62; ExtendTableHeadByRootClasses( head2, facts[2], 2 );
    #I  after 3^(1+12):6.Suz.2/[ 1, 20 ]: found 12 classes, now have 165

</pre>

<div class="p"><!----></div>
We observe that <tt>head</tt> and <tt>head2</tt> differ only by the
two character tables in the last fusion record.

<div class="p"><!----></div>

<pre>
    gap&#62; nams:= RecNames( head );
    [ "Size", "OrdersClassRepresentatives", "SizesCentralizers", 
      "fusions" ]
    gap&#62; ForAll( Difference( nams, [ "fusions" ] ),
    &#62;            nam -&#62; head.( nam ) = head2.( nam ) );
    true
    gap&#62; Length( head.fusions );
    5
    gap&#62; ForAll( [ 1 .. 4 ], i -&#62; head.fusions[i] = head2.fusions[i] );
    true
    gap&#62; head.fusions[5].map = head2.fusions[5].map;
    true

</pre>

<div class="p"><!----></div>
We continue with establishing the conjugacy classes of <font size="+0">M</font>.
The question which of the two above candidate tables belongs to a subgroup
of <font size="+0">M</font> will be answered in Section <a href="#sect:natcharM">6</a>.

<div class="p"><!----></div>

     <3<name=tth_sEc4.">
4.5</a>  Classes of elements of order divisible by 5</h3><a name="elements_5">
</a>

<div class="p"><!----></div>
The group 2.<font size="+0">B</font> contains two rational conjugacy classes of elements
of order 5,
with different values in the permutation character (1<sub>2.<font size="+0">B</font></sub>)<sup><font size="+0">M</font></sup>.

<div class="p"><!----></div>

<    [ [ 2,1 ], [ 23, 1 ], [ 47, 1 ] ]
    gap&#62; s:= CharacterTable( "2.B" );;
    gap&#62; pos:= Positions( OrdersClassRepresentatives( s ), 5 );
    [ 23, 25 ]
    #;  ;
    [ 1539000, 7875 ]

</pre>

<div class="p"><!----></div>
This establishes two classes <tt>5A</tt>, <tt>5B</tt> of conjugacy classes
of elements of order 5 in <font size="+0">M</font>,
with centralizerjava.lang.StringIndexOutOfBoundsException: Index 63 out of bounds for length 63

<div class="p"><!----></div>

<pre>
    gap&#62; cents:= List( pos,
    &#62;      i -&#62; pi[i] * Size( s ) / SizesConjugacyClasses( s )[i] );
    [ 1365154560000000, 94500000000 ]
    gap&#62; cents = [ 5 * Size( CharacterTable( "HN" ) ),
    &#62;              5^7 * Size( CharacterTable( "2.J2" ) ) ];
    true

</pre>

<div class="p"><!----></div>

<div class="p"><!----></div>
By [<a href="#Mverify" name="CITEMverify">BMW24</a>],
we know that <font size="+0">M</font> contains exactly two conjugacy classes of elements
of order 5,
<tt>5A</tt> with centralizer 5 ×<span class="roman">HN</span> and normalizer
(D<sub>10</sub> ×<span class="roman">HN</span>).2,
and <tt>5B</tt> with centralizer 5<sup>1+6</sup><sub>+</sub>.2.<span class="roman">J</span><sub>2</sub> and normalizer
5<sup>1+6</sup><sub>+</sub>.4.<span class="roman">J</span><sub>2</sub>.2.

<div class="p"><!----></div>
The two classes are rational
because this is the case already for their intersections with 2.<font size="+0">B</font>.

<div class="p"><!----></div>

<pre>
    gap&#62; s:= CharacterTable( "MN5A" );
    java.lang.StringIndexOutOfBoundsException: Range [35, 7) out of bounds for length 35
    gap&#62; ClassPositionsOfPCore( s, 5 );
    [
    gap&#62; ExtendTableHeadByRootClasses( head, s, 45 );
    #I  after (D10xHN).2: found 5 classes, now have 170

</pre>

<div class="p"><!----></div>
The character table of 5<sup>1+6</sup><sub>+</sub>.4.<span class="roman">J</span><sub>2</sub>.2 has java.lang.StringIndexOutOfBoundsException: Index 103 out of bounds for length 6
with <font face="helvetica">MAGMA</font>, see Section <a href="#sect:table_N5Bjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
thus we are allowed to use the character table from
the <font<pre

<div class="p"><!----></div>

<pre>
    gap&#62; s:= CharacterTable( "MN5B" );
    CharacterTable( "5^(1+6):2.J2.4" )
    gap&#62; 5core:= ClassPositionsOfPCore( s, 5 );
    [ 1 .. 4 ]
    gap&#62; SizesConjugacyClasses( s ){ 5core };
    [ 1, 4, 37800, 40320 ]
    gap&#62; ExtendTableHeadByRootClasses( head, s, 2 );
    #I  after 5^(1+6):2.J2.4: found 3 classes, now have 173

</Weassume that font size="0"M<font> contains  subgroup of thestructure 3<up</sup>Osub8</><sup>#;/>(3).

< class=

     <h3><a name="tth_sEc4.6">
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
<

<div class="p"><!----></div>
The group 2.<font size="+0">B</font> contains a rational class of elements of order 11.
The permutation character (1<sub>2.<font size="+0">B</&#2 (Positions(( t)41  )
of order 11 with centralizer    10

<div class="p"><!----></div>

<pre>
    gap&#62; s:= CharacterTable( "2.B" );;
    gap&#62; pos:= Positions( OrdersClassRepresentatives<iv =""<!->/
    [ 71 ]

</pre>

<div class="p"><!----></div>
#Mverify"name"CITEMverify">BMW24<a>],
<fontjava.lang.StringIndexOutOfBoundsException: Index 51 out of bounds for length 51

<div class="p"><!----></div>

<pre>
    gap&#62; ExtendTableHeadByPermCharValue( head, s, pi, pos );
    #I  after order 11 element from 2.B: <re

</pre>

<div class="p">    gap&#2 =Filtered possord

     <h3><a name="tth_sEc4.7">
4.7</a>  Classes of elements of the java.lang.StringIndexOutOfBoundsException: Range [0, 52) out of bounds for length 35
</a>

<div class="p"><!----></div>
he  ofthe 17,19 ,31,47in fontfont>lie incyclic
Sylow subgroups that appear already in 2.<font size="

<div class="p"><!----></div>
The elementsof  17 and19 rationalin2.size="+0"/font>
and hence also in <font size="+0">M</font>.

<div class="p"><!----></div>

<pre>
    gap&#62; s:= java.lang.StringIndexOutOfBoundsException: Index 22 out of bounds for length 0
#; :=( ( s, 17 );
    [ 118 ]
    gap&#62; java.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 0
    #I  after order 17 element from 2.B: have 175 classes
    gap&#java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
    [ 128 ]
    gap&#<re
    #I  after order 19 element from 2.B: have 176 classes

</pre>

<div class="p"><!----></div>
For elements g of order p  &#8712; { 23, 31, 47 },
the group 2.<font size="+"><font contains exactly two Galois conjugate classes that contain
the nonidentity powers of g,
<ajava.lang.StringIndexOutOfBoundsException: Index 4 out of bounds for length 4
The equation &#124;C<sub><font size="+0">M</font></sub>(g)&#e='color: green'>124; = &#124;2.<font size="+0">B</font>&#le='color: green'>124; &#183;&#960;(g) / &#124;g<sup><font size="+0">M</font<ivclass="p"><!----></div>
implies

<br clear="all" /><table border="0" width="100%"><tr><td>
<table align="center" cellspacing="0"  cellpadding="2"><tr><td nowrap="nowrap" align="center">
 &#124;N<sub><font size="+0">M</font><ivclass"p">!--->/div>
</td></tr></table>


 eitherthetwo classes of elements of order p in2.fontsize="0>B/font>
fuse in <font size="+0">M</font> or not;
in the former case,
we have [N<sub><font size="+0">M</font></sub>(&#9001;g &#9002;):C<sub><font size="+0">M</font></sub>(g)] = p&#8722;1    &62;List(good Factors );
&#124;g<sup><font size="+0">M</font></sup> &#8745;2.<font size="+0">B</font>&#124; = 2 &#124;g<sup>2.<font size="+0">B</font></sup>&#124;,
whereas we have
[N<sub><font size="+0">M</font></sub>(&#9001;g &#9002;):C<sub><font size="+0">M</java.lang.StringIndexOutOfBoundsException: Index 85 out of bounds for length 0
&#124;g<sup><java.lang.StringIndexOutOfBoundsException: Index 69 out of bounds for length 69
Thus we can compute &#124;N<sub><font size="+0">M</font></sub>(&#tyle='color: green'>9001;g &#9002;)&#124; in each case,
and we can then find arguments why the two Galois conjugatejava.lang.StringIndexOutOfBoundsException: Index 91 out of bounds for length 91
do not fuse.

<div class="p"><!----></divs java.lang.StringIndexOutOfBoundsException: Range [23, 22) out of bounds for length 61
irst deal with p=23.

<div class="p"><!----></div>

<pre>
    gap&#62; s:= CharacterTable( "2.B" );
    CharacterTable( "2.B" )
    gap&#62; ord:= OrdersClassRepresentatives( s );;
    gap#62;classes: ( s);
    gap&#62; p:= 23;;
    gap&#62; pos:= gap> ExtendTableHeadByCentralizerOrder( head, 71, 71, fail );
    [ 147, 149 ]
    gap&#62; n:= (p-1)/2 * Size( s ) * pi[java.lang.StringIndexOutOfBoundsException: Index 48 out of bounds for length 48
    6072
    gap&#62; Collected( Factors( n ) );
    [ [ 2, 3 ], [ 3, 1 ], [ 11, 1 ], [ 23, 1 ] ]

<

<div class="p"><!----></div>
In order to prove that the two classes of elements of order 23 in 2.<font size="+0">B</font>
do not fuse in <font size="+0">M</font>, it suffices to show that the java.lang.StringIndexOutOfBoundsException: Index 72 out of bounds for length 5
divisible by 2<    &62 :  ,7)
 see    case  in <>B/>  in <font =+">/ont>

d ""<-->/>

<pre>
    gap&#62; u:= CharacterTable( "MN2B" );
    CharacterTable( "2^1+24.Co1" )
    gap&#62; upos:= Positions( OrdersClassRepresentatives( u ), p );
    [ 289, 294 ]
    gap&#62; SizesCentralizers( u ){ upos } / 2^3;
    [ 23, 23 ]

</pre>

>
Thus we [ 41, 43java.lang.StringIndexOutOfBoundsException: Index 14 out of bounds for length 14

<java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 0

<pre>
    gap&#62; ExtendTableHeadByPermCharValue( head, s, pi, pos{ [1] } );
    #I  after order 23 element from 2.B: have 177 classes
    gap&#62; ExtendTableHeadByPermCharValue( head, s, pi, pos{ [2] } );
    #I  after order 23 element from 2.B: have 178 classes

<

<div class="p"><!----></div>
The case p = 31 is done analogously.
Here the necessary 2-part of the centralizer occurs already in 2.<font size="+0">B</font>.

<div class="p"><!----></div>

<pre>
    gap&#62; p:= 31;;
# :  java.lang.StringIndexOutOfBoundsException: Range [57, 56) out of bounds for length 67
    [ 190, 192 ]
    gap&#62; n:= (p-1)/2 * Size( s ) * pi[ pos[1] ] / classes[ pos[1] ];
    2790
    gap&#62; Collected( Factors( n ) java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
    [ [ 2, 1 ], [ 3, 2 ], [ 5, 1 ], [ 31, 1 ] ]
    gap&#62; SizesCentralizers( s ){ pos };
    [ 62, 62 ]
    gap&#62; ExtendTableHeadByPermCharValue( head, s, pi, pos{ [1] } );
    #I  after order 31 element from 2.B: have 179 classes
    gap&#62; ExtendTableHeadByPermCharValue( ec(
    #I  after order 31 element from 2.B: have 180 classes

</pre>

<div class="p"><!----></div>
Finally, we deal with p = 47.

<div class="p"><!----></div>

<pre>
    gap&62;: ;java.lang.StringIndexOutOfBoundsException: Index 21 out of bounds for length 21
    gap&#62; pos:= Positions( OrdersClassRepresentatives( s ), p );
    [ 228, 230 ]
    gap&#62; n:= (p-1)/2 * Size( s ) * pi[ pos[1<ivclass="p"><!----></div>
    2162
    gap&#62; Collected( Factors( n ) );
    [ [ 2, 1 ], [ 23, 1 ], [ 47, 1 ] ]
    gap    &#2        r-#62 not IsIdenticalObj .subtable 1]));;
    [ 94, 94 ]
#
    #I  after order 47 element from 2.B: have 181 classes
    gap&#62; ExtendTableHeadByPermCharValue( head, s, pi, pos{ [2] } );
    #I  after order 47 element from 2.B: have 182 classes

<pre

java.lang.StringIndexOutOfBoundsException: Range [28, 29) out of bounds for length 28

     <h3><a name="tth_sEc4.8">
4.8</a>  Classes of elements of order 13</h3><a name="elements_13">
</a>

<div class="p"><!----></div>
The class <tt>13A</tt> of <font size="+0">M</font> arises from the rational class of elements
of order 13 in 2.<font size="+0">B</font>.
We  the permutation character to enter the information about
the class <tt>13A</tt>.

<div class="p"><!----></div>

<pre>
    gap&#62; p:= 13;;
    gap&#62; pos:= Positions( OrdersClassRepresentatives( s ), p );
    [ 97 ]
    gap&#62;    #2         IsBound r.i])then
    73008
    gap&#62; Factors( c );
    [ 2, 2, 2, 2, 3, 3, 3,    #;         if IsInt( fus[])then
    gap&#62; ExtendTableHeadByPermCharValue( head, s, pi, pos );
    #I  after order 13 element from 2.B: have 183 classes

</pre>

<div class="p"><!----></div>
The class <tt>13B</tt> intersects the <tt>2B</tt> centralizer.
Here we just know the centralizer order 13<sup>3</sup> &#183;2<sup>3</sup> &#183;3.

<div class="p"><!----></div>

<pre>
    gap&#62; c2b:= CharacterTable( "MN2B" );;
    gap&#62; pos:= Positions( OrdersClassRepresentatives( c2b ), 13 );
    [ 220 ]
    gap&#62; ExtendTableHeadByCentralizerOrder( head, c2b, 13^3 * 24, pos );
    #I  after order 13 element from 2^1+24.Co1: have 184 classes

</pre>

<div class="p"><!----></div>

     <h3><a name="tth_sEc4.9">
4.9</a>  Classes of elements of order divisible by 29
</a>

<div class="p"><!----></div>
The group 3.<span class="roman">Fi</span><sub>24</sub> java.lang.StringIndexOutOfBoundsException: Index 58 out of bounds for length 0
 order

<div class="p"><!----></div>

<pre>
    gap&#62; u:= CharacterTable( "3.Fi24" );;
    gap&#62; pos:= Positions( OrdersClassRepresentatives( u ), 29 );
    [ 142 ]
gap#;( u ) ;
    [ 87 ]

</pre>

<div class="p"><!----></div>
The list of classes of <font size="+0">M</font> collected up to now covers all roots of
elements of the orders 2, 3, 5, 11, 13, 17, 19, 23, 31, 47,
and 29 occurs as a factor of the centralizer order only for the
classes <tt>1A</tt>, <tt>    #;if( .fus, powermaps[p] ) = fail then

<div class="p"><!----></div>

<pre>
    gap&#62; poss:= PositionsProperty( head.SizesCentralizers,
    &#62;                              x -&#62; x mod 29 = 0 );
    [ java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
    gap&#62; head.OrdersClassRepresentatives{ poss };
    [ 1, 3, 87, 87 ]
    gap&#62; head. repeat applying the compatibility no 
    [ 808017424794512875886459904961710757005754368000000000, 
      3765617127571985163878400,

</pre>

<div class="p"><!----></div>
Thus the only possible additional prime divisors of the centralizer order
in <font size="+0">M</font> of an element x of order 29 are 7, 41, 59, and 71.

<div class="p"><!----></div>

<pre>
    gap&#62; candprimes:= Difference( PrimeDivisors( head.Size ),
    &#62;                     [ 2, 3, 5, 11, 13, 17, 19, 23, 29, 31, 47 ] );
    [ 7,

</pre>

<div class="p"><!----></div>
The centralizer order of x has the form
3 &#183;29 &#183;7<sup>i</sup> &#le='color: green'>183;41<sup>java.lang.StringIndexOutOfBoundsException: Range [0, 45) out of bounds for length 34
with  0  &#8804; i  &#8804; 6 and j, k, l  &#n style='color: green'>8712; { 0, 1 }.

<<!---->/div>

<pre>
    gap&#62; parts:= Filtered( Collected    #start round
    #62                       -62;x1  )java.lang.StringIndexOutOfBoundsException: Index 61 out of bounds for length 61
    [ [ 7, 6 ], [ 41, 1 ], [ 59, 1 ], [ 71, 1 ] ]
    gap&#62; poss:= List( parts, l -&#62; List( [ 0 .. l[2] ], i -&#62; l[1]^i ) );;
    gap&#62; cart:= Cartesian( poss<pre>
    gap&#62; possord:= 3 * 29 * List( cart, Product );;

</pre>

<div class="p"><!----></div>
Only &#183;  3 &183;9&183
that is, &#124;<font size="+0">M</font>&#124; / &#124;Nstarting  the5th map
Note that we have [N<sub><font size="+0">M</font></sub>(&#9001;x &#style='color: green'>9002;):C<sub><font size="+0">M</font></sub>(x)] =<ivclass=p>!->/ivjava.lang.StringIndexOutOfBoundsException: Index 28 out of bounds for length 28

<div class="p"><!----></div>

<
    gap&#62; good:= Filtered( possord,
    &#62;                     x -&#62; ( head.Size / ( 28 * x ) ) mod 29 = 1 );
    [ 87, 5133 ]
    gap&#62; List( good, Factors );
    [ [ 3, 29 ], [ 3, 29, 59 ] ]

</pre>

< ="><!---</>
Now we can exclude the possible centralizer order 3 &#183;29 &#style='color: green'>183;59
by the fact that the Sylow 59 subgroup would be normal
and thus would be normalized and hence centralized by an element of
order 3,acontradiction.

<

<pre>
    gap&#62; Filtered( DivisorsInt( 5133 ), x -&#62; x mod 59 = 1 );
    [ 1 ]

</and t -hmap,forp ,

<div class="p"><!----></div>
we established a rational class of elements of order 29,
with centralizer of order 3 &#183;29.

<div class="p"><!----></div>

java.lang.StringIndexOutOfBoundsException: Range [6, 5) out of bounds for length 24
    gap&#62; ExtendTableHeadByCentralizerOrder( head, u, 3 * 29, pos <class"java.lang.StringIndexOutOfBoundsException: Index 28 out of bounds for length 28
    #I  after order 29 element from 3.F3+.2: havethe  ofl   unity the three quadratic subfields,

</prejava.lang.StringIndexOutOfBoundsException: Index 6 out of bounds for length 6

<div class="p"><!----></div>

     <h3><a name="tth_sEc4.10">
4.10</a>  Classes of elementsjava.lang.StringIndexOutOfBoundsException: Index 48 out of bounds for length 48
</a>

<div class="p"><!----></div>
We    &62 : java.lang.StringIndexOutOfBoundsException: Range [32, 31) out of bounds for length 49
The fact that an element x of order 41 [java.lang.StringIndexOutOfBoundsException: Range [41, 40) out of bounds for length 71
by an element of order 4 can be read off from the factor group
O<sub>8</          13 ,132 ,  135, 207, 208 ,210 ,, 

<div class="p"><!----></div>

<pre>
    gap&#62; t:= CharacterTable( "O8-(3)" );
    CharacterTable( "O8-(3)" )
    gap&#62; Length( Positions( OrdersClassRepresentatives( t ), 41 ) );
    10

</pre>

<div class="p"><!----></div>
e above only odd divisorsof
&#124;N<sub><font size="+0">M</font></sub>(&#9001;x &#9002;)&#124;/41 are 5, 7, 59, 71,
where 5 cannot divide the centralizer order.
As in the case of p = 29, we apply Sylow's theorem,
and get
&#124;N<sub><font size="+0">M</font></subgap&#62; for l in  ,71   java.lang.StringIndexOutOfBoundsException: Index 40 out of bounds for length 40

<div class="p"><!----></div>

<pre>
    gap&#62; possord:= 2^2 * 41 * DivisorsInt( 2 * 5 * 7^6 * 59 * 71 );;
    &62; =Filtered( possord,
    &#62;                     x -&#62; ( head.Size / x ) mod 41 = 1 );
     ,163016 java.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 20
    gap&#62; List( good, Factors#;      ;
    [ [ 2, 2, 2, 5, 41 ], [ 2, 2, 2, 7, 41, 71 ] ]

</pre>

<div class="p"><!----></div>
Suppose that 71 divides &#124;N<sub><font size="+0">M</font></sub>(&#an style='color: green'>9001;x &#9002;)&#124;.
the71 ofN<ub><size"0><font>/>&#; &9002)is 
thus normalized by an element of order 8,
and thus centralized by an involution, a contradiction.

<div class="p"><!----></div>

<prejava.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
    gap&#62; Filtered( DivisorsInt( good[2] ), x -&#62; x mod&62   ,164 ;
    [ 1 ]

</pre>

<div class="p"><!----></div>
Thus we<
of

<div class="p"><!----></div>

<pre>
    gap&#62; ExtendTableHeadByCentralizerOrder( head, 41, 41, fail );
    #I  after order 41 element: have 186 classes

</pre>

<div class="p"><!----></div>

     <h3><a name="tth_sEc4.11">
4.<a>nbsp of java.lang.StringIndexOutOfBoundsException: Range [40, 39) out of bounds for length 91
</a>

<div class="    [ 37 132 133 ]
By the above arguments,
the normalizer order of an element of order 59 divides
 #;7sup>6/>&18359 #18371java.lang.StringIndexOutOfBoundsException: Index 41 out of bounds for length 41
Sylow's theorem admits just the normalizer order 59 ·29.

<div class="p"><!----></div>

<pre>
    gap&#62; possord:= 59 * DivisorsInt( 58*7^6*71[344 ]
    gap&#62; good:= Filtered( possord,
    &#62;                     x -&#62; ( head.Size / x ) mod 59 = 1 );
    [ 1711 ]
    gap&#62; List(
    [ [ 29, 59 ] ]

/

<div class="p"><!----></div>
Thus we have established a pair of Galois conjugate two  fusethenonrational font +">/ont>ofelements
self-centralizing elements of order 59.

<div class="p"><!----></div>

<pre>
    gap&#62; ExtendTableHeadByCentralizerOrder( head, 59, 59, fail );
    #I  after order 59 element: have 187 classes
    gap&#62; ExtendTableHeadByCentralizerOrder( head, 59, 59, fail );
    #I  after order 59 element: have 188 classes

</pre>

<div class="p"><!----></div>


4.12</a>  Classes of elements of order divisible by 71</h3><a name="elements_71">
</a>

<div class="p"><!----></div>
By the above arguments, 
the normalizer order of an element of order 71 divides
70 &#183;7<sup>5</sup> &#183;71.
Sylow's theorem admits just the normalizer order 71 ·35.

<div class="p"><!----></div>

<pre>
    gap&#62; possord:= 71 * DivisorsInt( 70*7^5 );;
    gap&#62; good:= Filtered( possord,
    &#62;                     x -&#62; ( head.Size / x ) mod 71 = 1 );
    [ 2485 ]
    gap&#62;List  Factors );
    [ [ 5, 7, 71 ] ]

</pre>

<div class="p"><!----></div>
Thus we have established a pair of Galois conjugate classes of
self-centralizing elements of order 71.

<div class="p"><!----></div>

<pre>
    gap&#62; ExtendTableHeadByCentralizerOrder( head, 71, 71, fail );
    #I  after order 71 element: have 189 classes
    <divclassp<-->/>
    #I  after order 71 element: have 190 classes

</pre>

<div class="p"><!----></div>

     <h3><a name="tth_sEc4.13">
4.13</a>  Classes of elements of order divisible by 7</h3><a name="elements_7">
</a>

<div class="p"><!----></div>
The subgroup 2.<font size="+0">B</font> yields a rational class <tt>7A</tt>
with centralizer order 7 &#183;&#124;<span class="roman">He</span>&#124;.

<div class="p"><!----></div>

<pre>
    gap&#62; s:= CharacterTable( "2.B" );;
    gap&#62
    [ 41 ]
    gap&#62; ExtendTableHeadByPermCharValue( head, s, pi, pos );
    #I  after order 7 element from 2.B: have 191 classes
    gap&#62; Last( head.SizesCentralizers ) = 7 * Size( CharacterTable( "He" ) );
    true

</pre>

<java.lang.StringIndexOutOfBoundsException: Range [0, 4) out of bounds for length 0
Byadditional arguments, we find that  <t>7A</tt> centralizer has the
structure 7 &imes<class=""He/,
and the normalizer has the structure (7:3 ×<span class="roman">He</span>).2,
a subdirect product of 7:6 and <java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 0

<div class="p"><!----></div>
Since <span class="roman">He</span> has a pair of Galois conjugate classes of element order 17,
we get also a pair of Galois conjugate classes of element order
7 &#183;17 = 119.

<div class="p"><!----></div>

<pre>
    rOrder(head, 119 119  ;
    #I  after order 119 element: have 192 classes
    gap&#62; ExtendTableHeadByCentralizerOrder#2          if fus[]&;#62 .[ 
    #I  after order 119 element: have 193 classes

</pre>

<div     #62;        elif IsInt( .i  then
The second class of elements of order 7, <tt>7B</tt>,
is established by the fact that the subgroup 3.<span class="roman">Fi</span><sub>24</sub> contains
two classes of elements of order 7, with different values of the
degreee 196 883 character &#967; of <font size="+0">M</font>.

<div class="p"><!----></div>

<pre>
    gap&#62; u:= CharacterTable( "3.Fi24" );;
    gap&#62; cand:    #;       i:java.lang.StringIndexOutOfBoundsException: Range [28, 27) out of bounds for length 35
    gap&#62; rest:= Sum( cand{ [ 1, 4, 5, 7, 8 ] } );;
    gap&#62; pos:= Positions( OrdersClassRepresentatives( u ), 7 );
    [ 41, 43 ]
    gap&#62; rest{ pos };
    java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0

</pre>

<div class="p"><!----></div>
Note that class 43 fuses to <tt>7B</tt> because the restriction of &#967;
to 2.<font size="+0">B</font>  gap#62; :  fusions,r &62;IsIdenticalObj r.

<div class #; in  .      

<pre>
    Order( head,u,7^5 *(7), [  ]);
    #I  after order 7 element from 3.F3+.2: have 194 classes

/>

<div class="p"><!----></div>
Now the sum of class lengths in <tt>head</tt> is equal to the order of <font size="+0">M</font>.

<div class="p"><!----></div>

<pre>
    gap&#62; Sum( head.SizesCentralizers, x -&#62; head.Size / x ) = head.Size;
    true

</pre>

<div class="p"><!----></div>
We initialize the character table head of <font size="+0">M</font>.

<div class="p"><!----></div>

<pre>
    gap&#62; m:= ConvertToCharacterTableNC( rec(
   &62;UnderlyingCharacteristic: 0java.lang.StringIndexOutOfBoundsException: Index 44 out of bounds for length 44
    &#62;      Size:= head.Size,
    &#62;      SizesCentralizers:= head.SizesCentralizers,
    &#62;      OrdersClassRepresentatives:= head.OrdersClassRepresentatives,
    &#62;    ) );;

</pre>

d =p"<-->/div>

 <h2<
5gap&62 = StructuralCopy( )java.lang.StringIndexOutOfBoundsException: Index 55 out of bounds for length 55
<    #62 :r.;

<div class="p"><!----></div>
Using the element orders of the class representatives of the table head
of <font size="+0">M</font>, and the partial class fusions from the subgroups used in the
previous sections, we compute approximations of the p-th power maps,
for primes p up to the maximal element order in <font size="+0">M</font>.

<div class="p"><!----></div>
Note that we have not yet determined which of the two possible character
tables of the <tt>3B</tt> normalizer belongs to a subgroup of <font size="+0">M</font>,
thus we exclude the corresponding partial fusion.

<java.lang.StringIndexOutOfBoundsException: Range [28, 27) out of bounds for length 28

p>
    gap&#62; safe_fusions&62      ;
    &#62;        r -&#62; not IsIdenticalObj( r.java.lang.StringIndexOutOfBoundsException: Range [0, 56) out of bounds for length 16
    gap&#62; Length( safe_fusions );
6

</pre>

<div class="p"><!----></div>
First we initialize the class fusions, compatible with the definitions of
the classes as given by the partial fusions which we have stored.

<div class="p"><!----></div>

<pre>
    gap&#62; for r in safe_fusions do
    &#62;      fus:= InitFusion( r.subtable, m );
    &#62;      for i in [ 1 .. Length( r.map ) ] do
    &#62;        if IsBound( r.map[i] ) then
    &#62;          if IsInt( fus[i] ) then
    &#62;            if fus[i] <&#62; r.map[i] then
    &#62;              Error( "fusion problem" );
    &#62;            fi;
    &#62;          elif IsInt( r.map[i] ) then
    &#62;            if not r.map[i] in fus[i] then
    #62;              Error( "usion problem")java.lang.StringIndexOutOfBoundsException: Index 49 out of bounds for length 49
    &#62;            fi;
    &#62;          else
    &#62;            if not IsSubset( fus[i], r.map[i] ) then
    &#62;              Error( "fusion problem" );
    &#62;            fi;
    &#62;          fi;
    &#62;          java.lang.StringIndexOutOfBoundsException: Index 22 out of bounds for length 0
    &#62;        fi;
    &#62;      od;
    &#62;      r.fus: fus;
    &#62;    od;

</pre>

<div class="p"><!----></div>
Next we initialize approximations of the power maps of the table of <font size="+0">M</font>,
and improve them using the compatibility of these maps with the power maps
of the subgroups w. r. t. the current knowledge ]) &t&62;
Note that also the knowledge about the class fusions increases this way.

<div class="p"><!----></div>

<pretrue
    gap&#62; gap> List   2,3  ,Indeterminateness ;
    119
    gap&#62; powermaps:= [];;
    gap&#62; primes:= Filtered(     
    gap&#62; for p in primes do
&62;      powermaps[p]:= InitPowerMap( m, p );
    &#62;      for r in safe_fusions do
#        := PowerMap( r.subtable p)java.lang.StringIndexOutOfBoundsException: Index 57 out of bounds for length 57
 62 if ( java.lang.StringIndexOutOfBoundsException: Range [49, 48) out of bounds for length 83
    &#62;          Error( "inconsistency" );
    &#62;        fi;
    &#62;      od;
    #;   od;

</pre>

<div class="p"><!----></div>pre
We repeat applying the compatibility conditions until no further
improvements are found.

"p"<!--><div>

<pre>
    gap&#62; found:= true;;
    gap&#62; res:= "dummy";;  # avoid a syntax warning
    gap&#62; while found do
    &#62;      Print( "#I  start a round\n" );
    &#62;      found:= java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 0
&62;      for p in primes do
    &#62;        for r in safe_fusions do
    &#62;subpowermap= PowerMap( rsubtable, p );
    &#62;          res:= TransferDiagram( subpowermap, r.fus, powermaps[p] );
    &#62;          if res = fail thengap#62;.subtable ;
    &#62;            Error( "inconsistency" );
    &#62;          elif ForAny( RecNames( res ), nam -&#62; res.( nam ) <&#62; [] ) then
    &#62;            found:= true;
    &#62;          fi;
    &#62;        od;
    &#62;      od;
    
    #I  start a round
    #I  start a roundgap&#; powermaps[3][152]: 179;
# around
    #I  start a round

</pre>

<div class]
Let us see where the power maps are still not determined uniquely,
starting with the 5-th power map.

<div class="p"><!----></div>

<pre>
    gap&#62; pos:= PositionsProperty( powermaps[ 
    [ 157, 158, 163, 164, 187, 188, 189, 190, 192, 193 ]
    gap&#62; head.OrdersClassRepresentatives{ pos };
    [ 15, 15, 39, 39, 59, 59, 71, 71, 119, 119 ]

</pre>

d class""<-->/
The ambiguities for the classes of the element orders 59, 71, and 119
are understandable:
Forofthese orders,thereis pairof Galoisconjugate
classes, and the subgroups whose class fusions we have used do not contain
these elements.

<div class="p"><!----></div>
For each of the primes l  &#8712; { 59, 71 },
the field    gap&#2;powermaps[]{ }
which is <font size="+0">Q</font>(&#8730;{&#8722;l}),
and the p-th power map, for p coprime to l,

the Galois automorphism that raises l-th roots of unity to the p-th power
fixes &#8730;{&#8722;l}.

<div class="p"><!----></div>
In the case of element order l = 119 = 7 &#183;17,
the threequadratic java.lang.StringIndexOutOfBoundsException: Index 72 out of bounds for length 72
<font size="+0">Q</font>(&#8730;{&#8722;7}), <font size="+0">Q</font>(&#8730;
In order to decide which of them actually occurs,
we look at a subgroup that contains elements of order 119.
The <tt>7A</tt> centralizer in <font size="+0">M</font> has the structure 7 ×<span class="roman">He</span>,
and the normalizer has the structure (7:3 ×<span class="roman">He</span>).2,
subdirectof:  spanclass="roman">He</span>.2,
see Section <a href="#elements_7">4.13</a>.

<div class="p"><!----></div>
The classes of element order 119 in the normalizer correspond to
the classes of this element order in <font size="+0">M</font>,
anddiv "p"<->/iv

<div class="p"><!----></div>

<>
    gap&#62; u:= CharacterTable( "(7:3xHe):2" );;
#;ConstructionInfoCharacterTable ;
    [ "ConstructIndexTwoSubdirectProduct", "7:3", "7:6", "He", "He.2", 
      [ 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 
          130, 131, 132, 133, 134, 135, 207, 208, 209, 210, 211, 212, 
          213, 214, 215, 216, 217, 218[2 ,44,44 java.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 20
          225, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 
          308, 309, 310, 311, 312, 313, 314, 315 ], (), (We have defined the two classes of element order 23 as squares of those
    gap&#62; pos:= Positions( OrdersClassRepresentatives( u ), 119 );
    [ 52, 53 ]
    gap&#62; f:= Field( Rationals, List( Irr( u ), x -&#62; x[pos[1]] ) );;
    gap&#62; Sqrt(-119) in f;
    true

</pre>

<div class="p"><!----></div>
We insert the relevant power map values.

<div class="p"><!----></div>

<pre>
    gap&#62; for l in [ 59, 71, 119 ] do
    &#62;      val:= Sqrt( -l );
    &#62;      poss:= Positions( head.OrdersClassRepresentatives, l );
    &#62;      for p in primes do
    #62;        if( l p)=1 then
    &#62;          if GaloisCyc( val, p )
    &#62;            powermaps[p]{ poss }:= poss;
    &#62;          else
    &#62;            powermaps[p]{ poss }:= Reversed( poss );
    &#62;          fi;
    &#62;        fi;
    &#62;      od;
    &#62;    od;

</pre>

<div class="p"><!----></div>
prejava.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
are determined uniquely except for the images of two classes
of element order 39.
These classes had been found as roots of <tt>3B</tt> elements.

<div class="p"><!----></div>

<pre>
    gap&#62; PositionsProperty( powermaps[17], IsList );
    [ 163, 164 ]
    gap&#62; head.OrdersClassRepresentatives{ [ 163, 164 ] };
    [ 39, 39 ]
    gap&#62; List( Filtered( head.fusions,
    &#62;                    r -&#62; IsSubset( r.map, [ 163, 164 ] ) ),
    &#62;          r -&#62; r.subtable );
 "^1+2:.Suz./ , 19 ] )java.lang.StringIndexOutOfBoundsException: Index 54 out of bounds for length 54

</pre>

<div class="p"div ="">!-->/ivjava.lang.StringIndexOutOfBoundsException: Index 28 out of bounds for length 28
In order to decide whether the p-th power map fixes or swaps
the two classes, we consider elements of order 78,
which are square roots of the order 39 elements.
There are three classes of element order 78 in <font size="+0">M</font>,
a rational class that powers to <tt>2A</tt>
and a pair of Galois conjugate classes that power to <tt>2B</tt>.

<div class="p"><!----></div>

<pre>
    gap&#62; 78pos:= Positions( head.OrdersClassRepresentatives, 78 );
    [ 37, 132, 133 ]
    gap&#62; head.fusions[1].subtable;
    CharacterTable( "2.B" )
    &62 Intersection( 78pos head.[1].ap)java.lang.StringIndexOutOfBoundsException: Index 56 out of bounds for length 56
    [ 37 ]
    gap&#62; s:= head.fusions[2].subtable;
    CharacterTable( "2^1+24.Co1" )
    gap&#62; Intersection( 78pos, head.fusions[2].map );
    [ 132, 133 ]
gap62(.fusions2]map,132 ;
    [ 342 ]
    gap&#62; Positions( head.fusions[2].map, 133 );
    [ 344 ]
    #; PowerMap(s 7 [342];
    344



<div class="p"><!----></div>
Since the <tt>3B</tt> normalizer in <font size="+0">M</font> contains a pair of Galois conjugate
ses ofelement order 78 which power to the generators of the normal
subgroup of order 3,
these two classes fuse to the non-rational <font size="+0">M</font>-classes of java.lang.StringIndexOutOfBoundsException: Range [0, 87) out of bounds for length 39
of order 78,
and their squares are the classes of element order 39 we are interested in.

<div class="p"><!----></div>

<    &#62                 -&#2;OrdersClassRepresentatives(s)[]=18  and
    &#;poss  ., r -#;IsSubset map,  163,164   ;;
    gap&#62; List( poss, r -&#62; r.subtable );
    [ CharacterTable( "3^    gap#62 PowerMap( , 2){pos18 ;
    &62 ([].ap163)java.lang.StringIndexOutOfBoundsException: Index 42 out of bounds for length 42
    173
    gap&#62; Position( poss[1].map, 164 );
    174
    gap&#62; List( facts, s -&#62; Positions( OrdersClassRepresentatives( s ), 39 ) );
    [ [ 173, 174 ], [ 173, 174 ] ]
    &62 ( , s&#62; PowerMap(s 7 )173] ;
    [ 174, 174 ]

</pre>

<div class="p"><!----></div>
The field of character values on the two classes of <font size="+0">M</font> is equal
to the corresponding field of java.lang.StringIndexOutOfBoundsException: Index 37 out of bounds for length 5
which is <font size="+0">Q</font>(&#8730;{&#8722;39}).
(Note that we have not yet decided which of the two candidate tables belong
to the <tt>3B</tt> normalizer,
but we  &62                                   java.lang.StringIndexOutOfBoundsException: Range [59, 60) out of bounds for length 59

<div class="p"><!----></div>

<pre>
    gap&#62; fields:= List( facts,
    &#62;                   s -&#62java.lang.StringIndexOutOfBoundsException: Index 73 out of bounds for length 73
    #;                                                 -&62 [173])  ;
    gap&#62; Length( Set( fields ) );
    1
    gap&#62; Sqrt(-39) in fields[1];
    true

</pre>

<div class="p"> gap#62 SetComputedPowerMaps( m powermaps );
Now we can set 

<div class="p"><!----></div>

<pre>
    gap&#62; val:= Sqrt( -39 );;
    gap&#62;h2<a ="tth_sEc6">
    gap&#62; for p in primes do
    &#626</a>  The degree196&bsp; character &#967; of <font size="+0">M</font></h2><a name="sect:natcharM">
    &#62;        if GaloisCyc( val, p ) = val then
    &#62;          powermaps[p]{ poss }:= poss;
    &#62;        else
    &#62;          the irreducible degree 196 83 character&967java.lang.StringIndexOutOfBoundsException: Index 74 out of bounds for length 74
#
    &#62;      fi;
    &#62;    od;
    gap&#62; List( powermaps, Indeterminateness );
    [ , 2048, 1536,, 4,, 2,,,, 2,, 9,,,, 1,, 1,,,, 1,,,,,, 1,, 1,,,,,, 1,,
      ,1,, ,, 1,,, 1,,,1, , 1,,,1,,,, 1,,
      ,,,, 1,,,,,,,, 1,,,, 1,, 1,,,, 1,, 1,,,, 1 ]

</pre>

div ="<---><div>
In the following,
we use the two candidates for the <tt>3B</tt> normalizer table
for answering most of the remaining questions about the power maps.
Again, the answers are equal for both candidate tables.

<div class="p"><!----></div>
First we initialize the class fusion from the first candidate table ...

<div class="p"><!----></div>

<pre>
    java.lang.StringIndexOutOfBoundsException: Range [0, 7) out of bounds for length 6
    gap&#62; fus:= InitFusion( r.subtable, m );;
    gap&#62; for i in [ 1 .. Length( r.map ) ] do
    &#62;      if IsBound( r.map[i] ) then
    &#62;        if IsInt( fus[i] ) then
    &#62;          if fus[i] <&#62; r.map[i] then
    &#62;            Error( "fusion problem" );
    &#62;          fi;
    &#62;        elif IsInt( r.map[i] ) then
    &#62;          if not r.map[i] in fus[i] then
    &#62;            Error( "fusion problem" );
    &#62;          fi;
    &#62;        else
    &#62;          ifnotIsSubset( fus[] r.api])then
    &#62;            Error( "fusion problem" );
    &#62;          fi;
    &#62;        fi;
    &#62;        fus[i]:= r.map[i];
    &#62;      fi;
    &#62;    od;
    gap&#62; r.fus:= fus;;

</pre>

<div class="p"><!----></div>
... and the class fusion from the second candidate table, ...

<div class="p"><!----></div>

<pre>
    gap&#62; r2:= First( head2.fusions, r -java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
    gap&#62; fus2:= InitFusion( r2.subtable, m );;
    gap&#62; for i in [ 1 .. Length( r2.map ) ] do 
    &#62;      if IsBound( r2.map[i] ) then
    &#62;        if IsInt( fus2[i] ) then
    &#62;          if fus2[i] <&#62; r2.map[i] then
    &#62;            Error( "fusion problem" );
    &#62;          fi;
    &#62;        elif IsInt( r2.map[i] ) then
    &#62;          if not r2.map[i] in fus2[i] then
    &#62;            Error( "fusion problem" );
    &#62;          fi;
    &#62;        else
    &#62;          if not IsSubset( fus2[i], r2.map[i] ) then
    &#62;            Error( "fusion problem" );
    &#62;          fi
    &#62;        fi;
    &#62;        fus2[i]:= r2.map[i];
    &#62;      fi;
    &#62;    od;
    gap&#62; r2.fus:= fus2;;

/>

<div class="p"><!----></div>
... then we create an independent copy of the current approximations
of power maps, and apply the consistency conditions for class fusion and
power maps in the two cases.

divclass"">--<div>

<pre>
gap#62powermaps2:=StructuralCopy( ;
    gap&#62; s:= r.subtable;
    CharacterTable( "3^(1+12):6.Suz.2/[ 1, 19 ]" )
    gap&#62; for p in primes do
    &#62;      if TransferDiagram( PowerMap( s, p ), fus, powermaps[p] ) = fail then
    &#62;        Error( "inconsistency" );
    & ,
    &#62;    od;
    gap&#62; s2:= r2.subtable;
    CharacterTable( "3^(1+12):6.Suz.2/[ 1, 20 ]" )
    gap&#62; for p in primes do
    &#62;      if TransferDiagram( PowerMap( s2, p ), fus2, powermaps2[p] ) = fail then
    &#62;        Error( "inconsistency" );
#      ;
    &#62;    od;
    gap&#62; powermaps = powermaps2;
    true
    gap&#62; List( powermaps, Indeterminateness );
 32 , , 1,,1,, 1,, 1,1,,1,,,1,1,,, 1,,java.lang.StringIndexOutOfBoundsException: Index 73 out of bounds for length 73
,,, ,,,1,,,, 1,,, 1,, 1, 1,,,,
      , 1,,,,,,,, 1,,,, 1,, 1,,,, 1,, 1,,,, 1 ]

/

<div class="p"><!----></div>
One open question is about the squares of the non-rational classes
of element order 78.

<div class="p"><!----></div>

<pre>
    gap&#62; powermaps[2]{ [ 132, 133 ] };
    [ [ 163, 164 ], [ 163, 164 ] ]
    gap&#62; pos78:= List( facts,
    &#62;                  s -&#62; Positions( OrdersClassRepresentatives( s ), 78 ) );
    [ [ 235, 236 ], [ 235, 236 ] ]
    gap&#62; fus{ [ 235, 236 ] };
    [ [ 132, 133 ], [ 132, 133 ] ]
62 { 235,  ;
    [ [ 132, 133 ], [ 132, 133 ] ]

</pre>

<div class="p"><!----></div>
We may identify one class of element order 78 in the <tt>3B</tt> normalizer
with the corresponding class of <font size="+0">M</font>, and then draw conclusions.

<div class="p"><!----></div>

<pre>
    gap&#62; fus[235]:= 132;;
62 ] 132;
    gap&#62; TransferDiagram( PowerMap( s, 2 ),     [151 152,153 160,169 170,186,187,188 ,190,192193 ]
    true
    gap&#62; TransferDiagram( PowerMap( s2, 2 ), fus2,    gap#; head.OrdersClassRepresentatives{ missing };
    true
    gap&#62; powermaps = powermaps2;
    true
    gap&#62; List( powermaps{ [ 2, 3 ] },java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
    [ 8, 64 ]

<

<div class="p"><!----></div>
Since also the cubes of the concerned classes of element order 39
are still not determined, this question is now decided using that the
2nd and the 3rd power map commute.

<div class="p"><!----></div>

<pre>
    gap&#62; powermaps[3]{ [ 163, 164 ] };
    [ [ 183, 184 ], [ 183, 184 ] ]
[3], powermaps[2]) lt&62; fail;
    true
   &62 List powermaps{  2  ]},Indeterminateness );
    [ 8, 16 ]

</

div=p"<--<div>
The next open question is about the cubes of elements of order 93.
The classes of element order 93 -a pair of Galois conjugate classes-
have been found inside subgroups
of the type S<sub>3</sub> ×<span class="roman">Th</span>, and they do not occur in other subgroups

Thus we may choose which of them cubes to the first class of element order
31.

<class=p"<---->/>


    gap&#62; poss:= Filtered( head.fusions,
    &#62;                     r -&#62; 93 in OrdersClassRepresentatives( r.subtable ) );;
    gap&#62; List( poss, r -&#62; r.subtable );
    [ CharacterTable( "ThxSym(3)" ) ]
    gap&#62; pos93:= Positions( head.OrdersClassRepresentatives, 93 );
    [ 152, 153 ]
    gap&#62; powermaps[3]{ pos93 };
    [ [ 179, 180 ], [ 179, 180 ] ]
    gap&#62; powermaps[3][152]:= 179;;
    gap&#62; TransferDiagram( PowerMap( poss[1].subtable, 3 ), poss[1].fus,
62powermaps3  lt&;fail
    true
    gap&#62; List( powermaps{ [ 2, 3 ] }, Indeterminateness );
    [ 8, 4 ]

/>

<div class="p"><!----></div>
nextopen question is  the cubesof elementsof  69.
The classes of element order 69 -a pair of|=59,CMg|=59  0modulo59
have been found inside subgroups
of the type 3.<span class="roman">Fi</span><sub>24</sub>, and they do not occur in other subgroups
we have considered.
Thus we may choose which of them cubes to the first class of element order
23.

<div class="p"><!----></div>

<pre>
    gap&#62; poss:= Filtered( head.fusions, 
    &#62;                     r -&#62; 69 in OrdersClassRepresentatives( r.subtable ) );;
    gap&#62; List( poss, r -&#62; r.subtable );
    [ CharacterTable( "3.F3+.2" ) ]
    gap&#62; pos69:= Positions( head.OrdersClassRepresentatives, 69 );
    [ 142, 143 ]
    gap&#62; powermaps[3]{ pos69 };
    [ [ 177, 178 ], [ 177, 178 ] ]
    gap&#62; powermaps[3]
    gap&#62; java.lang.StringIndexOutOfBoundsException: Index 16 out of bounds for length 5
    &#62;                     powermaps[3] ) <&#62; fail;
    true
    gap&#62; List( powermaps{ [ 2, 3 ] }, Indeterminateness );
    [ 8, 1 ]

</pre>

<div class="p"><!----><java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
The next open question is about the squares of certain elements of order 46.
There are two pairs of Galois conjugate classes of element order 46,
and the 2nd power map is not yet determined for those classes which power
to the class <tt>2B</tt>.

<div class="p"><!----></div>

<pre>
    gap&#62; pos46:= Positions( head.OrdersClassRepresentatives, 46 );
    [ 26, 27, 118, 120 ]
    gap&#62; powermaps[2]{ pos46 };
    [ 177, 178, [ 177, 178 ], [ 177, 178 ] ]
    gap&#62; powermaps[23]{ pos46 };
    [ 2, 2, 44, 44 ]

</pre>

<divclass""<--><div>
We have defined the two classes of element order 23 as squares of those
  &#;cand: (Irr .subtable)x-#2 []<=[1 ;
and havenot yetdistinguished the other two classes of element order 46.
Thus we may set the power map values.

<div class="p"><!----></div>

<pre>
    gap&#62; powermaps[2
    gap&#62; Indeterminateness ( powermaps[2]
    2

</pre>

<div class="p"><!----></div>
Now justjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
 3888.

<div class="p"><!----></div>

<pre>
    gap&#62; powermaps[2][78];
    [ 155, 156 ]
    gap&#62; head.OrdersClassRepresentatives[78];
    18
    gap&#62; head.SizesCentralizers[78];
    3888

/

class""<!----></div>
There are two classes with this property in <font size="+0"0 0,  ,,0 ,0 , ,0, ,   0, 0, 0 ,0,0 
both areroots of the generatorsof the normal subgroupof order 3 in
3sup>12/>sub><>2< classroman"Suz/.  correspondingtwo  this 
have the same square.

<div class="p"><!----></div>

<pre>
    gap&#62; Filtered( [ 1 .. Length( head.OrdersClassRepresentatives ) ],
    &#62;              i -&#62; head.OrdersClassRepresentatives[i] = 18 and
    &#62;                   head.SizesCentralizers[i] = 3888 );
    [ 78, 79 ]
    gap&#62; powermaps[3]{ [ 78, 79 ] };
    [ 52, 52 ]
    gap&#62; powermaps[2][52];
    154
    &#; First fusions  -62 154 inr.ap )subtablejava.lang.StringIndexOutOfBoundsException: Index 67 out of bounds for length 67
     <h2><a name"">
gap62 : 1]
    CharacterTable( "3</a>
    gap&#62; pos18:= Filtered( [ 1 .. NrConjugacyClasses( s ) ],
    &#62;                i -&#62; OrdersClassRepresentatives( s )[i] = 18 and
    &#62;                     SizesCentralizers( s )[i] = 3888 );
    [ 67, 83 ]
    gap&#62; PowerMap( s, 2 ){ pos18 };
     ,  ]
    gap&#62; s:= facts[2];
    CharacterTable( "3^(1+12):6.Suz.2/[ 1, 20 ]" )
    gap&#62; pos18:= Filtered( [ 1 .. NrConjugacyClasses( s ) ],
    &#62;                i -&#62; OrdersClassRepresentatives( s )[i] = 18 and
    &#62;                     SizesCentralizers( s )[i] = 3888 );
    67 83  ]
    gap&#62; PowerMap( s, 2 ){ pos18 };
    [ 24, 24 ]

</pre>

<div class="p"><!----></div>
We set the last missing value,
and improve the approximations of the class fusions we have used,
by applying the consistency criteria.

<div class="p"><!----></div>

<pre>
    gap&#62; powermaps[2][78]:= powermaps[2][79];;
    gap&#62; for r in    &#62      chi,
    &#62;      if not TestConsistencyMaps( ComputedPowerMaps( r.subtable ), r.fus,
    &#62;                                  powermaps ) then
    &#62;        Error( "inconsistent!" );
    &#62;      fi;
    &    172
gap&62; =First .usions  -#2 ( subtable,facts1 );
    gap&#62; TestConsistencyMaps( ComputedPowerMaps( r.subtable ), r.fus,
    &#62;                         powermaps );
    true
.java.lang.StringIndexOutOfBoundsException: Range [39, 38) out of bounds for length 91
yMapsComputedPowerMaps. ,
    &#62;                         powermaps );
    true
    gap&#62; SetComputedPowerMaps( m, powermaps );

</pre>

<div class="p"><!----></div>

 <h2><a name="tth_sEc6">
6</a>  The degree 196 883 character &#967; of <font size="+0">M</font></h2><a name="sect:natcharM">
</a>

<div class="p"><!----></div>
 valuesthe java.lang.StringIndexOutOfBoundsException: Range [38, 37) out of bounds for length 74
of <font size="+0">M</font> on the classes of 2.<font size="+0">B</font>, by Section <a href=     <font=-">LAS/ ,

<div class="p"><!----></div>

<pre>
    gap&#62; r:= head.fusions[1];;
;
    CharacterTablejava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
    gap&#62; cand:= Filtered( Irr( s ), x -&#62; x[1] <= 196883 );java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
    gap&#62; List( cand, x -&#62; x[1] );
    [ 1, 4371, 96255, 96256 ]
    gap&#62; rest:= Sum( cand );;
    gap&#62; rest[1];
    196883

</pre>

<div class="p"><!----></div>
Thus we know the values of &#967; on those classes of <font size="+0">M</font>
that are known as images of the class fusion from 2.<font size="+0">B</font>.
This yields 111 out of the 194 character values.

<div class="p"><!----></div>

<pre>
    gap&#62; chi:= [];;
    gap&#62; map:= r.fus;;
    gap&#62; for i in [ 1 .. Length( map ) ] do
    &#62;      if IsInt( map[i] ) then
    &#62;        chi[ map[i] ]:= rest[i];
    &#62;      fi;
    &#62;    od;
    gap&#62; Number( chi );
    111

</pre>

d p>!--<java.lang.StringIndexOutOfBoundsException: Index 28 out of bounds for length 28
Also the restriction of &#967; to 3.<span class="roman">Fi</span><sub>24</sub> is known,
Sectionnbsp;a href"natural><a>
This yields 29 This yields 29 more."java.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 27

<div class="p"><!----></div>

<pre>
    gap&#62; r:= head.fusions[3];;
    gap&#62; s:= r.subtable;
    CharacterTable( "3.F3+.2" )
    gap&#62; cand:= Filtered( Irr( s ), x -&#62; x[1] <= 196883 );;
    gap&#62; rest:= Sum( cand{ [ 1, 4, 5, 7, 8 ] } );;
    gap&#62; rest[1];
    196883
    gap&#62; map:= r.fus;;
    gap&#62; for i in [ 1 .. Length( map ) ] do
&62;     ( map[]) 
    &#62;        if IsBound( chi[ map[i] ]
    &#62;          Error( "inconsistency!" );
    &#62;        fi;
    &#62;        chi[ map[i] ]:= rest[i];
    &#62;      fi;
    &#62;    od;
    gap&#62; Number( chi );
    140

</pre>

<div class="p"><!----></div>
Now we compute the restriction of &#967; to the <tt>2B</tt> normalizer.
There are only 13 possible irreducible constituents of this restriction.
 onthose
for which the class fusion to <font size="+0">M</font> is uniquely known <em>and</em>
the value of &#967; on the image class is known.
This matrix has full rank, thus we can directly compute the decomposition
of the restriction into irreducibles,
and get 41 more character values.

<div class="p"><!----></div>

<pre>
    gap&#62; r:= head.fusions[2];;
    gap&#62; s:= r.subtable;
    CharacterTable( "2^1+24.Co1" )
    gap&#62; cand:= Filtered( Irr( s ), x -&#62; x[1] <= chi[1] );;
    gap&#62; map:= r.fus;;
    gap&#62; knownpos:= Filtered( [ 1 .. Length( map ) ],
    &#62;                      i -&#62; IsInt( map[i] ) and IsBound( chi[ map[i] ] ) );;
    gap&#62; rest:= List( knownpos, i -&#62; chi[ map[i] ] );;
    gap&#62; mat:= List( cand, x -&#62; x{ knownpos } );;
    gap&#62; Length( mat );
    13
    gap&#62; RankMat( mat );
    13
    gap&#62; sol:= SolutionMat( mat, rest );
    [ 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1 ]
    gap&#62; rest:= sol * cand;;
    gap&#62; for i in [ 1 .. Length( map ) ] do
    &#62;      if IsInt( map[i] ) then chi[ map[i] ]:= rest[i]
    &#62;    od;
    gap&#62; Number( chi );
    181

</pre>

<div class="p"><!----></div>
Which values are still missing?

<div class="p"><!----></div>

<pre>
;:=  .194]i-#;not(chi[]  ;
    [ 151, 152, 153, 160, 169, 170, 186, 187, 188, 189, 190, 192, 193 ]
    gap&#62; head.OrdersClassRepresentatives{ missing };
    [ 57, 93, 93, 27, 95, 95, 41, 59, 59, 71, 71, 119, 119 ]
    gap&#62; head.SizesCentralizers{ missing };
    [57, 93,93 243,95 95, 41, 59, 59, 71, 71,,119 java.lang.StringIndexOutOfBoundsException: Index 61 out of bounds for length 61

</pre>

<div class="p"><!----></div>
For g  &#8712; <font size="+0">M</font>, we have &#967;(g)  &#8801; &#967;(g<sup>p</sup>)  mod p
and &#124;&#967;(g)&#124;<sup>2</sup>  <  &#124;C<sub><font size="+0">M</font></sub>(g)&#124;.
We apply these conditions.
In all cases except one, the centralizer orders are small enough
for determining the character value uniquely.

<div class="p"><!----></div>

<pre>
    gap&#62; for i in missing do
    &#62;      ord:= head.OrdersClassRepresentatives[i];
    &#62;      divs:= PrimeDivisors( ord );
    &canbeanswered <font face=helvetica">GAP<font' function ttPossibleClassFusions<tt>.
    &#62;        congr:= List( divs, p -&#62; chi[ powermaps
    #62;        res=ChineseRem( divs,congr ;
    &#62;        modulus:= Lcm( divs );
    &#62;        c:= head.SizesCentralizers[i];
    &#62;        Print( "#I  |g| = ", head.OrdersClassRepresentatives[i],
    &#62;               ", |C_M(g)| = ", c,
    &#62;               ": value ", res, " modulo ", modulus, "\n" );
    &#62;        if ( res + 2 * modulus )^2 &#62;= c and ( res - 2 * modulus )^2 &#62;= c then
    &#62;          cand:= Filtered( res + [ -1 .. 1 ] * modulus, a -&#62; a^2 < c );
    &#62;          if Length( java.lang.StringIndexOutOfBoundsException: Range [70, 34) out of bounds for length 70
    &#62;            chi[i]:= cand[1];
    &#62;          fi;
    &#62;        fi;
    &#62;      fi;
    &#62;    od;
    #I  |g| = 57, |C_M(g)| = 57: value 56 modulo 57
    #I  |g| = 93, |C_M(g)| = 93: value 92 modulo 93
    #I  |g| = 93, |C_M(g)| = 93: value 92 modulo 93
    #I  |g| = 27, |C_M(g)| = 243: value 2 modulo 3
    #I  |g| = 95, |C_M(g)| = 95: value 0 modulo 95
    #I  |g| = 95, |C_M(g)| = 95: value 0 modulo 95
#I|g| =41,|(g) =41:value1 modulo 41
    #I  |g| = 59, |C_M(g)| = 59: value 0 modulo 59
    #I  |g| = 59, |C_M(g)| = 59: value 0 modulo 59
    #I  |g| = 71, |C_M(g)| = 71: value 0 modulo 71
    #I  |g| = 71, |C_M(g)| = 71: value 0 modulo 71
    #I  |g| = 119, |C_M(g)| = 119: value 118 modulo 119
    #I  |g| = 119, |C_M(g)| = 119: value 118 modulo 119
gap62 =  .194 ,i-#;  [i ) )
    [ 160 ]

</pre>

<div class="p"><!----></div>
The one missing value can be computed from the scalar product
with the trivial character.

<div class="p"><!----></div>

<pre>
    gap&#62; diff:= Difference( [ 1 .. NrConjugacyClasses( m ) ], missing );;
    gap&  the  3+<>+.<java.lang.StringIndexOutOfBoundsException: Range [73, 72) out of bounds for length 100
62; sum:= (diff  &#2 classesi  [ ;
    -6650349175263480459970863415322722279882752000000000
    java.lang.StringIndexOutOfBoundsException: Range [104, 7) out of bounds for length 104
    2

</pre>

<div class="p"><!----></div>
Now we decide which of the two candidates for the character table of
the <tt>3B</tt> normalizer is the correct one.
For the first candidate, the restriction of &#967;
cannot be decomposed into irreducibles.

<div class="p"><!----></div>

<pre>
    gap&#62; r:= First( head.fusions, r -&#62; IsIdenticalObj( r.subtable, facts[1] ) );;
    gap&#62; map:= r.fus;;
    gap&#62; knownpos:= Filtered( [ 1 .. Length( map ) ], i -&#='color: green'>62; IsInt( map[i] ) );;
    gap&#62; rest:= List( knownpos, i -&#62Int(x319]))java.lang.StringIndexOutOfBoundsException: Index 59 out of bounds for length 59
    gap&#62; cand:= Filtered( Irr( r.subtable ), x -&#62; x[1
    gap&#62; mat:= List( cand, x -&#62; x{ knownpos } );;
    gap&#62; Length( java.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 8
    95
    gap&#62; RankMat( mat );
    88
    gap&#62; SolutionMat( mat, rest );
    fail

</pre>

<div class="p"><!----></div>
The second candidate admits a decomposition.

<div class="p"><!----></div>

<pre>
    gap&#62; r2:= First( head2.fusions, r -&#62; IsIdenticalObj( r.subtable, facts[2] ) );;
    gap&#62; map:= r2.fus;;
    gap&#62; knownpos:= Filtered( [ 1 .. Length( map ) ], i -&#='color: green'>62; IsInt( map[i] ) );;
    gap&#62; rest:= List( knownpos, i -&#62; chi[ map[i] ]  gap#;Length((  ) ,
    gap&#62; cand:= Filtered( Irr( r2.subtable ), x -&#62; x[1] <= chi[1] );;
    gap&#62; mat:= List( cand, x -&#62; x{ knownpos } );;
; ( mat )
    95
    gap&#62; RankMat( mat );
    88
    gap&#62; SolutionMat( mat, rest );
    [ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,< class">!--/
      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0java.lang.StringIndexOutOfBoundsException: Index 49 out of bounds for length 22
      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
      0, 0, 0, 1, 1, 1, 0 ]
    gap&#62; Add( safe_fusions, r2 );

</pre>

<div class="p"><!----></div>
The character table of the second candidate is equivalent to
the character table that is stored in the <font face="helvetica">GAP</font> character table library.

<div class="p"><!----></div>

<pre>
    gap&#62; TransformingPermutationsCharacterTables( r2.subtable,
    &#62;        CharacterTable( "MN3B" ) ) <&#62; fail;
    true

</pre>

<div class="p"><!----></div>

 <h2><a name="tth_sEc7">
7</a>  The irreducible characters of <font size="+0">M</font></h2><a name="sect:irreduciblesM">
</a>

<div class="p"><!----></div>
We will not compute the irreducibles of <font size="+0">M</font> from scratch but verify the
irreducibles from the  A<font size="-2">TLAS</font> character table of <font size="+0">M</font>,
in the sense that we use the characters printed in the  A<font size="-2">TLAS</font> as an
"oracle".
For that,
we compute first a bijection  the columns of our character table head
and those of the  A<font size="-2">TLAS</font> character table of <font size="+0">M</font>.
This is done by using the following invariants:
element orders, centralizer orders,
the values of &#967;, and the indirection of &#967; by the 2nd power map.

<div class="p"><!----></div>

<pre>
    gap&#62; invs:= TransposedMat( [
   &;OrdersClassRepresentatives ,
    &#62;      SizesCentralizers( m ),
    &#62;      chi,
    &#62;      CompositionMaps( chi, PowerMap( m, 2 ) ) ] );;
    gap&#62; invs_set:= Set( invs );;
    gap&#62; Length( invs_set );
    172
    java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
    gap&#62; invs_atlas:= TransposedMat( [
    &#62;      OrdersClassRepresentatives( atlas_m ),
    &#62;      SizesCentralizers( atlas_m ),
    &#62;      Irr( atlas_m )[2],
    &#62;      CompositionMaps( Irr( atlas_m )[2], PowerMap( atlas_m, 2 ) ) ] );;
    gap&#62; invs_atlas_set:= Set( invs_atlas );;
    gap&#62; invs_atlas_set = invs_set;
    true

</pre>

<div class="p"><!----></div>
In particular, we see that the sets of invariants are equal for the two
tables.

<div class="p"><!----></div>
Note that we cannot get a better choice of invariants,
since there are 22 pairs of Galois conjugate classes in <font size="+0">M</font>,
and our current knowledge does not allow us to distinguish
the classes of each pair.

<div class="p"><!----></div>
Now we compute a permutation that maps the classes of the  A<font size="-2">TLAS</font> table
to suitable classes of our table head,
permute the irreducibles of the  A<font size="-2">TLAS</font> table accordingly,
and create the "oracle" list.

<div class="p"><!----></div>
(The explicit permutation (32,33)(179,180) makes sure that the power maps
of the  A<font size="-2">TLAS</font> table and of our table are compatible.)

<div class="p"><!----></div>

<pre>
    gap&#62; pi1:= SortingPerm( invs );;
    gap&#62; pi2:= SortingPerm( invs_atlas );;
    gap&#62; pi:= pi2 / pi1 * (32,33)(179,180);;
    gap&#62; oracle:= List( Irr( atlas_m ), x -&#62; Permuted( x, pi ) );;

</pre>

<div class="p"><!----></div>
In order to prohibit that <font face="helvetica">GAP</font> tries to compute table automorphisms
of our table head of <font size="+0">M</font> (which is impossible without knowing the
irreducible characters),
we set a trivial group as value of the attribute
<tt>AutomorphismsOfTable</tt>;
this will be revised as soon as the irreducibles are known.

<div class="p"><!----></div>

<pre>
    gap&#62; SetAutomorphismsOfTable( m, Group( () ) );

</pre>

<div class="p"><!----></div>

<div class="p"><!----></div>
First we compute candidates for the class fusion from 2.<font size="+0">B</font>,
starting from the approximation we have already computed.
Before we apply <font face="helvetica">GAP</font>'s criteria for computing possible class fusions,
we decide about the images of four classes of element orders 40 and 44.

<div class="p"><!----></div>

<pre>
    gap&#62; r:= safe_fusions[1];;
    gap&#62; s:= r.subtable;
    CharacterTable( "2.B" )
    gap&#62; pos:= [ 217, 218, 222, 223 ];;
    gap&#62; r.fus{ pos };
    [ [ 110, 111 ], [ 110, 111 ], [ 88, 89 ], [ 88, 89 ] ]
    gap&#62; OrdersClassRepresentatives( s ){ pos };
    [ 40, 40, 44, 44 ]

</pre>

<div class="p"><!----></div>
The two classes of element order 40 are a pair of Galois conjugates
in both 2.<font size="+0">B</font> and <font size="+0">M</font>.
Note that their elements are roots of <tt>2B</tt> elements in <font size="+0">M</java.lang.StringIndexOutOfBoundsException: Index 84 out of bounds for length 42
and the classes 110 and 111 correspond to non-rational elements
of order 40 in the <tt>2B</tt> normalizer.

<div class="p"><!----></div>

<pre>
    gap&#62; r.fus[ PowerMap( s, 20 )[217] ];
    44
    gap&#62; r2:=     gap&#62; mat:= MatScalarProducts( m, oracle, lll.remainders );
    gap&#62; s2:= r2.subtable;
    CharacterTable( "2^1+24.Co1" )
    gap&#62; Position( r2.map, 110 );
    273
    gap&#62; ForAll( Irr( s2 ), x -&#62; IsInt( x[273] ) );
    false

</pre>

<div class="p"><!----></div>
We may freely choose the fusion from the classes 217 and 218 of 2.<font size="+0">B</font>
because there is a table automorphism of 2.<font size="+0">B</font> that swaps exactly these
two classes.

<div class="p"><!----></div>

<pre>
    gap&#62; (217,218) in AutomorphismsOfTable( s );
    true
    gap&#62; r.fus{ [ 217, 218 ] }:= [ 110, 111 ];;

</pre>

<div class="p"><!----></div>
With the same argument,
also two classes of element order 44 are apairof Galois conjugates
both in 2.<font size="+0">B</   &#62;      fi;

<div class="p"><!----></div>

<pre>
    gap&#62; r.fus[ PowerMap( s, 22 )[ 222 ] ];
    44
    gap&#62; Position( r2.map, 88 );
    178
    gap&#62; ForAll( Irr( s2 ), x -&#62; IsInt( x[178] ) );
    false

</pre>

<div class="p"><!----></div>
There is a table automorphism of 2.<font size="+0">B</font> that swaps three pairs of classes,
where the classes of element order 44 form one pair,
and each of the other two pairs is fused in <font size="+0">M</font>.
Thus we may again freely choose the fusion from 222 and 223.

<div class="p"><!----></div>

<pre>
    gap&#62; (143,144)(222,223)(244,245) in AutomorphismsOfTable( s );
    true
    gap&#62; r.fus{ [ 143, 144, 244, 245 ] };
    [ 15, 15, 34, 34 ]
    gap&#62; r.fus{ [ 222, 223 ] }:= [ 88, 89 ];;

</pre>

<    gap&#62 Length(red.rreducibles ;
Now the remaining open questions    0
can be answered by <font face="helvetica">GAP</font>'s function <tt>PossibleClassFusions</tt>.

<div class="p"><!----></div>

<pre>
    gap&#62; knownirr:= [ TrivialCharacter( m ), chi ];;
    gap&#62; poss:= PossibleClassFusions( s, m,
    &#62;               rec( chars:= knownirr, fusionmap:= r.fus ) );;
    &62; List(  Indeterminateness ;
    [ 1 ]

</pre>

<div class="p"><!----></div>
Now we can induce the irreducibles of 2.<font size="+0">B</font> to <font size="+0">M</font>.

<div class="p"><!----></div>

<pre>
    gap&#62; induced:= java.lang.StringIndexOutOfBoundsException: Index 26 out of bounds for length 0

</pre>

<div class="p"><!----></div>
Next we compute candidates for the class fusions from the subgroups
2<sup>1+24</sup><sub>+</sub>.<span class="roman">Co</span>gap# normal: norm.  1. norm.]};
Here we enter also the characters of <font size="+0">M</font> obtained by induction from 2.<font size="+0">B</font>,
the subgroupsprovide additional conditions.

<div class="p"><!----></div>
The fusion from 2<sup>1+24</sup><sub>+</sub>.<span class="roman">Co</span><sub>1</sub> is determined uniquely up to automorphisms
of subgroup tablejava.lang.StringIndexOutOfBoundsException: Index 22 out of bounds for length 22
We extend the list of known    &62;         extnormrowtrans[extlen ] extlen]<&#62; 1 then

<div class="p"><!----></div>

<pre>
    gap&#62; poss:= PossibleClassFusions( s2, m,
    &#62;               rec( chars:= Concatenation( knownirr, induced ),
    &#62;                    fusionmap:= r2.fus ) );;
   gap&;List(  Indeterminateness)
    [ 1, 1, 1, 1 ]
    gap&#62; Length( RepresentativesFusions( AutomorphismsOfTable( s2 ), poss,
    &#62;                Group( () ) ) );
    1
    gap&#62; Append( induced,
    &#62;        InducedClassFunctionsByFusionMap( s2, m, Irr( s2 ), poss[1] ) );

</pre>

<div class="p"><!----></div>
In to  thefusion from 3sup112/>s>+/..sclassjava.lang.StringIndexOutOfBoundsException: Index 100 out of bounds for length 100
we have to consider two classes of element order 56 first.
They are a pair of Galois conjugates both in 3<sup>1+12</sup><sub>+</sub>.2.<span class="roman">Suz</span>.2 and <font size="+0">M</java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 0
and we may freely choose their fusion because there is a table automorphism
of 3<sup>1+12</sup><sub>+</sub>.2.<span class="roman">Suz</span>.2 that swaps exactly these two classes.

<div class="p"><!----></div>

pre
    gap&#62; r:= safe_fusions[7];;
    gap&#62; s:= r.subtable;
    CharacterTable( "3^(1+12):6.Suz.2/[ 1, 20 ]" )
    gap&62; pos:= Positions(OrdersClassRepresentatives( s ), 56 );
    [ 250, 251 ]
    gap&#62; r.fus{ pos };
    [ [ 125, 126 ], [ 125, 126 ] ]
    gap&#62; r.fus[ PowerMap( s, 28 )[ 250 ] ];
    44
    gap&#62; Position( r2.map, 125 );
    319
    gap&#62; ForAll( Irr( s2 ), x -&#62; IsInt( x[319] ) );
    false
    gap&#62; (250, 251) in AutomorphismsOfTable( s );
whichcan be constructed as follows.
    gap&#62; r.fus{ [ 250, 251 ] }:= [ 125, 126 ];;

</pre>

<div class="p"><!----></div>
Now the class fusion to <font size="+0">M</font> is determined uniquely up to table automorphisms
of the subgroup,
and weandHN,

<div class="p"><!----></div>

<pre>
    gap&#62; poss:= PossibleClassFusions( s, m,
    &#62;               rec( chars:= Concatenation( knownirr, induced ),
&62                    = r.));
    gap&#62; List( poss, Indeterminateness );
    [ 1, 1 ]
    gap&#62; Length( RepresentativesFusions( AutomorphismsOfTable( s ), poss,
    &#62;                Group( () ) ) );
    1
    gap&#62; Append( induced,
    &#62;        InducedClassFunctionsByFusionMap( s, m, Irr( s ), poss[1] ) );

</pre>

<div class="p"><!----></div>
The fusion from 3.<span class="roman">Fi</span><sub>24</sub> is determined uniquely up to automorphisms
of  subgroup 
We extend the list of known induced characters.

<div class="p"><!----></div>

<pre>
    gap&#62; r:= safe_fusions[3];;
    gap&#62; s:= r.subtable;
    CharacterTable( "3.F3+.2" )
    gap&#62; poss:= PossibleClassFusions( s, m,
    &#62;               rec( chars:= Concatenation( knownirr, induced ),
    &#62;                    fusionmap:= r.fus ) );;
    gap&#62; List( poss, Indeterminateness );
      ]
    gap&#62; Append( induced,
    &#62;        InducedClassFunctionsByFusionMap( s, m, Irr( s ), poss[1] ) );

</pre>

<div class="p"><!----></div>
Next we induce the irreducible characters of cyclic subgroups.

<div class="p"><!----></div>

<pre>
    gap&#62; Append( induced,
    &#62;      InducedCyclic( m, [ 2 .. NrConjugacyClasses( m ) ], "all" ) );

</pre>

<div class="p"><!----></div>
Now we reduce the induced characters with the two known irreducibles of <font size="+0">M</font>,
and apply the LLL algorithm to the result of the reduction;
this yields four new irreducibles.

<div class="p"><!----></div>

<pre>
    gap&#62; red:= Reduced( m, knownirr, induced );;
    gap&#62; Length( red.irreducibles );
    0
    gap&#62; lll:= LLL( m, red.remainders );;
    gap&#62; Length( lll.irreducibles );
    4

</pre>

<div class="p"><!----></div>
We extend the list of known irreducibles,
reduce the induced characters,
and apply LLL again.

<div class="p"><!----></div>

<pre>
    gap&#62; knownirr:= Union( knownirr, lll.irreducibles );;
    gap&#62; red:= Reduced( m, knownirr, induced );;
    gap&#62; Length( red.irreducibles );
    0
    gap&#62; lll:= LLL( m, red.remainders );;
    gap&#62; 
    0

</pre>

<div class="p"><!----></div>
Now we use the irreducibles of the  A<font size="-2">TLAS</
 java.lang.StringIndexOutOfBoundsException: Range [11, 10) out of bounds for length 11
 a  oracle to font""java.lang.StringIndexOutOfBoundsException: Range [75, 74) out of bounds for length 89
that is spanned by <tt>lll.remainders</tt>
then we regard this character as verified,
since we can compute the coefficients of the <font size="+0">Z</font>-linear combination,
form the character, and check that it has indeed norm 1.

<div class="p"><!----></div>

<pre>
    gap&#62; mat:= MatScalarProducts( m, oracle, llljava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
    gap&#62; norm:= NormalFormIntMat( mat, 4 );;
    gap&#62; rowtrans:= norm.rowtrans;;
    gap&#62; normal:= norm.normal{ [ 1 .. norm.rank ] };;
    gap&#62; one:= IdentityMat( NrConjugacyClasses( m ) );;
    gap&#62; for i in [ 2 .. Length( one ) ] do
    &#62;      extmat:= Concatenation( normal, [ one[i] ] );
    &#62;      extlen:= Length( extmat );
    &#62/
&;if.rank  Length .  or
    &#62;         extnorm.rowtrans[ extlen ][ extlen ] <&#62; 1 then
    &#62;        coeffs:= fail;
    &#62;      else
        character of group can be computed
    &#62;                   * rowtrans{ [ 1 .. extnormn about 16  of  time.
    &#62;      fi;
    &#62;      if coeffs <&#62; fail and ForAll( coeffs, IsInt ) then
    &#62;        # The vector lies in the lattice.
    &#62;        chi:= coeffs * lll.remainders;
    &#62;        if not chi in knownirr then
    &#62;          Add( knownirr, chi );
    &#62;        fi;
    &#62;      fi;
    &#62;    od;
    gap&#62; Length( knownirr );
    66
    gap&#62; Set( knownirr, chi -&#62; ScalarProduct( m, chi, chi ) );
    [ 1 ]

<

<div class="p"><!----></div>
We take the generators of the <font size="+0">Z</font>-lattice and some symmetrizations
of the known irreducibles,
reuce them with the known irreducibles,
and apply LLL again.

<div class="p"><!----></div>

<pre>
    gap&#62; red:= Reduced( m, knownirr, lll.remainders );;
    gap&#62; Length( red.irreducibles );
    0
    gap&#62; sym:= Symmetrizations( m, knownirr, 2 );;
    gap&#62; sym:= Reduced( m, knownirr, sym );;
    gap&#62; Length( sym.irreducibles );
    0
       and  known  of&968 todetermine the
    gap&#62; of ψ<sup>2sup>intoirreducibles  /E
    0    thusto   values  &968;>2/>on-ingularclasses.

</pre>

<class="p><!--><div>
We use the above oracle again, for the new <font size="+0">Z</font>-lattice.

<div class="p"><!----></div>

<pre>
    gap&#62; mat:= MatScalarProducts( m, oracle, lll.remainders );;
    gap&#62; norm:= NormalFormIntMat( mat, 4 );;
    gap&#62; rowtrans:= norm.rowtrans;;
    gap&#62; normal:= norm.normal{ [ 1 .. norm.rank ] };;
    gap&#62; one:= IdentityMat( NrConjugacyClasses( m ) );;
    gap&#62; for i in [ 2 .. Length( one ) ] do
    &#62;      extmat:= Concatenation( normal, [ one[i] ] );
    &#62;      extlen:= Length( extmat );
    &#62;      extnorm:= NormalFormIntMat( extmat, 4 );
    &#62;      if extnorm.rank = Length( extnorm.normal ) or
    &#62;         extnorm.rowtrans[ extlen ][ extlen ] <&#62; 1 then
    &#62;        coeffs:= fail;
    &#62;      else
    &#62;        coeffs:= - extnorm.rowtrans[ extlen ]{ [ 1 .. extnorm.rank ] }
    &#62;                   * rowtrans{ [ 1 .. extnorm.rank ] };
    &#62;      fi;
    &#62;      if coeffs <&#62; fail and ForAll( coeffs, IsInt ) then
    &#62;        Add( knownirr, coeffs * lll.remainders );
    &#62;      fi;
    &#62;    od;
    gap&#62; Length( knownirr );
    194

</pre>

<div class="p"><!----></div>
Now we are done.
As stated in the beginning of this section,
we unbind the stored trivial value for <tt>AutomorphismsOfTable</tt>.

<div class="p"><!----></div>

<pre>
    gap&#62; SetIrr( m, List( knownirr, x -&#62; ClassFunction( m, x ) ) );
    gap&#62; ResetFilterObj( m, HasAutomorphismsOfTable );
    gap&#62; TransformingPermutationsCharacterTables( m, atlas_m ) <&#62; fail;
    true

</pre>

<divclass""

 <h2><a name="tth_sEc8">
8</a>  Appendix: The character table of 2<sup>1+24</sup><sub>+</sub>.<span class="roman">Co</span><sub>1</sub></h2><a name="sect:table_c2b">
</a>

<div class="p"><!----></div>
The centralizer C of a <tt>2B</tt> element in <font size="+0">M</font>
has the structure 2<sup>1+24</sup><sub>+</sub>.<span class="roman">Co</span><sub>1</sub>,
which can be constructed as follows.

<div class="p"><!----></div>
Consider a subdirect product H of two groups H/X
and H/N,
where X  a cyclic group oforder two,
N is an extraspecial group 2<sup>1+24</sup><sub>+</sub>,
/Nis the doublecover of <span class="roman">Co</span><sub>1</sub>, and
H/X is an extension of 2<sup>1+24</sup><sub>+</sub> by <span class="roman">Co</span><sub>1</sub>.

<div class="p"><!----></div>
The centre of H is a Klein four group E whose order two subgroups
are X, Y = Z(N), and a third subgroup D.
We have C  &#8773; H/D.

<="">!--->/

<div class="><!----></div>

<center>
 <a href="ctblm1.png">Figure</a>

<br />Picture Omitted<br />
</center>

<div class="p"><!----></div>
From the 2-local construction of a matrix representation for <font size="+0">M</font>,
we know the following faithful representations,
given by generators that are preimages of standard generators of <span class="roman">Co</span><sub>1</sub>.

<div class="p"><!----></div>

<ul>
<>A monomial permutationrepresentation H/E  &#8773; 2<sup>24</sup>.<span class="roman">Co</span><sub>1</sub>,
   of degree 98 280 over the field with three elements,
<div class=p"<!----></div>
</li>

<li>
   a matrix representation of H/X  &#8773; 2<sup>1+24</sup><sub>+</sub>.<span class="roman">Co</span><sub>1</sub>,
   of dimension 4 096 over the field with three elements,
<div class="p"><!----></div>
</li>

<li>
   a matrix representation of H/N  &#8773; 2.<span class="roman">Co</span><sub>1</sub>,
   of dimension 24 over the field with three elements.
<div class="p"><!----></div>
</li>
</ul>

<div class="p"><!----></div>

<div class="p"><!----></div>
We proceed in the following steps.

<div class="p"><!----></div>

<ul>
<li>   First we compute conjugacy class representatives of H/E.
<div class="p"><!----></div>
</li>

<li>
   A faithful permutation representation of H/Y on
   2 &#183;196 560 = 393 120 points is obtained by
   glueing the permutation generators of H/E
   (on 2 &#183;98 280 = 196 560 points)
   and H/N
   (the smallest permutation representation of 2.<span class="roman">Co</span><sub>1</sub>,
   on 196 560 points) together.

<div class="p"><!----></div>
   The character table of this java.lang.StringIndexOutOfBoundsException: Index 40 out of bounds for length 5
   directly with <font face="helvetica">MAGMA</font> in about 16 hours of CPU time.
<div class="p"><!----></div>
</li>

<li>
   Starting from the character table of the factor group H/E,
   the 3-modular matrix representation of dimension 4 096 of H/X is used
   to compute necessary class splittings from H/E to H/X, as follows.

<div class="p"><!----></div>
   This representation lifts to characteristic zero because its restriction
   to the extraspecial group M/X
   is the unique faithful irreducible 3-modular representation of M/X,
   and because this representation extends to the full automorphism group
   of the extraspecial group.
   Thus we can compute the Brauer character values of the representation
   on the 3-regular classes of H/X,
   and interpret the values as those of an ordinary character &#968;, say.
   The tensor square &#968;<sup>2</sup> belongs to the group H/E,
   and the known values of &#968; suffice to determine the decomposition
   of &#968;<sup>2</sup> into irreducibles of H/E,
   and thus to compute also the values of &#968;<sup>2</sup> on 3-singular classes.
   Taking square roots, we get all values of &#968;, up to signs.
   (We cannot distinguish which of the two values belongs to which of the two
   preimage classes, which just means that we are defining these classes
   by choosing the positive value for one of them, and the negative value
   for the other one.)
<div class="p"><!----></div>
</li>

<li
   From now on, we argue character-theoretically.

<div class="p"><!----></div>
   The missing irreducible characters of H/X are computed as
   tensor products of &#968; with the irreducible characters of
   the factor group H/M  &#8773; <span class="roman">Co</span><sub>1</sub>.

<div class="p"><!----></div>
   Note that this procedure yields enough new irreducible characters
   such that the sum of degree squares of all known irreducibles of H/X
   equals the order of this group.
   This implies that there are not more class splittings w. r. t. the
   fusion from H/X to H/E than the splittings forced by the values
   of &#968;.
<div class="p"><!----></div>
</li>

<>
   Using the two class splittings from H/X and H/Y to H/E,
   we compute necessary class splittings from H to H/E.
   That is, we create a character table head for H together with
   class fusions to H/X and H/Y,
  forced X /:
   For each class of H/E that splits in both H/sub>2</sub> be the normal subgroup of H aboveNsuch that
java.lang.StringIndexOutOfBoundsException: Index 62 out of bounds for length 37
   For each class that splits in exactly one of H/X and H/Y,java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
   we get two preimage classes in H.
   For each class that splits in none of H/X and H/Y,
   we get one preimage class in H.

<div class="p"><!----></div>
   Then we take those irreducible characters of H/X and H/Y,
   respectively, that do not have E/X or E/Y, respectively,
   in their kernel;
   e  tensor productsof them,whichyieldscharacters with kernel ,
   and apply the LLL algorithm to them.

<div class="p"><!----></div>
   This yields all missing irreducibles of H:
   The degree squares of all now known irreducibles sum up to the order
   of H, which means that no more class splitting occurs.

div="<!----></div>
   Finally, we compute the power maps (and thus the element haveH/Y  #8773 (3 times;<>12/sup>..span =roman"Suz/..
   of the character table of H.
   The result is a java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
   the character table that is stored in <font face="helvetica">GAP</font>'s table library.
<div class="p"><!----></div>
</li>
</ul>

<div class="p"><!----></div>

 <h2><a name="tth_sEc9">
9</a>  Appendix: The character table of 3<sup>1+12</sup><sub>+</sub>:6.<span class="roman">Suz</span>.2</h2><a name="sect:norm3B">
</a>

<div class="p"><!----></div>

     <h3><a name="tth_sEc9.1">
9.1</a>  Overview</h3>

< usefollowing   to compute   tableof H.
The <tt>3B</tt> normalizer in <font size="+0">M</font> has the structure 3<sup>1+12</sup><sub>+</sub>.2.<span class="roman">Suz</span>.2.
Its character table has been computed by Richard Barraclough and
Robert A. Wilson, see [<a href="#BW07" name="CITEBW07">BW07</a>].
In order to describe a reproducible construction of the character table
that does not assume the character table of <font size="+0">M</font>,
we recompute this table.

<div class="p"><!----></div>

<div class="p"><!----></div>
Our approach is similar to that in [<a href="#BW07" name="CITEBW07">BW07</a>]:
The subgroup in question is a factor group of the split extension H of
the extraspecial group N = 3<sup>1+12</sup><sub>+</sub> by 6.<span class="roman">Suz</span>.2,
and we compute java.lang.StringIndexOutOfBoundsException: Range [0, 18) out of bounds for length 5

<div class="p"><!----></div>

<div class="p"><!----></div>

<center> <a href="ctblm2.png">Figure</a>

<br />Picture Omitted<br />
</center>

<div class="p"><!----></div>
We have H / N  &#8773; 6.<span class="roman">Suz</span>.2.
Let M be the normal subgroup of H above N such that
H / M  &#8773; 2.<span class="roman">Suz</span>.2 holds.
Then M = X ×N for a normal subgroup X of order 3,
where extension of    byH   is .
Let N<subsee Sectionnbsp;a href=#>.</>
H / N<sub>2</sub>  &#8773; 3.<span class="roman">Suz</span>.2 holds.
Then M<sub>2</sub> = M N<sub>2</sub> has the property H / M<sub>2</sub>  &#8773; <span class="roman">Suz</span>.2.

<div class="p"><!----></div>
Let Y = Z(N), of order 3.
Then E = X ×Y  &#8773; 3<sup>2</sup> In an earlier construction (in September 2020
with diagonal normal subgroups D<sub>1</sub> and D<sub>2</sub>.
It will turn out that the extensions of M / D<sub>1</sub> and M / D<sub>2</sub> by H / M
are non-split.

<div class="p"><!----></div>
H / Y is a subdirect product of H / N and 
H / E  &#8773; 3<sup>12</sup>.2.<span class="roman">Suz</span>.2,
we have H / Y  &#8773; (3 ×3<sup>12</sup>).2.<span class="roman">Suz</span>.2.

<div class="p"><!----></div>
The group H worked.

<div class="p"><!----></div>
The <tt>3B</tt> normalizer in <font size="+0">M</font> is isomorphic to
one of the two factor groups H / D<sub>1</sub>, H / D<sub>2</sub>.
(The decision which of the two groups occurs as a subgroup of <font size="+0">M</font>
in &< ="natcharM"6<a)

<div class="p"><!----></div>
We use the following approach to compute the character table of H.

<div class="p"><!----></div>

<ul>
<li>    Compute permutation generators <tt>gensHmodX</tt> of H / X,
    of degree 3<sup>13</sup>,
    see Section <a href="#HmodXpermgens">9.2</a>.
    The first two generators are standard generators of 2.<span class="roman">Suz</span>.2,
    the third generator lies in M / X.
<div class="p"><!----></div>
</li>

<li>
    Fetch permutation generators <tt>gensHmodN</tt> of H / N<sub>2</sub>,
    of degree 5 346,
    and compute permutation generators <tt>gensH</tt> of H,
    of degree 1 599 669 = 1 594 323 + 5 346,
    see Section <a href="#Hpermgens">9.3</a>.
    The first two generators are standard generators of 6.<span class="roman">Suz</span>.2,
    the third generator lies in java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
< ">---</
</li>

<li>
    Let the with 3elements respects  symplectic,
    see Section <a href="#computeHtableand the embedding  2.span ="></>2into<pan =r"Sp<span>123java.lang.StringIndexOutOfBoundsException: Index 96 out of bounds for length 96
<div class="p"><!----></div>
</li>
</ul>

<div class="p"><!----></div>
<b>Remark:</b>
In an earlier construction (in September 2020),
we asked <font face="helvetica">MAGMA</font> to compute the character table of H / Y,
and then used individual conjugacy tests for first setting up the class fusion
from H to H /<G/ java.lang.StringIndexOutOfBoundsException: Range [22, 21) out of bounds for length 67
The computation of the missing irreducible characters of H was then
not difficult, using character theoretic methods.
java.lang.StringIndexOutOfBoundsException: Range [36, 7) out of bounds for length 68
some of the required conjugacy tests did not finish in some of the required conjugacy tests did not finish in reasonable
Luckily, the automatic computation described in Section <a href="#computeHtable">9.4</a>
worked.

<div class="p"><!----></div>

     <h3><a name="tth_sEc9.2">
9.2</a>  A permutation representation of H / X</h3><a name="HmodXpermgens">
</a>

<div class="p"><!----></div>
The  A<font size="-2">TLAS</font> of Group Representations [<a href="#AGRv3" name="CITEAGRv3">WWT<sup>+</sup></a>] contains
a faithful representation of H,
as a group of 38 ×38 matrices over the field with three elements.
The generating matrices are called <tt>M3max7G0-f3r38B0.m1</tt>, ...,
<tt>M3max7G0-f3r38B0.m4</tt>.
These matrices are block diagonal matrices with blocks of the lengths
24 and 14.

<div java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0

<pre>
    gap&#62; info:= OneAtlasGeneratingSetInfo( "3^(1+12):6.Suz.2", Dimension, 38 );;
    gap&#62; gens:= AtlasGenerators( info ).generators;;
    gap&#62; Length( gens );
    4
    gap&#62; ForAll( gens,
    &#62;            m -&#62; ForAll( [ 25 .. 38 ],
    &#62;                         i -&#62; ForAll( [ 1 .. 24 ],
    &#62;                                      j -&#62; IsZero( m[i,j] ) and
    & heis split H/ X of 3sup>12</<><sub>by2. =roman">Suz</span>.2.
    true

</pre

<div class="p"><!----></div>
Here we will use just the lower right 14 ×14 blocks,
which generate the factor group H / X  &#8773; 3<sup>1+12</sup><sub>+</sub>:2.<span class="roman">Suz</span>.2.
(Note that the 12-dimensional irreducible representation of 2.<span class="roman">Suz</span>.2
over the field with 3 elements respects a symplectic form,
and the embedding of 2.<span class="roman">Suz</span>.2 into <span class="roman">Sp</span>(12,3)
-which is the automorphism group of the extraspecial group 3<sup>1+12</sup><sub>+</sub>-
yields a construction of the semidirect product 3<sup>1+12</sup><sub>+</sub>:2.<span class="roman">Suz</span>.2
as a group of 14 ×14 matrices.)

<div class="p"><!----></div>
Later we will construct a faithful permutation representation of H
as a subdirect product of H / X and H / N  &#8773; 6.<span class="roman">Suz</span>.2.
Let <tt>G</tt> be the group generated by the 14 ×14 matrices.

<div class="p"><!----></div>
When one deals with H / X, the fourth generator is redundant,
will leaveit in the java.lang.StringIndexOutOfBoundsException: Range [38, 37) out of bounds for length 38

<div class="p"><!----></div>

<pre>
    gap&#62; mats:= List( gens, x -&#62; x{ [ 25 .. 38 ] }{ [ 25 .. 38 ] } );;
    gap&#62; List( mats, ConvertToMatrixRep );;
    gap&#62; Comm( mats[3], mats[3]^mats[2] ) = Inverse( mats[4] );
    true
    gap&#62; mats:= mats{ [ 1 .. 3 ] };;

</pre>

<div class="p"><!----></div>
We use just the following facts.
The <tt>G</tt>-action on GF(3)<sup>14</sup> has six orbits,
from which we get a faithful permutation representation of H / E  &#8773; 3<sup>12</sup>.2.<span class="roman">Suz</span>.2 on 196 560 points
and a faithful representation <tt>homHtoHmodX</tt>
of a group of the structure 3<sup>1+12</sup><sub>+</sub>.2.<span class="roman">Suz</span>.2 on 1 594 323 points.
Since the image contains a subgroup 2.<span class="roman">Suz</span>.2,
the image is the split extension H / X of 3<sup>1+12</sup><sub>+</sub> by 2.<span class="roman">Suz</span>.2.

<div class="p"><!----></div>

<div class="p"><!----></div>


    gap&#62; G:= GroupWithGenerators( mats );;
    gap&#62; orbs:= ShallowCopy( OrbitsDomain( G, GF(3)^14 ) );;

    6
    gap&#62; SortBy( orbs, Length );
    gap&#62; List( orbs, Length );
    [ 1, 2, 196560, 1397760, 1594323, 1594323 ]
    gap&#62; v:= [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2 ] * Z(3)^0;;
    gap&#62; orb_large:= First( orbs, x -> v in x );;
    gap&#62; Length( orb_large );
    1594323
    gap&#62; Length( orb_large ) = 3^13;
    true
    gap&#62; orb_large:= SortedList( orb_large );;
    gap&#62; homHtoHmodX:= ActionHomomorphism( G, orb_large );;
    gap&#62; represHmodX:= Image( homHtoHmodX );;
    gap&#62; Size( represHmodX );
    2859230155080499200
    gap&#62; Size( represHmodX ) = Size( CharacterTable( "2.Suz.2" ) ) * 3^13;
    true

</pre>

 ="-/>
We  that the actionon196&;560points   group
H / E.
As for the action on 1 594 323 points,
we show that it has a nonabelian normal subgroup of the order 3<sup>13</sup>.

<div class="p"><!----></div>

<div class="p"><!----></div>

<pre>
    gap&#62; gensHmodX:= List( mats, m -> m^homHtoHmodX );;
    gap&#62; n:= NormalClosure( represHmodX,
    &#62;                       Subgroup( represHmodX, [ gensHmodX[3] ] ) );;
gap#62; Size( n ) = 3^13;
    true
    gap&#62; IsAbelian( n );
false

</pre>

<div class="p"><!----></div>

<div class="p"><!----></div>
Next we show that the first two elements from the generating set
are standard generators of 2.<span class="roman">Suz</span>.2.
For that, we first show that these elements are preimages
ofgap#
    gap&#62; NrMovedPoints( gensH );
and then show that the elements satisfy the conditions of
standard generators of 2.<span class="roman">Suz</span>.2,
that is, the second generator has order 3,
see the page on <span class="roman">Suz</span> in the  A<font size="-2">TLAS</font> of Group Representations [<a href="#AGRv3" name="CITEAGRv3">WWT<sup>+</sup></a>].

d "">!--<div>

<div class="p"><!----></div>

<pre>
    gap&#62; slp:= AtlasProgram( "Suz.2", "check" );;
    gap&#62; prog:= StraightLineProgramFromStraightLineDecision( slp.program );;
    gap&#62; res:= ResultOfStraightLineProgram( prog, gensHmodX );;
    gap&#62; List( res, Order );
    [ 2, 1, 2, 1 ]
    gap&#62; ForAll( gensHmodX{ [ 1, 2 ] }, x -> ForAll( res, y -> x*y = y*x ) );
    true
    gap&#62; Order( gensHmodX[2] );
    3

</pre>

<div class="p"><!----></div>

     <h3><a name="tth_sEc9.3">
9.3</a>  A permutation representation of H</h3><a name="Hpermgens">
</a>

<div class="p"><!----></div>
 product ofH/X and H /sub2/  &java.lang.StringIndexOutOfBoundsException: Index 110 out of bounds for length 110
w.r.t. the common factor group H / M<sub>2</sub>  &#8773; <span class="roman">Suz</span>.2.
Since we know that our generators for H / X are compatible with
standard generators of the factor group 2.<span class="roman">Suz</span>.2,
it is sufficient to form the diagonal product of our representation of
H / X and a representation of 3.<span class="roman">Suz</span>.2 on standard generators.

<div class="p"><!----></div>

<pre>
    gap&#62; 3suz2:= OneAtlasGeneratingSet( "3.Suz.2", NrMovedPoints, 5346 );;&
    gap&#62; 3suz2:= 3suz2.generators;;
    gap&#62; omega:= [ 1 .. LargestMovedPoint( 3suz2 ) ];;
    gap&#62; shifted:= omega + LargestMovedPoint( gensHmodX );;
    gap&#62; pi:= MappingPermListList( omega, shifted );;
    gap&#62; shiftedgens:= List( 3suz2, x -> x^pi );;
    gap&#62; Append( shiftedgens, [ () ] );
    gap&#62; gensH:= List( [ 1 .. 3 ], i -> gensHmodX[i] * shiftedgens[i] );;
    gap&#62; NrMovedPoints( gensH );
    1599669

</pre>

<div class="p"><!----<div>
The first two of the generators are The verifies the  table of java.lang.StringIndexOutOfBoundsException: Range [44, 45) out of bounds for length 44
Note that we know already that they are preimages of standard generators
of <span class="roman">Suz</span>.2,
it remains to show that they are elements C, D where D has order 3
and CDCDD has order 7. 

<div class="p"><!----></div>

<div class="p"><!----></div>

<pre>
    gap&#62; Order( gensH[2] );
    3
    This character was  Section&;<
    7

</pre>

<div class="p"><!----></div>

     <h3><a name="tth_sEc9.4">
9.4</a>  Compute the character table of H</h3><a name="computeHtable">
</a>

<div class="p"><!----Thenormalizer ofa<t>5<tt element in<ont size"0><font> hasthe structure
Now we let <font face="helvetica">MAGMA</font> do the work.

<div class="p"><!----></div>

<pre>
    gap&62; H:= GroupWithGenerators( gensH );;
    gap&#62; if CTblLib.IsMagmaAvailable() then
    &#62;      mgmt:= CharacterTableComputedByMagma( H, "H_Magma" );
    &#62;    else
    &#62;      mgmt:= CharacterTable( "3^(1+12):6.Suz.2" );
    &#62;    fi;

</pre>

<div class="p"><!----></div>
This computation needed about three weeks of CPU time.

<div class="p"><!----></div>

<div class="p"><!----></div>
The result verifies the character table of H
that is available in the library.

<div class="p"><!----></div>

<pre>
    gap&#62; IsRecord( TransformingPermutationsCharacterTables( mgmt,
    &#62;        CharacterTable( "3^(1+12):6.Suz.2" ) ) );
    true

</pre>

<div class="p"><!----></div>
This character table was used in Section <a href="#elements_3">4.4</a>.

<div class="p"><!----></div>

 <h2><a name="tth_sEc10">
10</a>  Appendix: The character table of 5<sup>1+6</sup><sub>+</sub>.4.<span class="roman">J</span><sub>2</sub>.2</h2><W  .nbsp;Cannon,  .nbsp;,<mThe algebra system .
</a>

<div class="p"><!----></div>
henormalizer a<tt>B/> in <size"0></font>has the structure
5<sup>1+6</sup><sub>+</sub>.4.<span class="roman">J</span><sub>2</sub>.2,
generators for this group as a permutation group of degree 78 125
are available in the  A<font size="-2">TLAS</font> of Group Representations [<a href="#AGRv3" name="CITEAGRv3">WWT<sup>+</sup></a>].
<font face="helvetica">MAGMA</font> [<a href="#Magma" name="CITEMagma">BCP97</a>] can compute the character table from the group
within a few minutes,
the result turns out to be equivalent to the table that is available in
<font face="helvetica">GAP</font>'s character table library.

<div class="p"><!----></div>

<pre>
    gap&#62; g:= AtlasGroup( "5^(1+6):2.J2.4" );;
    &#62; if CTblLib.IsMagmaAvailable() then
    &#62;      mgmt:= CharacterTableComputedByMagma( g, "MN5B_Magma" );
    &#62;    else
    &#62;      mgmt:= CharacterTable( "5^(1+6):2.J2.4" );
    &#62;    fi;
    gap&#62; IsRecord( TransformingPermutationsCharacterTables( mgmt,
    &#62;        CharacterTable( "5^(1+6):2.J2.4" ) ) );
    true

</pre>

<div class="p"><!----></div>
This character table was used in Section <a href="#elements_5">4.5</a>.

<div class="p"><!----></div<td</r><<-hbox-->


<h2>References</h2>

<dl compact="compact">
 <dt><a href="#CITEMagma" name="Magma">[BCP97]</a></dt><dd>
W. Bosma, J. Cannon, and C. Playoust, <em>The Magma algebra system. I.
  The user language</em>, J. Symbolic Comput. <b>24</b> (1997),
  no. 3-4, 235-265. MR 1484478

<div class="p"><!----></div>
</dd>
 <dt><a href="#CITEAtlas2017" name="Atlas2017">[BGH<sup>+</sup>17]</a></dt><dd>
M. Bhargava, R. Guralnick, G. Hiss, K. Lux, and P. H. Tiep (eds.), <em>Finite
  simple groups: thirty years of the Atlas and beyond</em>, Contemporary
  Mathematics, vol. 694, Providence, RI, American Mathematical Society, 2017.
  MR 3682583

<div class="p"><!----></div>
</dd>
 <dt< =" =">]/><dt>dd>
T. Breuer, G. Malle, and E. A. O'Brien, <em>Reliability and reproducibility
  of Atlas information</em>, in Bhargava et al. [<a href="#Atlas2017" name="CITEAtlas2017">BGH<sup>+</sup>17</a>],
  p. 21-31. MR 3682588

< =p>!-->div>
</dd>
 <dt><a href="#CITEBMverify" name="BMverify">[BMW20]</a></dt><dd>
T. Breuer, K. Magaard, and R. A. Wilson, <em>Verification of the ordinary
  character table of the Baby Monster</em>, J. Algebra <b>561</b> (2020),
  111-130. MR 4135540

<div class="p"><!----></div>
</dd>
 <dt><a href="#CITEMverify" name="Mverify">[BMW24]</a></dt><dd>.nbspW and R.A ,<mThe tableof a 
<br /><table align="left" border="0"><tr><td width="50">
<hr />
</td></tr></table><!--hboxjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
 , <em>Verification of the conjugacy classes and ordinary character
  table of the Monster</em>, submitted, 2024.

<div class="p"><!----></div>
</dd>
 <dt>[]</dt><dd>T. Breuer, <em>Constructing the ordinary character tables of some Atlas
  groups using character theoretic methods.</em>, <a href="https://export.arxiv.org/abs/1604.00754">arXiv:1604

<div class="p"><!----></div>
</dd>
 <dt><a href="#CITEctblpope" name="ctblpope">[Breb]</a></dt><dd>
<br /><table align="left" border="0"><tr><td width="50">
<hr />
</td></tr></table><!--hbox-->
 , <em>Permutation Characters in <font face="helvetica">GAP</font></em>, <a href="https://www.math.rwth-aachen.de/~Thomas.Breuer/ctbllib/doc2/manual.pdf"><>Atlasv3tt<a><dd>
<tt><tt>~</tt>Thomas.Breuer/</tt>
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
<tt>manual.pdf</tt></a>.

<div class="p"><!----></div>
</dd>
 <dt><a href="#CITEBW07" name="BW07">[BW07]</a></dt><dd>
R. W. Barraclough and R. A. Wilson, <em>The character table of a maximal
  subgroup of the Monster</em>, LMS J. Comput. Math. <b>10</b> (2007),
  161-175. MR 2308856

<div class="p"><!----></div>
</dd>
 <dt><a href="#CITEGAP" name="GAP">[GAP24]</a></dt><dd>
<em><font face="helvetica">GAP</font> - Groups, Algorithms, and Programming,
  Version 4.13.1</em>, <a href="https://www.gap-system.org"><tt>https://www.gap<tt>-</tt>system.org</tt></a>, Mar 2024.

<div class="p"><!----></div>
</dd>
 <dt><a href="#CITEGMS89" name="GMS89">[GMS89]</a></dt><dd>
R. L. Griess Jr., U. Meierfrankenfeld, and Y. Segev, <em>A uniqueness proof
  for the Monster</em>, Ann. of Math. (2) <b>130</b> (1989), no. 3,
  567-602. MR 1025167

<div class="p"><!----></div>
</dd>
 <dt><a href="#CITEAGRv3" name="AGRv3">[WWT<sup>+</sup>]</a></dt><dd>
R. A. Wilson, P. Walsh, J. Tripp, I. Suleiman, R. A. Parker, S. P. Norton,
  S. Nickerson, S. Linton, J. Bray, and R. Abbott, <em>ATLAS of Finite Group
  Representations</em>, <a href="http://brauer.maths.qmul.ac.uk/Atlas/v3"><tt>http://brauer.maths.qmul.ac.uk/</tt>
<tt>Atlas/v3</tt></a>.</dd>
</dl>


<div class="p"><!----></div>

<div class="p"><!----></div>

<br /><br /><hr /><small>File translated from
T<sub><font size="-1">E</font></sub>X
by <a href="http://hutchinson.belmont.ma.us/tth/">
T<sub><font size="-1">T</font></sub>H</a>,
version 3.59.<br />On 22 May 2025, 15:04.</small>
</html>

Messung V0.5 in Prozent
C=94 H=100 G=96

¤ Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.0.336Bemerkung:  ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

PVS Prover

Isabelle Prover

NIST Cobol Testsuite

Cephes Mathematical Library

Vienna Development Method

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.






                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Open Source Software

     Quellcodebibliothek
     Eigene Quellcodes
     Fremde Quellcodes
     Suchen

Jenseits des Üblichen ....
    

Besucherstatistik

Besucherstatistik

Statistik
#Sources=1128594
#Domains=1976912