Sophie

Sophie

distrib > Mandriva > 2010.0 > i586 > media > contrib-release > by-pkgid > 5e1854624d3bc613bdd0dd13d1ef9ac7 > files > 1159

gap-system-4.4.12-5mdv2010.0.i586.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
        "http://www.w3.org/TR/html4/loose.dtd">
<html>
<meta name="GENERATOR" content="TtH 3.55">
 <style type="text/css"> div.p { margin-top: 7pt;}</style>
 <style type="text/css"><!--
 td div.comp { margin-top: -0.6ex; margin-bottom: -1ex;}
 td div.comb { margin-top: -0.6ex; margin-bottom: -.6ex;}
 td div.hrcomp { line-height: 0.9; margin-top: -0.8ex; margin-bottom: -1ex;}
 td div.norm {line-height:normal;}
 span.roman {font-family: serif; font-style: normal; font-weight: normal;} 
 span.overacc2 {position: relative;  left: .8em; top: -1.2ex;}
 span.overacc1 {position: relative;  left: .6em; top: -1.2ex;} --></style>
 

         
<title> Ambiguous Class Fusions in the GAP Character Table Library</title>
 
<h1 align="center">Ambiguous Class Fusions in the GAP Character Table Library </h1>
  <body bgcolor="FFFFFF"> 

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

<h3 align="center"> T<font size="-2">HOMAS</font> B<font size="-2">REUER</font> <br />
<i>Lehrstuhl D f&#252;r Mathematik</i> <br />
<i>RWTH, 52056 Aachen, Germany</i> </h3>

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

<h3 align="center">January 11th, 2004 </h3>

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


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

This is a collection of examples showing how class fusions between character
tables can be determined using the <font face="helvetica">GAP</font> system&nbsp;[<a href="#GAP4" name="CITEGAP4">GAP04</a>].
In each of these examples, the fusion is <em>ambiguous</em> in the sense that
the character tables do not determine it up to table automorphisms.
Our strategy is to compute first all possibilities with the <font face="helvetica">GAP</font> function
<tt>PossibleClassFusions</tt>, and then to use either other character tables or
information about the groups for excluding some of these candidates until
only one (orbit under table automorphisms) remains.

<div class="p"><!----></div>
The purpose of this writeup is twofold.
On the one hand, the computations are documented this way.
On the other hand, the <font face="helvetica">GAP</font> code shown for the examples can be used as
test input for automatic checking of the data and the functions used;
therefore, each example ends with a comparison of the result with the
fusion that is actually stored in
the <font face="helvetica">GAP</font> Character Table Library&nbsp;[<a href="#CTblLib" name="CITECTblLib">Bre04b</a>].

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



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

<h1>Contents </h1><a href="#tth_sEc1"
>1&nbsp; Fusions Determined by Factorization through Intermediate Subgroups</a><br />
&nbsp;&nbsp;&nbsp;&nbsp;<a href="#tth_sEc1.1"
>1.1&nbsp; Co<sub>3</sub>N5 &#8594; Co<sub>3</sub> (September 2002)</a><br />
&nbsp;&nbsp;&nbsp;&nbsp;<a href="#tth_sEc1.2"
>1.2&nbsp; 31:15 &#8594; B (March 2003)</a><br />
&nbsp;&nbsp;&nbsp;&nbsp;<a href="#tth_sEc1.3"
>1.3&nbsp; SuzN3 &#8594; Suz (September 2002)</a><br />
&nbsp;&nbsp;&nbsp;&nbsp;<a href="#tth_sEc1.4"
>1.4&nbsp; F<sub>3+</sub>N5 &#8594; F<sub>3+</sub> (March 2002)</a><br />
<a href="#tth_sEc2"
>2&nbsp; Fusions Determined by Commutative Diagrams Using Smaller Subgroups</a><br />
&nbsp;&nbsp;&nbsp;&nbsp;<a href="#tth_sEc2.1"
>2.1&nbsp; (A<sub>4</sub> &times;O<sub>8</sub><sup>+</sup>(2).3).2 &#8594; Fi<sub>24</sub><sup>&#8242;</sup> (November 2002)</a><br />
&nbsp;&nbsp;&nbsp;&nbsp;<a href="#tth_sEc2.2"
>2.2&nbsp; A<sub>6</sub> &times;L<sub>2</sub>(8).3 &#8594; Fi<sub>24</sub><sup>&#8242;</sup> (November 2002)</a><br />
<a href="#tth_sEc3"
>3&nbsp; Conditions Imposed by Brauer Tables</a><br />
&nbsp;&nbsp;&nbsp;&nbsp;<a href="#tth_sEc3.1"
>3.1&nbsp; L<sub>2</sub>(16).4 &#8594; J<sub>3</sub>.2</a><br />
&nbsp;&nbsp;&nbsp;&nbsp;<a href="#tth_sEc3.2"
>3.2&nbsp; L<sub>2</sub>(19) &#8594; J<sub>3</sub> (April 2003)</a><br />
<a href="#tth_sEc4"
>4&nbsp; Fusions Determined by Information about the Groups</a><br />
&nbsp;&nbsp;&nbsp;&nbsp;<a href="#tth_sEc4.1"
>4.1&nbsp; U<sub>3</sub>(3).2 &#8594; Fi<sub>24</sub><sup>&#8242;</sup> (November 2002)</a><br />
&nbsp;&nbsp;&nbsp;&nbsp;<a href="#tth_sEc4.2"
>4.2&nbsp; L<sub>2</sub>(13).2 &#8594; Fi<sub>24</sub><sup>&#8242;</sup> (September 2002)</a><br />
&nbsp;&nbsp;&nbsp;&nbsp;<a href="#tth_sEc4.3"
>4.3&nbsp; L<sub>2</sub>(17).2 &#8594; B (March 2004)</a><br />
&nbsp;&nbsp;&nbsp;&nbsp;<a href="#tth_sEc4.4"
>4.4&nbsp; 2<sup>3</sup>.L<sub>3</sub>(2) &#8594; G<sub>2</sub>(5)</a><br />
&nbsp;&nbsp;&nbsp;&nbsp;<a href="#tth_sEc4.5"
>4.5&nbsp; The fusion from the character table of 7<sup>2</sup>:2L<sub>2</sub>(7).2 into the table of marks</a><br />


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

<div class="p"><!----></div>
The examples use the <font face="helvetica">GAP</font> Character Table Library,
so we first load this package.

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

<pre>
    gap&#62; LoadPackage( "ctbllib" );
    true

</pre>

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

 <h2><a name="tth_sEc1">
1</a>&nbsp;&nbsp;Fusions Determined by Factorization through Intermediate Subgroups</h2>

<div class="p"><!----></div>
This situation clearly occurs only for nonmaximal subgroups.
Interesting examples are Sylow normalizers.

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

     <h3><a name="tth_sEc1.1">
1.1</a>&nbsp;&nbsp;Co<sub>3</sub>N5 &#8594; Co<sub>3</sub> (September 2002)</h3>

<div class="p"><!----></div>
Let H be the Sylow 5 normalizer in the sporadic simple group Co<sub>3</sub>.
The class fusion of H into Co<sub>3</sub> is not uniquely determined by the
character tables of the two groups.

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

<pre>
    gap&#62; co3:= CharacterTable( "Co3" );
    CharacterTable( "Co3" )
    gap&#62; h:= CharacterTable( "Co3N5" );
    CharacterTable( "5^(1+2):(24:2)" )
    gap&#62; hfusco3:= PossibleClassFusions( h, co3 );;
    gap&#62; Length( RepresentativesFusions( h, hfusco3, co3 ) );
    2

</pre>

<div class="p"><!----></div>
As H is not maximal in Co<sub>3</sub>, we look at those maximal subgroups of Co<sub>3</sub>
whose order is divisible by that of H.

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

<pre>
    gap&#62; mx:= Maxes( co3 );
    [ "McL.2", "HS", "U4(3).(2^2)_{133}", "M23", "3^5:(2xm11)", "2.S6(2)", 
      "U3(5).3.2", "3^1+4:4s6", "2^4.a8", "psl(3,4):d12", "2xm12", 
      "2^2.(2^7.3^2).s3", "s3xpsl(2,8).3", "a4xs5" ]
    gap&#62; maxes:= List( mx, CharacterTable );;
    gap&#62; filt:= Filtered( maxes, x -&#62; Size( x ) mod Size( h ) = 0 );
    [ CharacterTable( "McL.2" ), CharacterTable( "HS" ), 
      CharacterTable( "U3(5).3.2" ) ]

</pre>

<div class="p"><!----></div>
According to the  A<font size="-2">TLAS</font> (see&nbsp;[<a href="#CCN85" name="CITECCN85">CCN<sup>+</sup>85</a>,pp.&nbsp;34 and&nbsp;100]),
H occurs as the Sylow 5 normalizer in U<sub>3</sub>(5).3.2 and in McL.2;
however, H is not a subgroup of HS,
since otherwise H would be contained in subgroups of type U<sub>3</sub>(5).2
(see&nbsp;[<a href="#CCN85" name="CITECCN85">CCN<sup>+</sup>85</a>,p.&nbsp;80]), but the only possible subgroups
in these groups are too small (see&nbsp;[<a href="#CCN85" name="CITECCN85">CCN<sup>+</sup>85</a>,p.&nbsp;34]).

<div class="p"><!----></div>
We compute the possible class fusions from H into McL.2
and from McL.2 to Co<sub>3</sub>, and then form the compositions of these maps.

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

<pre>
    gap&#62; max:= filt[1];;
    gap&#62; hfusmax:= PossibleClassFusions( h, max );;
    gap&#62; maxfusco3:= PossibleClassFusions( max, co3 );;
    gap&#62; comp:= [];;
    gap&#62; for map1 in maxfusco3 do
    &#62;      for map2 in hfusmax do
    &#62;        AddSet( comp, CompositionMaps( map1, map2 ) );
    &#62;      od;
    &#62;    od;
    gap&#62; Length( comp );
    2
    gap&#62; reps:= RepresentativesFusions( h, comp, co3 );
    [ [ 1, 2, 3, 4, 8, 8, 7, 9, 10, 11, 17, 17, 19, 19, 22, 23, 27, 27, 30, 33, 
          34, 40, 40, 40, 40, 42 ] ]

</pre>

<div class="p"><!----></div>
So factoring through a maximal subgroup of type McL.2
determines the fusion from H to Co<sub>3</sub> uniquely up to table automorphisms.

<div class="p"><!----></div>
Alternatively, we can use the group U<sub>3</sub>(5).3.2 as intermediate
subgroup, which leads to the same result.

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

<pre>
    gap&#62; max:= filt[3];;
    gap&#62; hfusmax:= PossibleClassFusions( h, max );;
    gap&#62; maxfusco3:= PossibleClassFusions( max, co3 );;
    gap&#62; comp:= [];;
    gap&#62; for map1 in maxfusco3 do
    &#62;      for map2 in hfusmax do
    &#62;        AddSet( comp, CompositionMaps( map1, map2 ) );
    &#62;      od;
    &#62;    od;
    gap&#62; reps2:= RepresentativesFusions( h, comp, co3 );;
    gap&#62; reps2 = reps;
    true

</pre>

<div class="p"><!----></div>
Finally, we compare the result with the map that is stored on the library
table of H.

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

<pre>
    gap&#62; GetFusionMap( h, co3 ) in reps;
    true

</pre>

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

     <h3><a name="tth_sEc1.2">
1.2</a>&nbsp;&nbsp;31:15 &#8594; B (March 2003)</h3>

<div class="p"><!----></div>
The Sylow 31 normalizer H in the sporadic simple group B
has the structure 31:15.

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

<pre>
    gap&#62; b:= CharacterTable( "B" );;
    gap&#62; h:= CharacterTable( "31:15" );;
    gap&#62; hfusb:= PossibleClassFusions( h, b );;
    gap&#62; Length( RepresentativesFusions( h, hfusb, b ) );
    2

</pre>

<div class="p"><!----></div>
We determine the correct fusion using the fact that
H is contained in a (maximal) subgroup of type Th in B.

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

<pre>
    gap&#62; th:= CharacterTable( "Th" );;
    gap&#62; hfusth:= PossibleClassFusions( h, th );;
    gap&#62; thfusb:= PossibleClassFusions( th, b );;
    gap&#62; comp:= [];;
    gap&#62; for map1 in hfusth do
    &#62;      for map2 in thfusb do
    &#62;        AddSet( comp, CompositionMaps( map2, map1 ) );
    &#62;      od;
    &#62;    od;
    gap&#62; Length( comp );
    2
    gap&#62; reps:= RepresentativesFusions( h, comp, b );
    [ [ 1, 145, 146, 82, 82, 19, 82, 7, 19, 82, 82, 19, 7, 82, 19, 82, 82 ] ]
    gap&#62; GetFusionMap( h, b ) in reps;
    true

</pre>

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

     <h3><a name="tth_sEc1.3">
1.3</a>&nbsp;&nbsp;SuzN3 &#8594; Suz (September 2002)</h3>

<div class="p"><!----></div>
The class fusion from the Sylow 3 normalizer into the sporadic simple group
Suz is not uniquely determined by the character tables of these groups.

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

<pre>
    gap&#62; h:= CharacterTable( "SuzN3" );
    CharacterTable( "3^5:(3^2:SD16)" )
    gap&#62; suz:= CharacterTable( "Suz" );
    CharacterTable( "Suz" )
    gap&#62; hfussuz:= PossibleClassFusions( h, suz );;
    gap&#62; Length( RepresentativesFusions( h, hfussuz, suz ) );
    2

</pre>

<div class="p"><!----></div>
Since H is not maximal in Suz, we try to factorize the fusion through
a suitable maximal subgroup.

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

<pre>
    gap&#62; maxes:= List( Maxes( suz ), CharacterTable );;
    gap&#62; filt:= Filtered( maxes, x -&#62; Size( x ) mod Size( h ) = 0 );
    [ CharacterTable( "3_2.U4(3).2_3'" ), CharacterTable( "3^5:M11" ), 
      CharacterTable( "3^2+4:2(2^2xa4)2" ) ]

</pre>

<div class="p"><!----></div>
The group 3<sub>2</sub>.U<sub>4</sub>(3).2<sub>3</sub><sup>&#8242;</sup> does not admit a fusion from H.

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

<pre>
    gap&#62; PossibleClassFusions( h, filt[1] );
    [  ]

</pre>

<div class="p"><!----></div>
Definitely 3<sup>5</sup>:M<sub>11</sub> contains a group isomorphic with H,
because the Sylow 3 normalizer in M<sub>11</sub> has the structure 3<sup>2</sup>:SD<sub>16</sub>;
using 3<sup>2+4</sup>:2(2<sup>2</sup> &times;A<sub>4</sub>)2 would lead to the same result as
we get below.
We compute the compositions of possible class fusions.

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

<pre>
    gap&#62; max:= filt[2];;
    gap&#62; hfusmax:= PossibleClassFusions( h, max );;
    gap&#62; maxfussuz:= PossibleClassFusions( max, suz );;
    gap&#62; comp:= [];;
    gap&#62; for map1 in hfusmax do
    &#62;      for map2 in maxfussuz do
    &#62;        AddSet( comp, CompositionMaps( map2, map1 ) );
    &#62;      od;
    &#62;    od;
    gap&#62; repr:= RepresentativesFusions( h, comp, suz );
    [ [ 1, 2, 2, 4, 5, 4, 5, 5, 5, 5, 5, 6, 9, 9, 14, 15, 13, 16, 16, 14, 15, 13, 
          13, 13, 16, 15, 14, 16, 16, 16, 21, 21, 23, 22, 29, 29, 29, 38, 39 ] ]

</pre>

<div class="p"><!----></div>
So the factorization determines the fusion map up to table automorphisms.
We check that this map is equal to the stored one.

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

<pre>
    gap&#62; GetFusionMap( h, suz ) in repr;
    true

</pre>

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

     <h3><a name="tth_sEc1.4">
1.4</a>&nbsp;&nbsp;F<sub>3+</sub>N5 &#8594; F<sub>3+</sub> (March 2002)</h3>

<div class="p"><!----></div>
The class fusion from the table of the Sylow 5 normalizer H in the
sporadic simple group F<sub>3+</sub> into F<sub>3+</sub> is ambiguous.

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

<pre>
    gap&#62; f3p:= CharacterTable( "F3+" );;
    gap&#62; h:= CharacterTable( "F3+N5" );;
    gap&#62; hfusf3p:= PossibleClassFusions( h, f3p );;
    gap&#62; Length( RepresentativesFusions( h, hfusf3p, f3p ) );
    2

</pre>

<div class="p"><!----></div>
H is not maximal in F<sub>3+</sub>,
so we look for tables of maximal subgroups that can contain H.

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

<pre>
    gap&#62; maxes:= List( Maxes( f3p ), CharacterTable );;
    gap&#62; filt:= Filtered( maxes, x -&#62; Size( x ) mod Size( h ) = 0 );
    [ CharacterTable( "Fi23" ), CharacterTable( "2.Fi22.2" ), 
      CharacterTable( "(3xO8+(3):3):2" ), CharacterTable( "O10-(2)" ), 
      CharacterTable( "(A4xO8+(2).3).2" ), CharacterTable( "He.2" ), 
      CharacterTable( "F3+M14" ), CharacterTable( "(A5xA9):2" ) ]
    gap&#62; possfus:= List( filt, x -&#62; PossibleClassFusions( h, x ) );
    [ [  ], [  ], [  ], [  ], 
      [ [ 1, 69, 110, 12, 80, 121, 4, 72, 113, 11, 11, 79, 79, 120, 120, 3, 71, 
              11, 79, 23, 91, 112, 120, 132, 29, 32, 97, 100, 37, 37, 105, 105, 
              139, 140, 145, 146, 155, 155, 156, 156, 44, 44, 167, 167, 48, 48, 
              171, 171, 57, 57, 180, 180, 66, 66, 189, 189 ], 
          [ 1, 69, 110, 12, 80, 121, 4, 72, 113, 11, 11, 79, 79, 120, 120, 3, 71, 
              11, 79, 23, 91, 112, 120, 132, 29, 32, 97, 100, 37, 37, 105, 105, 
              140, 139, 146, 145, 156, 156, 155, 155, 44, 44, 167, 167, 48, 48, 
              171, 171, 57, 57, 180, 180, 66, 66, 189, 189 ] ], [  ], [  ], [  ] ]

</pre>

<div class="p"><!----></div>
We see that from the eight possible classes of maximal subgroups in F<sub>3+</sub>
that might contain H, only the group of type (A<sub>4</sub> &times;O<sub>8</sub><sup>+</sup>(2).3).2
admits a class fusion from H.
Hence we can compute the compositions of the possible fusions from H into
this group with the possible fusions from this group into F<sub>3+</sub>.

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

<pre>
    gap&#62; max:= filt[5];
    CharacterTable( "(A4xO8+(2).3).2" )
    gap&#62; hfusmax:= possfus[5];;
    gap&#62; maxfusf3p:= PossibleClassFusions( max, f3p );;
    gap&#62; comp:= [];;                 
    gap&#62; for map1 in maxfusf3p do
    &#62;      for map2 in hfusmax do
    &#62;        AddSet( comp, CompositionMaps( map1, map2 ) );
    &#62;      od;
    &#62;    od;
    gap&#62; Length( comp );
    2
    gap&#62; repr:= RepresentativesFusions( h, comp, f3p );
    [ [ 1, 2, 4, 12, 35, 54, 3, 3, 16, 9, 9, 11, 11, 40, 40, 2, 3, 9, 11, 35, 36, 
          13, 40, 90, 7, 22, 19, 20, 43, 43, 50, 50, 8, 8, 23, 23, 46, 46, 47, 
          47, 10, 10, 9, 9, 10, 10, 11, 11, 26, 26, 28, 28, 67, 67, 68, 68 ] ]

</pre>

<div class="p"><!----></div>
Finally, we check whether the map stored in the table library is correct.

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

<pre>
    gap&#62; GetFusionMap( h, f3p ) in repr;
    true

</pre>

<div class="p"><!----></div>
Note that we did <b>not</b> determine the class fusion from the maximal subgroup
(A<sub>4</sub> &times;O<sub>8</sub><sup>+</sup>(2).3).2 into F<sub>3+</sub> up to table automorphisms
(see Section&nbsp;<a href="#A4xO8p2d32fusf3p">2.1</a> for this problem),
since also the ambiguous result was enough for computing the fusion from
H into F<sub>3+</sub>.

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

 <h2><a name="tth_sEc2">
2</a>&nbsp;&nbsp;Fusions Determined by Commutative Diagrams Using Smaller Subgroups</h2>

<div class="p"><!----></div>
  <table><tr><td width="75%"> 
In each of the following examples, the class fusion of a maximal subgroup M
of a group G is determined by considering a proper subgroup U of M
whose class fusion into G can be computed, perhaps using another subgroup
S of G that also contains U.

<div class="p"><!----></div>
  </td><td width="25%"> 

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

<center> <img src="ambigfus1.png" alt="ambigfus1.png" />

</center>

<div class="p"><!----></div>
  </td></tr></table> 

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

     <h3><a name="tth_sEc2.1">
2.1</a>&nbsp;&nbsp;(A<sub>4</sub> &times;O<sub>8</sub><sup>+</sup>(2).3).2 &#8594; Fi<sub>24</sub><sup>&#8242;</sup>
(November 2002)</h3><a name="A4xO8p2d32fusf3p">
</a>

<div class="p"><!----></div>
The class fusion of the maximal subgroup M  &#8773; (A<sub>4</sub> &times;O<sub>8</sub><sup>+</sup>(2).3).2
of G = Fi<sub>24</sub><sup>&#8242;</sup> is ambiguous.

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

<pre>
    gap&#62; m:= CharacterTable( "(A4xO8+(2).3).2" );;
    gap&#62; t:= CharacterTable( "F3+" );;
    gap&#62; mfust:= PossibleClassFusions( m, t );;
    gap&#62; repr:= RepresentativesFusions( m, mfust, t );;
    gap&#62; Length( repr );
    2

</pre>

<div class="p"><!----></div>
We first observe that the elements of order three in the normal subgroup
of type A<sub>4</sub> in M lie in the class <tt>3A</tt> of Fi<sub>24</sub><sup>&#8242;</sup>.

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

<pre>
    gap&#62; a4inm:= Filtered( ClassPositionsOfNormalSubgroups( m ),
    &#62;                      n -&#62; Sum( SizesConjugacyClasses( m ){ n } ) = 12 );
    [ [ 1, 69, 110 ] ]
    gap&#62; OrdersClassRepresentatives( m ){ a4inm[1] };
    [ 1, 2, 3 ]
    gap&#62; List( repr, map -&#62; map[110] );
    [ 4, 4 ]
    gap&#62; OrdersClassRepresentatives( t ){ [ 1 .. 4 ] };
    [ 1, 2, 2, 3 ]

</pre>

<div class="p"><!----></div>
Let us take one such element g, say.
Its normalizer S in G has the structure (3 &times;O<sub>8</sub><sup>+</sup>(3).3).2;
this group is maximal in G, and its character table is available in <font face="helvetica">GAP</font>.

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

<pre>
    gap&#62; s:= CharacterTable( "F3+N3A" );
    CharacterTable( "(3xO8+(3):3):2" )

</pre>

<div class="p"><!----></div>
The intersection N<sub>M</sub>(g) = S &#8745;M contains a subgroup U of the type
3 &times;O<sub>8</sub><sup>+</sup>(2).3,
and in the following we compute the class fusions of U into S and M,
and then utilize the fact that only those class fusions from M into G
are possible whose composition with the class fusion from U into M
equals a composition of class fusions from U into S
and from S into G.

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

<pre>
    gap&#62; u:= CharacterTable( "Cyclic", 3 ) * CharacterTable( "O8+(2).3" );
    CharacterTable( "C3xO8+(2).3" )
    gap&#62; ufuss:= PossibleClassFusions( u, s );;
    gap&#62; ufusm:= PossibleClassFusions( u, m );;
    gap&#62; sfust:= PossibleClassFusions( s, t );;
    gap&#62; comp:= [];;
    gap&#62; for map1 in ufuss do
    &#62;   for map2 in sfust do
    &#62;     AddSet( comp, CompositionMaps( map2, map1 ) );
    &#62;   od;
    &#62; od;
    gap&#62; Length( comp );
    6
    gap&#62; filt:= Filtered( mfust,
    &#62;     x -&#62; ForAny( ufusm, map -&#62; CompositionMaps( x, map ) in comp ) );;
    gap&#62; repr:= RepresentativesFusions( m, filt, t );;
    gap&#62; Length( repr );
    1
    gap&#62; GetFusionMap( m, t ) in repr;
    true

</pre>

<div class="p"><!----></div>
So the class fusion from M into G is determined up to table automorphisms
by the commutative diagram.

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

     <h3><a name="tth_sEc2.2">
2.2</a>&nbsp;&nbsp;A<sub>6</sub> &times;L<sub>2</sub>(8).3 &#8594; Fi<sub>24</sub><sup>&#8242;</sup>
(November 2002)</h3>

<div class="p"><!----></div>
The class fusion of the maximal subgroup M  &#8773; A<sub>6</sub> &times;L<sub>2</sub>(8).3
of G = Fi<sub>24</sub><sup>&#8242;</sup> is ambiguous.

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

<pre>
    gap&#62; m:= CharacterTable( "A6xL2(8):3" );;
    gap&#62; t:= CharacterTable( "F3+" );;
    gap&#62; mfust:= PossibleClassFusions( m, t );;
    gap&#62; Length( RepresentativesFusions( m, mfust, t ) );
    2

</pre>

<div class="p"><!----></div>
We will use the fact that the direct factor of the type A<sub>6</sub> in M
contains elements in the class <tt>3A</tt> of G.
This fact can be shown as follows.

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

<pre>
    gap&#62; dppos:= ClassPositionsOfDirectProductDecompositions( m );
    [ [ [ 1, 12 .. 67 ], [ 1 .. 11 ] ] ]
    gap&#62; List( dppos[1], l -&#62; Sum( SizesConjugacyClasses( t ){ l } ) );
    [ 17733424133316996808705, 4545066196775803392 ]
    gap&#62; List( dppos[1], l -&#62; Sum( SizesConjugacyClasses( m ){ l } ) );
    [ 360, 1512 ]
    gap&#62; 3Apos:= Position( OrdersClassRepresentatives( t ), 3 );
    4
    gap&#62; 3Ainm:= List( mfust, map -&#62; Position( map, 3Apos ) );
    [ 23, 23, 23, 23, 34, 34, 34, 34 ]
    gap&#62; ForAll( 3Ainm, x -&#62; x in dppos[1][1] );
    true

</pre>

<div class="p"><!----></div>
Since the normalizer of an element of order three in A<sub>6</sub> has the form
3<sup>2</sup>:2,
such a <tt>3A</tt> element in M contains a subgroup U of the structure
3<sup>2</sup>:2 &times;L<sub>2</sub>(8).3 which is contained in the <tt>3A</tt> normalizer S in G,
which has the structure (3 &times;O<sub>8</sub><sup>+</sup>(3).3).2.

<div class="p"><!----></div>
(Note that all classes in the 3<sup>2</sup>:2 type group are rational,
and its character table is available in the <font face="helvetica">GAP</font> Character Table Library
with the identifier <tt>"3^2:2"</tt>.)

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

<pre>
    gap&#62; u:= CharacterTable( "3^2:2" ) * CharacterTable( "L2(8).3" );
    CharacterTable( "3^2:2xL2(8).3" )
    gap&#62; s:= CharacterTable( "F3+N3A" );
    CharacterTable( "(3xO8+(3):3):2" )
    gap&#62; ufuss:= PossibleClassFusions( u, s );;
    gap&#62; comp:= [];;
    gap&#62; for map1 in sfust do
    &#62;      for map2 in ufuss do
    &#62;        AddSet( comp, CompositionMaps( map1, map2 ) );
    &#62;      od;
    &#62;    od;
    gap&#62; ufusm:= PossibleClassFusions( u, m );;
    gap&#62; filt:= Filtered( mfust,
    &#62;               map -&#62; ForAny( ufusm,   
    &#62;                          map2 -&#62; CompositionMaps( map, map2 ) in comp ) );;
    gap&#62; repr:= RepresentativesFusions( m, filt, t );;
    gap&#62; Length( repr );
    1
    gap&#62; GetFusionMap( m, t ) in repr;
    true

</pre>

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

 <h2><a name="tth_sEc3">
3</a>&nbsp;&nbsp;Conditions Imposed by Brauer Tables</h2>

<div class="p"><!----></div>
The examples in this section show that symmetries can be broken as soon as
the class fusions between two ordinary tables shall be compatible with
the corresponding Brauer character tables.
More precisely, we assume that the class fusion from each Brauer table
to its ordinary table is already fixed;
choosing these fusions consistently can be a nontrivial task,
solving so-called "generality problems" may require the construction
of certain modules, similar to the arguments used in&nbsp;<a href="#generality">3.2</a> below.

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

     <h3><a name="tth_sEc3.1">
3.1</a>&nbsp;&nbsp;L<sub>2</sub>(16).4 &#8594; J<sub>3</sub>.2</h3>

<div class="p"><!----></div>
It can happen that Brauer tables decide ambiguities of class fusions between
the corresponding ordinary tables.
An easy example is the class fusion of L<sub>2</sub>(16).4 into J<sub>3</sub>.2.
The ordinary tables admit four possible class fusions,
of which two are essentially different.

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

<pre>
    gap&#62; s:= CharacterTable( "L2(16).4" );;
    gap&#62; t:= CharacterTable( "J3.2" );;
    gap&#62; fus:= PossibleClassFusions( s, t );
    [ [ 1, 2, 3, 6, 14, 15, 16, 2, 5, 7, 12, 5, 5, 8, 8, 13, 13 ],
      [ 1, 2, 3, 6, 14, 15, 16, 2, 5, 7, 12, 19, 19, 22, 22, 23, 23 ],
      [ 1, 2, 3, 6, 14, 16, 15, 2, 5, 7, 12, 5, 5, 8, 8, 13, 13 ],
      [ 1, 2, 3, 6, 14, 16, 15, 2, 5, 7, 12, 19, 19, 22, 22, 23, 23 ] ]
    gap&#62; RepresentativesFusions( s, fus, t );
    [ [ 1, 2, 3, 6, 14, 15, 16, 2, 5, 7, 12, 5, 5, 8, 8, 13, 13 ], 
      [ 1, 2, 3, 6, 14, 15, 16, 2, 5, 7, 12, 19, 19, 22, 22, 23, 23 ] ]

</pre>

<div class="p"><!----></div>
Using Brauer tables, we will see that just one fusion is admissible.

<div class="p"><!----></div>
We can exclude two possible fusions by the fact that their images all
lie inside the normal subgroup J<sub>3</sub>, but J<sub>3</sub> does not contain a subgroup
of type L<sub>2</sub>(16).4; so still one orbit of length two remains.

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

<pre>
    gap&#62; j3:= CharacterTable( "J3" );;
    gap&#62; PossibleClassFusions( s, j3 );
    [  ]
    gap&#62; GetFusionMap( j3, t );
    [ 1, 2, 3, 4, 5, 6, 6, 7, 8, 9, 10, 11, 12, 12, 13, 14, 14, 15, 16, 17, 17 ]
    gap&#62; filt:= Filtered( fus,
    &#62;          x -&#62; not IsSubset( ClassPositionsOfDerivedSubgroup( t ), x ) );
    [ [ 1, 2, 3, 6, 14, 15, 16, 2, 5, 7, 12, 19, 19, 22, 22, 23, 23 ], 
      [ 1, 2, 3, 6, 14, 16, 15, 2, 5, 7, 12, 19, 19, 22, 22, 23, 23 ] ]

</pre>

<div class="p"><!----></div>
Now the remaining wrong fusion is excluded by the fact that the table
automorphism of J<sub>3</sub>.2 that swaps the two classes of element order 17
-which swaps two of the possible class fusions-
does not live in the 2-modular table.

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

<pre>
    gap&#62; smod2:= s mod 2;;
    gap&#62; tmod2:= t mod 2;;
    gap&#62; admissible:= [];;
    gap&#62; for map in filt do
    &#62;      modmap:= CompositionMaps( InverseMap( GetFusionMap( tmod2, t ) ),
    &#62;                   CompositionMaps( map, GetFusionMap( smod2, s ) ) );
    &#62;      if not fail in Decomposition( Irr( smod2 ),
    &#62;            List( Irr( tmod2 ), chi -&#62; chi{ modmap } ), "nonnegative" ) then
    &#62;        AddSet( admissible, map );
    &#62;      fi;
    &#62;    od;
    gap&#62; admissible;
    [ [ 1, 2, 3, 6, 14, 16, 15, 2, 5, 7, 12, 19, 19, 22, 22, 23, 23 ] ]

</pre>

<div class="p"><!----></div>
The test of all available Brauer tables is implemented in the function
<tt>CTblLibTestDecompositions</tt> of the <font face="helvetica">GAP</font> Character Table Library
([<a href="#CTblLib" name="CITECTblLib">Bre04b</a>]).

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

<pre>
    gap&#62; CTblLibTestDecompositions( s, fus, t ) = admissible;
    true

</pre>

<div class="p"><!----></div>
We see that p-modular tables alone determine the class fusion uniquely;
in fact the primes 2 and 3 suffice for that.

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

<pre>
    gap&#62; GetFusionMap( s, t ) in admissible;
    true

</pre>

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

     <h3><a name="tth_sEc3.2">
3.2</a>&nbsp;&nbsp;L<sub>2</sub>(19) &#8594; J<sub>3</sub> (April 2003)</h3><a name="generality">
</a>

<div class="p"><!----></div>
It can happen that Brauer tables impose conditions such that ambiguities
arise which are not visible if one considers only ordinary tables.

<div class="p"><!----></div>
The class fusion between the ordinary character tables of L<sub>2</sub>(19) and J<sub>3</sub>
is unique up to table automorphisms.

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

<pre>
    gap&#62; s:= CharacterTable( "L2(19)" );;
    gap&#62; t:= CharacterTable( "J3" );;
    gap&#62; sfust:= PossibleClassFusions( s, t );
    [ [ 1, 2, 4, 6, 7, 10, 11, 12, 13, 14, 20, 21 ],
      [ 1, 2, 4, 6, 7, 10, 11, 12, 13, 14, 21, 20 ],
      [ 1, 2, 4, 6, 7, 11, 12, 10, 13, 14, 20, 21 ],
      [ 1, 2, 4, 6, 7, 11, 12, 10, 13, 14, 21, 20 ],
      [ 1, 2, 4, 6, 7, 12, 10, 11, 13, 14, 20, 21 ],
      [ 1, 2, 4, 6, 7, 12, 10, 11, 13, 14, 21, 20 ],
      [ 1, 2, 4, 7, 6, 10, 11, 12, 14, 13, 20, 21 ],
      [ 1, 2, 4, 7, 6, 10, 11, 12, 14, 13, 21, 20 ],
      [ 1, 2, 4, 7, 6, 11, 12, 10, 14, 13, 20, 21 ],
      [ 1, 2, 4, 7, 6, 11, 12, 10, 14, 13, 21, 20 ],
      [ 1, 2, 4, 7, 6, 12, 10, 11, 14, 13, 20, 21 ],
      [ 1, 2, 4, 7, 6, 12, 10, 11, 14, 13, 21, 20 ] ]
    gap&#62; fusreps:= RepresentativesFusions( s, sfust, t );
    [ [ 1, 2, 4, 6, 7, 10, 11, 12, 13, 14, 20, 21 ] ]

</pre>

<div class="p"><!----></div>
The Galois automorphism that permutes the three classes of element order 9
in the tables of (L<sub>2</sub>(19) and) J<sub>3</sub> does not live in characteristic 19.
For example, the unique irreducible Brauer character of degree 110
in the 19-modular table of J<sub>3</sub> is &#981;<sub>3</sub>,
and the value of this character on the class <tt>9A</tt> is <tt>-1+2y9+&amp;4</tt>.

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

<pre>
    gap&#62; tmod19:= t mod 19;
    BrauerTable( "J3", 19 )
    gap&#62; deg110:= Filtered( Irr( tmod19 ), phi -&#62; phi[1] = 110 );
    [ Character( BrauerTable( "J3", 19 ), [ 110, -2, 5, 2, 2, 0, 0, 1, 0, 
          -2*E(9)^2+E(9)^3-E(9)^4-E(9)^5+E(9)^6-2*E(9)^7, 
          E(9)^2+E(9)^3-E(9)^4-E(9)^5+E(9)^6+E(9)^7, 
          E(9)^2+E(9)^3+2*E(9)^4+2*E(9)^5+E(9)^6+E(9)^7, -2, -2, -1, 0, 0, 
          E(17)+E(17)^2+E(17)^4+E(17)^8+E(17)^9+E(17)^13+E(17)^15+E(17)^16, 
          E(17)^3+E(17)^5+E(17)^6+E(17)^7+E(17)^10+E(17)^11+E(17)^12+E(17)^14 ] ) 
     ]
    gap&#62; 9A:= Position( OrdersClassRepresentatives( tmod19 ), 9 );
    10
    gap&#62; deg110[1][ 9A ];
    -2*E(9)^2+E(9)^3-E(9)^4-E(9)^5+E(9)^6-2*E(9)^7
    gap&#62; AtlasIrrationality( "-1+2y9+&amp;4" ) = deg110[1][ 9A ];
    true

</pre>

<div class="p"><!----></div>
It turns out that four of the twelve possible class fusions are not compatible
with the 19-modular tables.

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

<pre>
    gap&#62; smod19:= s mod 19;
    BrauerTable( "L2(19)", 19 )
    gap&#62; compatible:= [];;
    gap&#62; for map in sfust do
    &#62;      comp:= CompositionMaps( InverseMap( GetFusionMap( tmod19, t ) ),
    &#62;      CompositionMaps( map, GetFusionMap( smod19, s ) ) );
    &#62;      rest:= List( Irr( tmod19 ), phi -&#62; phi{ comp } );
    &#62;      if not fail in Decomposition( Irr( smod19 ), rest, "nonnegative" ) then
    &#62;        Add( compatible, map );
    &#62;      fi;
    &#62;    od;
    gap&#62; compatible;
    [ [ 1, 2, 4, 6, 7, 11, 12, 10, 13, 14, 20, 21 ],
      [ 1, 2, 4, 6, 7, 11, 12, 10, 13, 14, 21, 20 ],
      [ 1, 2, 4, 6, 7, 12, 10, 11, 13, 14, 20, 21 ],
      [ 1, 2, 4, 6, 7, 12, 10, 11, 13, 14, 21, 20 ],
      [ 1, 2, 4, 7, 6, 11, 12, 10, 14, 13, 20, 21 ],
      [ 1, 2, 4, 7, 6, 11, 12, 10, 14, 13, 21, 20 ],
      [ 1, 2, 4, 7, 6, 12, 10, 11, 14, 13, 20, 21 ],
      [ 1, 2, 4, 7, 6, 12, 10, 11, 14, 13, 21, 20 ] ]

</pre>

<div class="p"><!----></div>
Moreover, the subgroups of those table automorphisms of the ordinary tables
that leave the set of compatible fusions invariant make two orbits on this
set.
Indeed, the two orbits belong to essentially different decompositions of the
restriction of &#981;<sub>3</sub>.

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

<pre>
    gap&#62; reps:= RepresentativesFusions( s, compatible, t );
    [ [ 1, 2, 4, 6, 7, 11, 12, 10, 13, 14, 20, 21 ],
      [ 1, 2, 4, 6, 7, 12, 10, 11, 13, 14, 20, 21 ] ]
    gap&#62; compatiblemod19:= List( reps, map -&#62; CompositionMaps(
    &#62;        InverseMap( GetFusionMap( tmod19, t ) ),
    &#62;        CompositionMaps( map, GetFusionMap( smod19, s ) ) ) );
    [ [ 1, 2, 4, 6, 7, 11, 12, 10, 13, 14 ], 
      [ 1, 2, 4, 6, 7, 12, 10, 11, 13, 14 ] ]
    gap&#62; rest:= List( compatiblemod19, map -&#62; Irr( tmod19 )[3]{ map } );;
    gap&#62; dec:= Decomposition( Irr( smod19 ), rest, "nonnegative" );
    [ [ 0, 0, 1, 2, 1, 2, 2, 1, 0, 1 ], [ 0, 2, 0, 2, 0, 1, 2, 0, 2, 1 ] ]
    gap&#62; List( Irr( smod19 ), phi -&#62; phi[1] );
    [ 1, 3, 5, 7, 9, 11, 13, 15, 17, 19 ]

</pre>

<div class="p"><!----></div>
In order to decide which class fusion is correct,
we take the matrix representation of J<sub>3</sub> that affords &#981;<sub>3</sub>,
restrict it to L<sub>2</sub>(19), which is the second maximal subgroup of J<sub>3</sub>,
and compute the composition factors.
For that, we use a representation from the  A<font size="-2">TLAS</font> of Group
Representations&nbsp;[<a href="#AGR" name="CITEAGR">Wil</a>], and access it via the <font face="helvetica">GAP</font> package
<font face="helvetica">AtlasRep</font> ([<a href="#AtlasRep" name="CITEAtlasRep">Bre04a</a>]).

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

<pre>
    gap&#62; LoadPackage( "atlasrep" );
    true
    gap&#62; prog:= AtlasStraightLineProgram( "J3", "maxes", 2 );
    rec( program := &lt;straight line program&#62;, standardization := 1, 
      identifier := [ "J3", "J3G1-max2W1", 1 ] )
    gap&#62; gens:= OneAtlasGeneratingSet( "J3", Characteristic, 19, Dimension, 110 );
    rec( generators := [ &lt; immutable compressed matrix 110x110 over GF(19) &#62;, 
          &lt; immutable compressed matrix 110x110 over GF(19) &#62; ], 
      standardization := 1, 
      identifier := [ "J3", [ "J3G1-f19r110B0.m1", "J3G1-f19r110B0.m2" ], 1, 19 ] 
     )
    gap&#62; restgens:= ResultOfStraightLineProgram( prog.program, gens.generators );
    [ &lt; immutable compressed matrix 110x110 over GF(19) &#62;,
      &lt; immutable compressed matrix 110x110 over GF(19) &#62; ]
    gap&#62; module:= GModuleByMats( restgens, GF( 19 ) );;
    gap&#62; facts:= SMTX.CollectedFactors( module );;
    gap&#62; Length( facts );
    7
    gap&#62; List( facts, x -&#62; x[1].dimension );
    [ 5, 7, 9, 11, 13, 15, 19 ]
    gap&#62; List( facts, x -&#62; x[2] );
    [ 1, 2, 1, 2, 2, 1, 1 ]

</pre>

<div class="p"><!----></div>
This means that there are seven pairwise nonisomorphic composition factors,
the smallest one of dimension five.
In other words, the first of the two maps is the correct one.
Let us check whether this map equals the one that is stored on the library
table.

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

<pre>
    gap&#62; GetFusionMap( s, t ) = reps[1];
    true

</pre>

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

 <h2><a name="tth_sEc4">
4</a>&nbsp;&nbsp;Fusions Determined by Information about the Groups</h2>

<div class="p"><!----></div>
In the examples in this section, character theoretic arguments do not suffice
for determining the class fusions.
So we use computations with the groups in question or information about
these groups beyond the character table,
and perhaps additionally character theoretic arguments.

<div class="p"><!----></div>
The group representations are taken from the  A<font size="-2">TLAS</font> of Group
Representations&nbsp;[<a href="#AGR" name="CITEAGR">Wil</a>] and are accessed via the <font face="helvetica">GAP</font> package
<font face="helvetica">AtlasRep</font> ([<a href="#AtlasRep" name="CITEAtlasRep">Bre04a</a>]).

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

<pre>
    gap&#62; LoadPackage( "atlasrep" );
    true

</pre>

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

     <h3><a name="tth_sEc4.1">
4.1</a>&nbsp;&nbsp;U<sub>3</sub>(3).2 &#8594; Fi<sub>24</sub><sup>&#8242;</sup> (November 2002)</h3>

<div class="p"><!----></div>
The group G = Fi<sub>24</sub><sup>&#8242;</sup> contains a maximal subgroup H of type
U<sub>3</sub>(3).2.  From the character tables of G and H, one gets a lot of
essentially different possibilities (and additionally this takes quite some
time).
We use the description of H as the normalizer in G of a U<sub>3</sub>(3) type
subgroup containing elements in the classes <tt>2B</tt>, <tt>3D</tt>, <tt>3E</tt>, <tt>4C</tt>, <tt>4C</tt>,
<tt>6J</tt>, <tt>7B</tt>, <tt>8C</tt>, and <tt>12M</tt> (see&nbsp;[<a href="#BN95" name="CITEBN95">BN95</a>]).

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

<pre>
    gap&#62; t:= CharacterTable( "F3+" );
    CharacterTable( "F3+" )
    gap&#62; s:= CharacterTable( "U3(3).2" );
    CharacterTable( "U3(3).2" )
    gap&#62; tnames:= ClassNames( t, "ATLAS" );
    [ "1A", "2A", "2B", "3A", "3B", "3C", "3D", "3E", "4A", "4B", "4C", "5A", 
      "6A", "6B", "6C", "6D", "6E", "6F", "6G", "6H", "6I", "6J", "6K", "7A", 
      "7B", "8A", "8B", "8C", "9A", "9B", "9C", "9D", "9E", "9F", "10A", "10B", 
      "11A", "12A", "12B", "12C", "12D", "12E", "12F", "12G", "12H", "12I", 
      "12J", "12K", "12L", "12M", "13A", "14A", "14B", "15A", "15B", "15C", 
      "16A", "17A", "18A", "18B", "18C", "18D", "18E", "18F", "18G", "18H", 
      "20A", "20B", "21A", "21B", "21C", "21D", "22A", "23A", "23B", "24A", 
      "24B", "24C", "24D", "24E", "24F", "24G", "26A", "27A", "27B", "27C", 
      "28A", "29A", "29B", "30A", "30B", "33A", "33B", "35A", "36A", "36B", 
      "36C", "36D", "39A", "39B", "39C", "39D", "42A", "42B", "42C", "45A", 
      "45B", "60A" ]
    gap&#62; OrdersClassRepresentatives( s );
    [ 1, 2, 3, 3, 4, 4, 6, 7, 8, 12, 2, 4, 6, 8, 12, 12 ]
    gap&#62; sfust:= List( [ "1A", "2B", "3D", "3E", "4C", "4C", "6J", "7B", "8C",
    &#62;                    "12M" ], x -&#62; Position( tnames, x ) );
    [ 1, 3, 7, 8, 11, 11, 22, 25, 28, 50 ]
    gap&#62; sfust:= PossibleClassFusions( s, t, rec( fusionmap:= sfust ) );
    [ [ 1, 3, 7, 8, 11, 11, 22, 25, 28, 50, 3, 9, 23, 28, 43, 43 ], 
      [ 1, 3, 7, 8, 11, 11, 22, 25, 28, 50, 3, 11, 23, 28, 50, 50 ] ]
    gap&#62; OrdersClassRepresentatives( s );
    [ 1, 2, 3, 3, 4, 4, 6, 7, 8, 12, 2, 4, 6, 8, 12, 12 ]

</pre>

<div class="p"><!----></div>
So we still have two possibilities, which differ on the outer classes of
element order 4 and 12.

<div class="p"><!----></div>
Our idea is to take a subgroup U of H that contains such elements,
and to compute the possible class fusions of U into G, via the
factorization through a suitable maximal subgroup M of G.

<div class="p"><!----></div>
We take U = N<sub>H</sub>(&#9001;g &#9002;) where g is an element in the first
class of order three elements of H;
this is a maximal subgroup of H, of order 216.

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

<pre>
    gap&#62; Maxes( s );
    [ "U3(3)", "3^(1+2):SD16", "L3(2).2", "2^(1+4).S3", "4^2:D12" ]
    gap&#62; SizesCentralizers( s );
    [ 12096, 192, 216, 18, 96, 32, 24, 7, 8, 12, 48, 48, 6, 8, 12, 12 ]
    gap&#62; u:= CharacterTable( Maxes( s )[2] );;
    gap&#62; ufuss:= GetFusionMap( u, s );
    [ 1, 2, 11, 3, 4, 5, 12, 7, 13, 9, 9, 15, 16, 10 ]

</pre>

<div class="p"><!----></div>
Candidates for M are those subgroups of G that contain elements
in the class <tt>3D</tt> of G whose centralizer is the full <tt>3D</tt> centralizer
in G.

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

<pre>
    gap&#62; 3Dcentralizer:= SizesCentralizers( t )[7];
    153055008
    gap&#62; cand:= [];;                                                               
    gap&#62; for name in Maxes( t ) do
    &#62;      m:= CharacterTable( name );
    &#62;      mfust:= GetFusionMap( m, t );        
    &#62;      if ForAny( [ 1 .. Length( mfust ) ],                    
    &#62;          i -&#62; mfust[i] = 7 and SizesCentralizers( m )[i] = 3Dcentralizer )   
    &#62;      then
    &#62;        Add( cand, m );
    &#62;      fi;
    &#62;    od;
    gap&#62; cand;
    [ CharacterTable( "3^7.O7(3)" ), CharacterTable( "3^2.3^4.3^8.(A5x2A4).2" ) ]

</pre>

<div class="p"><!----></div>
For these two groups M, we show that the possible class fusions from U
to G via M factorize through H only if the second possible class fusion
from H to G is chosen.

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

<pre>
    gap&#62; possufust:= List( sfust, x -&#62; CompositionMaps( x, ufuss ) );
    [ [ 1, 3, 3, 7, 8, 11, 9, 22, 23, 28, 28, 43, 43, 50 ], 
      [ 1, 3, 3, 7, 8, 11, 11, 22, 23, 28, 28, 50, 50, 50 ] ]
    gap&#62; m:= cand[1];;
    gap&#62; ufusm:= PossibleClassFusions( u, m );;
    gap&#62; Length( ufusm );
    242
    gap&#62; comp:= List( ufusm, x -&#62; CompositionMaps( GetFusionMap( m, t ), x ) );;
    gap&#62; Intersection( possufust, comp );
    [ [ 1, 3, 3, 7, 8, 11, 11, 22, 23, 28, 28, 50, 50, 50 ] ]
    gap&#62; m:= cand[2];;
    gap&#62; ufusm:= PossibleClassFusions( u, m );;
    gap&#62; Length( ufusm );                        
    256
    gap&#62; comp:= List( ufusm, x -&#62; CompositionMaps( GetFusionMap( m, t ), x ) );;   
    gap&#62; Intersection( possufust, comp );
    [ [ 1, 3, 3, 7, 8, 11, 11, 22, 23, 28, 28, 50, 50, 50 ] ]

</pre>

<div class="p"><!----></div>
Finally, we check that the correct fusion is stored in the <font face="helvetica">GAP</font> Character
Table Library.

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

<pre>
    gap&#62; GetFusionMap( s, t ) = sfust[2];
    true

</pre>

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

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

     <h3><a name="tth_sEc4.2">
4.2</a>&nbsp;&nbsp;L<sub>2</sub>(13).2 &#8594; Fi<sub>24</sub><sup>&#8242;</sup> (September 2002)</h3>

<div class="p"><!----></div>
The class fusion of maximal subgroups U of type L<sub>2</sub>(13).2
in G = Fi<sub>24</sub><sup>&#8242;</sup> is ambiguous.

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

<pre>
    gap&#62; t:= CharacterTable( "F3+" );;
    gap&#62; u:= CharacterTable( "L2(13).2" );;
    gap&#62; fus:= PossibleClassFusions( u, t );;
    gap&#62; repr:= RepresentativesFusions( u, fus, t );;
    gap&#62; Length( repr );
    3

</pre>

<div class="p"><!----></div>
In&nbsp;[<a href="#LW91" name="CITELW91">LW91</a>,p.&nbsp;155], it is stated that U<sup>&#8242;</sup> contains elements
in the classes <tt>2B</tt>, <tt>3D</tt>, and <tt>7B</tt> of G.
(Note that the two conjugacy classes of groups isomorphic to U have
the same class fusion because the outer automorphism of G fixes
the relevant classes.)

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

<pre>
    gap&#62; filt:= Filtered( repr, x -&#62; t.2b in x and t.3d in x and t.7b in x );
    [ [ 1, 3, 7, 22, 25, 25, 25, 51, 3, 9, 43, 43, 53, 53, 53 ], 
      [ 1, 3, 7, 22, 25, 25, 25, 51, 3, 11, 50, 50, 53, 53, 53 ] ]
    gap&#62; ClassNames( t ){ [ 43, 50 ] };
    [ "12f", "12m" ]

</pre>

<div class="p"><!----></div>
So we have to decide whether U contains elements in the class <tt>12F</tt> or
in <tt>12M</tt> of G.

<div class="p"><!----></div>
The order 12 elements in question lie inside subgroups of type 13 : 12
in U.
These subgroups are clearly contained in the Sylow 13 normalizers of G,
which are contained in maximal subgroups of type (3<sup>2</sup>:2 &times;G<sub>2</sub>(3)).2
in G;
the class fusion of the latter groups is unique up to table automorphisms.

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

<pre>
    gap&#62; pos:= Position( OrdersClassRepresentatives( t ), 13 );
    51
    gap&#62; SizesCentralizers( t )[ pos ];
    234
    gap&#62; ClassOrbit( t, pos );
    [ 51 ]
    gap&#62; cand:= [];;                                                         
    gap&#62; for name in Maxes( t ) do
    &#62;      m:= CharacterTable( name );
    &#62;      pos:= Position( OrdersClassRepresentatives( m ), 13 );
    &#62;      if pos &lt;&#62; fail and                                             
    &#62;         SizesCentralizers( m )[ pos ] = 234                         
    &#62;         and ClassOrbit( m, pos ) = [ pos ] then
    &#62;        Add( cand, m );
    &#62;      fi;
    &#62;    od;
    gap&#62; cand;
    [ CharacterTable( "(3^2:2xG2(3)).2" ) ]
    gap&#62; s:= cand[1];;
    gap&#62; sfust:= PossibleClassFusions( s, t );;

</pre>

<div class="p"><!----></div>
As no 13:12 type subgroup is contained in the derived subgroup of
(3<sup>2</sup>:2 &times;G<sub>2</sub>(3)).2, we look at the elements of order 12 in the
outer half.

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

<pre>
    gap&#62; der:= ClassPositionsOfDerivedSubgroup( s );;
    gap&#62; outer:= Difference( [ 1 .. NrConjugacyClasses( s ) ], der );;
    gap&#62; sfust:= PossibleClassFusions( s, t );;
    gap&#62; imgs:= Set( Flat( List( sfust, x -&#62; x{ outer } ) ) );
    [ 2, 3, 10, 11, 15, 17, 18, 19, 21, 22, 26, 44, 45, 49, 50, 52, 62, 83, 87, 
      98 ]
    gap&#62; t.12f in imgs;
    false
    gap&#62; t.12m in imgs;
    true

</pre>

<div class="p"><!----></div>
So L<sub>2</sub>(13).2 \L<sub>2</sub>(13) does not contain <tt>12F</tt> elements of G,
i.&nbsp;e., we have determined the class fusion of U in G.

<div class="p"><!----></div>
Finally, we check whether the correct fusion is stored in the
<font face="helvetica">GAP</font> Character Table Library.

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

<pre>
    gap&#62; GetFusionMap( u, t ) = filt[2];
    true

</pre>

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

     <h3><a name="tth_sEc4.3">
4.3</a>&nbsp;&nbsp;L<sub>2</sub>(17).2 &#8594; B (March 2004)</h3>

<div class="p"><!----></div>
The sporadic simple group B contains a maximal subgroup U of the type
L<sub>2</sub>(17).2 whose class fusion is ambiguous.

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

<pre>
    gap&#62; b:= CharacterTable( "B" );;
    gap&#62; u:= CharacterTable( "L2(17).2" );;
    gap&#62; ufusb:= PossibleClassFusions( u, b );
    [ [ 1, 5, 7, 15, 42, 42, 47, 47, 47, 91, 4, 30, 89, 89, 89, 89, 97, 97, 97 ], 
      [ 1, 5, 7, 15, 44, 44, 46, 46, 46, 91, 5, 29, 90, 90, 90, 90, 96, 96, 96 ], 
      [ 1, 5, 7, 15, 44, 44, 47, 47, 47, 91, 5, 29, 90, 90, 90, 90, 95, 95, 95 ] ]

</pre>

<div class="p"><!----></div>
According to&nbsp;[<a href="#Wil99" name="CITEWil99">Wil99</a>,Prop.&nbsp;11.1], U contains elements in the classes
<tt>8M</tt> and <tt>9A</tt> of B.
This determines the fusion map.

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

<pre>
    gap&#62; names:= ClassNames( b, "ATLAS" );;
    gap&#62; pos:= List( [ "8M", "9A" ], x -&#62; Position( names, x ) );
    [ 44, 46 ]
    gap&#62; ufusb:= Filtered( ufusb, map -&#62; IsSubset( map, pos ) );
    [ [ 1, 5, 7, 15, 44, 44, 46, 46, 46, 91, 5, 29, 90, 90, 90, 90, 96, 96, 96 ] ]

</pre>

<div class="p"><!----></div>
We check that this map is stored on the lilbrary table.

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

<pre>
    gap&#62; GetFusionMap( u, b ) = ufusb[1];
    true

</pre>

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

     <h3><a name="tth_sEc4.4">
4.4</a>&nbsp;&nbsp;2<sup>3</sup>.L<sub>3</sub>(2) &#8594; G<sub>2</sub>(5)</h3>

<div class="p"><!----></div>
The Chevalley group G = G<sub>2</sub>(5) contains a maximal subgroup U of the type
2<sup>3</sup>.L<sub>3</sub>(2) whose class fusion is ambiguous.

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

<pre>
    gap&#62; t:= CharacterTable( "G2(5)" );;
    gap&#62; s:= CharacterTable( "2^3.L3(2)" );;
    gap&#62; sfust:= PossibleClassFusions( s, t );;
    gap&#62; RepresentativesFusions( s, sfust, t );
    [ [ 1, 2, 2, 5, 6, 4, 13, 16, 17, 15, 15 ], 
      [ 1, 2, 2, 5, 6, 4, 14, 16, 17, 15, 15 ] ]

</pre>

<div class="p"><!----></div>
So the question is whether U contains elements in the class <tt>6B</tt> or <tt>6C</tt>
of G (position 13 or 14 in the  A<font size="-2">TLAS</font> table).
We use a permutation representation of G, restrict it to U,
and compute the centralizer in G of an element of order 6 in U.

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

<pre>
    gap&#62; gens:= OneAtlasGeneratingSet( "G2(5)" );;
    gap&#62; g:= Group( gens.generators );;
    gap&#62; prg:= AtlasStraightLineProgram( "G2(5)", "maxes", 7 );;
    gap&#62; subgens:= ResultOfStraightLineProgram( prg.program, gens.generators );;
    gap&#62; u:= Group( gens.generators );;
    gap&#62; repeat
    &#62;      x:= Random( u );
    &#62;    until Order( x ) = 6;
    gap&#62; siz:= Size( Centralizer( g, x ) );
    36
    gap&#62; Filtered( [ 1 .. NrConjugacyClasses( t ) ],
    &#62;              i -&#62; SizesCentralizers( t )[i] = siz );
    [ 14 ]

</pre>

<div class="p"><!----></div>
So U contains <tt>6C</tt> elements in G<sub>2</sub>(5).

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

<pre>
    gap&#62; GetFusionMap( s, t ) in Filtered( sfust, map -&#62; 14 in map );  
    true

</pre>

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

     <h3><a name="tth_sEc4.5">
4.5</a>&nbsp;&nbsp;The fusion from the character table of 7<sup>2</sup>:2L<sub>2</sub>(7).2
into the table of marks</h3>

<div class="p"><!----></div>
It can happen that the class fusion from the ordinary character table of a
group G into the table of marks of G is not unique up to table
automorphisms of the character table of G.

<div class="p"><!----></div>
As an example, consider G = 7<sup>2</sup>:2L<sub>2</sub>(7).2, a maximal subgroup in the
sporadic simple group He.

<div class="p"><!----></div>
G contains four classes of cyclic subgroups of order 7.
One contains the elements in the normal subgroup of type 7<sup>2</sup>,
and the other three are preimages of the order 7 elements in the
factor group L<sub>2</sub>(7).
The conjugacy classes of nonidentity elements in the latter three classes
split into two Galois conjugates each, which are permuted cyclicly by the
table automorphisms of the character table of G,
but on which the stabilizer of one class acts trivially.
This means that determining one of the three classes determines also the
other two.

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

<pre>
    gap&#62; tbl:= CharacterTable( "7^2:2psl(2,7)" );
    CharacterTable( "7^2:2psl(2,7)" )
    gap&#62; tom:= TableOfMarks( FusionToTom( tbl ).name );
    TableOfMarks( "7^2:2L2(7)" )
    gap&#62; fus:= PossibleFusionsCharTableTom( tbl, tom );
    [ [ 1, 6, 2, 4, 3, 5, 13, 13, 7, 8, 10, 9, 16, 7, 10, 9, 8, 16 ], 
      [ 1, 6, 2, 4, 3, 5, 13, 13, 7, 9, 8, 10, 16, 7, 8, 10, 9, 16 ], 
      [ 1, 6, 2, 4, 3, 5, 13, 13, 7, 10, 9, 8, 16, 7, 9, 8, 10, 16 ], 
      [ 1, 6, 2, 4, 3, 5, 13, 13, 7, 8, 9, 10, 16, 7, 9, 10, 8, 16 ], 
      [ 1, 6, 2, 4, 3, 5, 13, 13, 7, 10, 8, 9, 16, 7, 8, 9, 10, 16 ], 
      [ 1, 6, 2, 4, 3, 5, 13, 13, 7, 9, 10, 8, 16, 7, 10, 8, 9, 16 ] ]
    gap&#62; reps:= RepresentativesFusions( tbl, fus, Group(()) );        
    [ [ 1, 6, 2, 4, 3, 5, 13, 13, 7, 8, 9, 10, 16, 7, 9, 10, 8, 16 ], 
      [ 1, 6, 2, 4, 3, 5, 13, 13, 7, 8, 10, 9, 16, 7, 10, 9, 8, 16 ] ]
    gap&#62; AutomorphismsOfTable( tbl );
    Group([ (9,14)(10,17)(11,15)(12,16)(13,18), (7,8), (10,11,12)(15,16,17) ])
    gap&#62; OrdersClassRepresentatives( tbl );
    [ 1, 7, 2, 4, 3, 6, 8, 8, 7, 7, 7, 7, 14, 7, 7, 7, 7, 14 ]
    gap&#62; perms1:= PermCharsTom( reps[1], tom );;
    gap&#62; perms2:= PermCharsTom( reps[2], tom );;
    gap&#62; perms1 = perms2;      
    false
    gap&#62; Set( perms1 ) = Set( perms2 );
    true

</pre>

<div class="p"><!----></div>
The table of marks of G does not distinguish the three classes
of cyclic subgroups,
there are permutations of rows and columns that act as an S<sub>3</sub> on them.

<div class="p"><!----></div>
Note that an S<sub>3</sub> acts on the classes in question in the <b>rational</b>
character table.
So it is due to the irrationalities in the character table that it
contains more information.

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

<pre>
    gap&#62; Display( tbl );
    7^2:2psl(2,7)
    
          2  4  .  4  3  1  1  3  3   1   .   .   .   1   1   .   .   .   1
          3  1  .  1  .  1  1  .  .   .   .   .   .   .   .   .   .   .   .
          7  3  3  1  .  .  .  .  .   2   2   2   2   1   2   2   2   2   1
    
            1a 7a 2a 4a 3a 6a 8a 8b  7b  7c  7d  7e 14a  7f  7g  7h  7i 14b
         2P 1a 7a 1a 2a 3a 3a 4a 4a  7b  7c  7d  7e  7b  7f  7g  7h  7i  7f
         3P 1a 7a 2a 4a 1a 2a 8b 8a  7f  7i  7g  7h 14b  7b  7d  7e  7c 14a
         5P 1a 7a 2a 4a 3a 6a 8b 8a  7f  7i  7g  7h 14b  7b  7d  7e  7c 14a
         7P 1a 1a 2a 4a 3a 6a 8a 8b  1a  1a  1a  1a  2a  1a  1a  1a  1a  2a
        11P 1a 7a 2a 4a 3a 6a 8b 8a  7b  7c  7d  7e 14a  7f  7g  7h  7i 14b
        13P 1a 7a 2a 4a 3a 6a 8b 8a  7f  7i  7g  7h 14b  7b  7d  7e  7c 14a
    
    X.1      1  1  1  1  1  1  1  1   1   1   1   1   1   1   1   1   1   1
    X.2      3  3  3 -1  .  .  1  1   B   B   B   B   B  /B  /B  /B  /B  /B
    X.3      3  3  3 -1  .  .  1  1  /B  /B  /B  /B  /B   B   B   B   B   B
    X.4      6  6  6  2  .  .  .  .  -1  -1  -1  -1  -1  -1  -1  -1  -1  -1
    X.5      7  7  7 -1  1  1 -1 -1   .   .   .   .   .   .   .   .   .   .
    X.6      8  8  8  . -1 -1  .  .   1   1   1   1   1   1   1   1   1   1
    X.7      4  4 -4  .  1 -1  .  .  -B  -B  -B  -B   B -/B -/B -/B -/B  /B
    X.8      4  4 -4  .  1 -1  .  . -/B -/B -/B -/B  /B  -B  -B  -B  -B   B
    X.9      6  6 -6  .  .  .  A -A  -1  -1  -1  -1   1  -1  -1  -1  -1   1
    X.10     6  6 -6  .  .  . -A  A  -1  -1  -1  -1   1  -1  -1  -1  -1   1
    X.11     8  8 -8  . -1  1  .  .   1   1   1   1  -1   1   1   1   1  -1
    X.12    48 -1  .  .  .  .  .  .   6  -1  -1  -1   .   6  -1  -1  -1   .
    X.13    48 -1  .  .  .  .  .  .   C  -1  /C  /D   .  /C   C   D  -1   .
    X.14    48 -1  .  .  .  .  .  .   C  /C  /D  -1   .  /C   D  -1   C   .
    X.15    48 -1  .  .  .  .  .  .  /C   D  -1   C   .   C  -1  /C  /D   .
    X.16    48 -1  .  .  .  .  .  .   C  /D  -1  /C   .  /C  -1   C   D   .
    X.17    48 -1  .  .  .  .  .  .  /C   C   D  -1   .   C  /D  -1  /C   .
    X.18    48 -1  .  .  .  .  .  .  /C  -1   C   D   .   C  /C  /D  -1   .
    
    A = E(8)-E(8)^3
      = ER(2) = r2
    B = E(7)+E(7)^2+E(7)^4
      = (-1+ER(-7))/2 = b7
    C = 2*E(7)+2*E(7)^2+2*E(7)^4
      = -1+ER(-7) = 2b7
    D = -3*E(7)-3*E(7)^2-2*E(7)^3-3*E(7)^4-2*E(7)^5-2*E(7)^6
      = (5-ER(-7))/2 = 2-b7
    gap&#62; mat:= MatTom( tom );;
    gap&#62; mataut:= MatrixAutomorphisms( mat );;
    gap&#62; Print( mataut, "\n" );
    Group( [ (11,12)(23,24)(27,28)(46,47)(53,54)(56,57), 
      ( 9,10)(20,21)(31,32)(38,39), ( 8, 9)(20,22)(31,33)(38,40) ] )
    gap&#62; RepresentativesFusions( Group( () ), reps, mataut );
    [ [ 1, 6, 2, 4, 3, 5, 13, 13, 7, 8, 9, 10, 16, 7, 9, 10, 8, 16 ] ]

</pre>

<div class="p"><!----></div>
We could say that thus the fusion is unique up to table automorphisms
and automorphisms of the table of marks.
But since a group is associated with the table of marks,
we compute the character table from the group,
and decide which class fusion is correct.

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

<pre>
    gap&#62; g:= UnderlyingGroup( tom );;
    gap&#62; tg:= CharacterTable( g );;
    gap&#62; tgfustom:= FusionCharTableTom( tg, tom );
    [ 1, 6, 2, 3, 5, 16, 7, 8, 10, 9, 7, 8, 10, 9, 16, 4, 13, 13 ]
    gap&#62; trans:= TransformingPermutationsCharacterTables( tg, tbl );;
    gap&#62; tblfustom:= Permuted( tgfustom, trans.columns );
    [ 1, 6, 2, 4, 3, 5, 13, 13, 7, 8, 10, 9, 16, 7, 10, 9, 8, 16 ]
    gap&#62; orbits:= List( reps, map -&#62; OrbitFusions( AutomorphismsOfTable( tbl ),
    &#62;                                              map, Group( () ) ) );;
    gap&#62; PositionProperty( orbits, orb -&#62; tblfustom in orb );
    2
    gap&#62; PositionProperty( orbits, orb -&#62; FusionToTom( tbl ).map in orb );
    2

</pre>

<div class="p"><!----></div>
So we see that the second one of the possibilities above is the right one.

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


<h2>References</h2>

<dl compact="compact">
 <dt><a href="#CITEBN95" name="BN95">[BN95]</a></dt><dd>
Thomas Breuer and Simon&nbsp;P. Norton, <em>Improvements to the Atlas</em>, London
  Math. Soc. Monographs, vol.&nbsp;11, pp.&nbsp;297-327, Oxford University Press, 1995.

<div class="p"><!----></div>
</dd>
 <dt><a href="#CITEAtlasRep" name="AtlasRep">[Bre04a]</a></dt><dd>
Thomas Breuer, <em>Manual for the <font face="helvetica">GAP</font> 4 Package AtlasRep, Version 1.2</em>,
  Lehrstuhl D f&#252;r Mathematik, Rheinisch
  Westf&#228;lische Technische Hochschule, Aachen, Germany,
  2004.

<div class="p"><!----></div>
</dd>
 <dt><a href="#CITECTblLib" name="CTblLib">[Bre04b]</a></dt><dd>
Thomas Breuer, <em>Manual for the <font face="helvetica">GAP</font> Character Table Library, Version
  1.1</em>, Lehrstuhl D f&#252;r Mathematik, Rheinisch
  Westf&#228;lische Technische Hochschule, Aachen, Germany,
  2004.

<div class="p"><!----></div>
</dd>
 <dt><a href="#CITECCN85" name="CCN85">[CCN<sup>+</sup>85]</a></dt><dd>
J[ohn]&nbsp;H. Conway, R[obert]&nbsp;T. Curtis, S[imon]&nbsp;P. Norton, R[ichard]&nbsp;A. Parker,
  and R[obert]&nbsp;A. Wilson, <em>Atlas of finite groups</em>, Oxford University
  Press, 1985.

<div class="p"><!----></div>
</dd>
 <dt><a href="#CITEGAP4" name="GAP4">[GAP04]</a></dt><dd>
The GAP&nbsp;Group, <em>GAP - Groups, Algorithms, and Programming, Version
  4.4</em>, 2004, <a href="http://www.gap-system.org"><tt>http://www.gap-system.org</tt></a>.

<div class="p"><!----></div>
</dd>
 <dt><a href="#CITELW91" name="LW91">[LW91]</a></dt><dd>
Stephen&nbsp;A. Linton and Robert&nbsp;A. Wilson, <em>The maximal subgroups of the
  Fischer groups Fi<sub>24</sub> and Fi<sup>&#8242;</sup><sub>24</sub></em>, Proc. London Math.
  Soc. (3) <b>63</b> (1991), no.&nbsp;1, 113-164.

<div class="p"><!----></div>
</dd>
 <dt><a href="#CITEAGR" name="AGR">[Wil]</a></dt><dd>
Robert&nbsp;A. Wilson, <em>ATLAS of Finite Group Representations</em>,
  <a href="http://www.mat.bham.ac.uk/atlas/"><tt>http://www.mat.bham.ac.uk/atlas/</tt></a>.

<div class="p"><!----></div>
</dd>
 <dt><a href="#CITEWil99" name="Wil99">[Wil99]</a></dt><dd>
Robert&nbsp;A. Wilson, <em>The maximal subgroups of the Baby Monster, I</em>, J.
  Algebra <b>211</b> (1999), 1-14.</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.55.<br />On 31 Mar 2004, 10:53.</small>
</html>