<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> CyclicSplitExtensionMethod( 2,2,7, true ); rec( up := [ ], down := [ <pc group of size 28 with 3 generators>, <pc group of size 28 with 3 generators> ], both := [ <pc group of size 28 with 3 generators>, <pc group of size 28 with 3 generators> ] ) gap> CyclicSplitExtensionMethod( 2,2,[3,5], true ); rec( up := [ <pc group of size 12 with 3 generators> ], down := [ <pc group of size 12 with 3 generators>, <pc group of size 20 with 3 generators>, <pc group of size 20 with 3 generators>, <pc group of size 12 with 3 generators>, <pc group of size 20 with 3 generators> ], both := [ <pc group of size 12 with 3 generators>, <pc group of size 20 with 3 generators>, <pc group of size 12 with 3 generators>, <pc group of size 20 with 3 generators> ] ) </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> G := SmallGroup( 16, 10 );; gap> CyclicSplitExtensionsUp( G, 3, true ); [ <pc group with 5 generators> ] gap> G := SylowSubgroup( SymmetricGroup(4), 2); Group([ (1,2), (3,4), (1,3)(2,4) ]) gap> 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>