Sophie

Sophie

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

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

<html><head><title>[GrpConst] 5 The Cyclic Split Extension Method</title></head>
<body text="#000000" bgcolor="#ffffff">
[<a href = "chapters.htm">Up</a>] [<a href ="CHAP004.htm">Previous</a>] [<a href ="CHAP006.htm">Next</a>] [<a href = "theindex.htm">Index</a>]
<h1>5 The Cyclic Split Extension Method</h1><p>
<P>
<H3>Sections</H3>
<oL>
<li> <A HREF="CHAP005.htm#SECT001">The Main Function</a>
<li> <A HREF="CHAP005.htm#SECT002">The Underlying Functions</a>
</ol><p>
<p>

This is a method to construct up to isomorphism the groups of order
<var>p<sup>n</sup> cdotq</var> for different primes <var>p</var> and <var>q</var> which have a normal
Sylow subgroup. We first describe the main function for this method
and then functions for a slightly more low level access to the
algorithms. 
<p>
Note that all functions described in this chapter rely on an
efficient method for <code>AutomorphismGroup</code> for <var>p</var>-groups. Such
a method is provided in the forthcoming share package AutPGrp. 
Thus it is useful to install and load this share package before
using the functions described in this chapter.
<p>
<p>
<h2><a name="SECT001">5.1 The Main Function</a></h2>
<p><p>
<a name = "SSEC001.1"></a>
<li><code>CyclicSplitExtensionMethod( </code><var>p</var><code>, </code><var>n</var><code>, </code><var>q</var><code> ) F</code>
<li><code>CyclicSplitExtensionMethod( </code><var>p</var><code>, </code><var>n</var><code>, </code><var>q</var><code>, </code><var>uncoded</var><code> ) F</code>
<p>
Clearly, each of the computed groups is a split extension of a group
of order <var>p<sup>n</sup></var> and the cyclic group of order <var>q</var>. The output is a
record with three entries <var>up</var>, <var>down</var> and <var>both</var>. Each of these 
contains a list of groups, <var>both</var> the nilpotent groups, <var>up</var> the 
remaining groups with a normal Sylow <var>p</var>-subgroup and <var>down</var> the
remaining groups with normal Sylow <var>q</var>-subgroup.
<p>
As in Chapter <a href="CHAP004.htm">The Frattini Extension Method</a> all groups are
described as codes. Setting <var>uncoded</var> to true, the function
will return pc groups instead.
<p>
If one wants to construct the groups of order <var>p<sup>n</sup> cdotq</var>
for fixed <var>p</var> and several primes <var>q</var>, it is more efficient to
do this in one go. Thus it is possible to hand a list of primes
for the input <var>q</var>.
<p>
<pre>
gap&gt; CyclicSplitExtensionMethod( 2,2,7, true );    
rec( up := [  ], 
  down  := [ &lt;pc group of size 28 with 3 generators&gt;, 
             &lt;pc group of size 28 with 3 generators&gt; ], 
  both  := [ &lt;pc group of size 28 with 3 generators&gt;, 
             &lt;pc group of size 28 with 3 generators&gt; ] )

gap&gt; CyclicSplitExtensionMethod( 2,2,[3,5], true );
rec( up := [ &lt;pc group of size 12 with 3 generators&gt; ], 
  down  := [ &lt;pc group of size 12 with 3 generators&gt;, 
             &lt;pc group of size 20 with 3 generators&gt;, 
             &lt;pc group of size 20 with 3 generators&gt;, 
             &lt;pc group of size 12 with 3 generators&gt;, 
             &lt;pc group of size 20 with 3 generators&gt; ], 
  both  := [ &lt;pc group of size 12 with 3 generators&gt;, 
             &lt;pc group of size 20 with 3 generators&gt;, 
             &lt;pc group of size 12 with 3 generators&gt;, 
             &lt;pc group of size 20 with 3 generators&gt; ] )
</pre>
<p>
Note that the function <code>CyclicSplitExtensionMethod</code> requires that
the groups of order <var>p<sup>n</sup></var> are given within the SmallGroups Library. 
<p>
<p>
<h2><a name="SECT002">5.2 The Underlying Functions</a></h2>
<p><p>
It is possible to construct the cyclic extensions of a single group
of order <var>p<sup>n</sup></var> only. The output is as above.
<p>
<a name = "SSEC002.1"></a>
<li><code>CyclicSplitExtensions( </code><var>G</var><code>, </code><var>q</var><code> ) F</code>
<li><code>CyclicSplitExtensions( </code><var>G</var><code>, </code><var>q</var><code>, </code><var>uncoded</var><code> ) F</code>
<p>
Moreover, the computation of the record entry <var>up</var> and the record
entry <var>down</var> can be separated by using the following functions.
<p>
<a name = "SSEC002.2"></a>
<li><code>CyclicSplitExtensionsUp( </code><var>G</var><code>, </code><var>q</var><code> ) F</code>
<li><code>CyclicSplitExtensionsUp( </code><var>G</var><code>, </code><var>q</var><code>, </code><var>uncoded</var><code> ) F</code>
<p>
<a name = "SSEC002.3"></a>
<li><code>CyclicSplitExtensionsDown( </code><var>G</var><code>, </code><var>q</var><code> ) F</code>
<li><code>CyclicSplitExtensionsDown( </code><var>G</var><code>, </code><var>q</var><code>, </code><var>uncoded</var><code> ) F</code>
<p>
The input for these functions is the same as above. The first
function returns a list of groups with one normal subgroup of order
<var>p<sup>n</sup></var> and the second a list of groups with one normal subgroup of order
<var>q</var>. 
<p>
<pre>
gap&gt; G := SmallGroup( 16, 10 );;
gap&gt; CyclicSplitExtensionsUp( G, 3, true );
[ &lt;pc group with 5 generators&gt; ]

gap&gt; G := SylowSubgroup( SymmetricGroup(4), 2);
Group([ (1,2), (3,4), (1,3)(2,4) ])
gap&gt; CyclicSplitExtensionsDown( G, 3 );
[ rec( code := 6562689, order := 24 ), 
  rec( code := 2837724033, order := 24 ) ]
</pre>
<p>
[<a href = "chapters.htm">Up</a>] [<a href ="CHAP004.htm">Previous</a>] [<a href ="CHAP006.htm">Next</a>] [<a href = "theindex.htm">Index</a>]
<P>
<address>GrpConst manual<br>August 2003
</address></body></html>