Goto Chapter: Top 1 2 3 4 5 Bib Ind
 [Top of Book]  [Contents]   [Previous Chapter]   [Next Chapter] 

3 p-power-poly-pcp-groups
 3.1 Example
 3.2 Obtaining p-power-poly-pcp-groups
 3.3 Operations and functions for p-power-poly-pcp-group elements
 3.4 Operations and functions for p-power-poly-pcp-groups
 3.5 Info classes for the p-power-poly-pcp-groups
 3.6 Global variables for the p-power-poly-pcp-groups

3 p-power-poly-pcp-groups

Eick and Leedham-Green [EL08] defined for a prime p and a fixed coclass r infinite coclass sequences. These sequences consist of finite p-groups of coclass r. For each infinite coclass sequence there exists a consistent pp-presentation (see Section 2.2) such that if we choose a natural number for the parameter and possibly reduce the exponents modulo the relative orders, we obtain a consistent polycyclic presentation for a group in the sequence; and for each group in the sequence there exists a natural number such that using this as a value for the parameter, we obtain a polycyclic presentation for the group.

We use these consistent pp-presentations to compute parametrised groups, which we call p-power-poly-pcp-groups. Furthermore, methods for these are presented. Without specifying the parameter we compute certain properties and using the p-power-poly-pcp-groups we do this for all groups they represent at once.

The p-power-poly-pcp-groups have a consistent pp-presentation with generators \(g_1, \ldots, g_n, t_1, \ldots t_d\) and \(c_1, \ldots, c_m\), for some non-negative integers n, d and m, and relations of the form, where \(rel[i,j]\) stores the right hand sides of the relations (see Section 2.2 for more information on pp-presentations),

\[ \begin{array}{rl}& g_i^p=rel[i,i],\\ & t_i^{expo} = rel[n+i,n+i],\\ & c_i^{expo\_vec[i]} = rel[n+d+i,n+d+i],\\ & g_i^{g_j} = rel[j,i], \\ & t_i^{g_j} = rel[j,n+i], \\ & t_i^{t_j} = rel[n+j,n+i],\end{array} \]

where the \(t_i\)'s commute modulo \(\langle c_1,\ldots, c_m\rangle\) and the \(c_i\)'s are central. So rel (see Section 3.2) are the right hand sides of the relations, where some depend on the parameter. The relative orders expo and expo_vec[i] of the generators \(t_j\) and \(c_i\) depend on the parameter.

3.1 Example

In this section we present the well-known example of quaternion groups \(Q_{2^{x+3}}\). They have a pp-presentation of the following form:

\[ \begin{array}{rl}\{ g_1,g_2,t_1 \mid &g_1^{2} = t_1^{2^x}, g_2^{g_1} = g_2 t_1^{-1+2^{x+1}},\\ & g_2^{2} = t_1, t_1^{g_1} = t_1^{-1+2^{x+1}},\\ & t_1^{2^{x+1}} = 1 \}.\end{array} \]

3.2 Obtaining p-power-poly-pcp-groups

To obtain p-power-poly-pcp-groups:

3.2-1 PPPPcpGroups
‣ PPPPcpGroups( rel, n, d, m, expo, expo_vec, prime, cc, name )( function )
‣ PPPPcpGroups( rec )( function )

returns the p-power-poly-pcp-groups described by the consistent pp-presentation with generators \(g_1, \ldots, g_n\), \(t_1, \ldots t_d\), \(c_1, \ldots, c_m\), for some non-negative integers n, d and m, and relations of the form

\[ \begin{array}{rl}& g_i^p=rel[i,i],\\ & t_i^{expo} = rel[n+i,n+i],\\ & c_i^{expo\_vec[i]} = rel[n+d+i,n+d+i],\\ & g_i^{g_j} = rel[j,i], \\ & t_i^{g_j} = rel[j,n+i], \\ & t_i^{t_j} = rel[n+j,n+i].\end{array} \]

The input consists of the following:

rel

is the list of the right hand sides of the relations, where each relation is represented by a list consisting of tuples; the first entry i of a tuple is the index of the generator (if \(i \le n\), then it represents generator \(g_i\), if \(n < i \le n+d\), then it represents generator \(t_{i-n}\) and otherwise it represents generator \(c_{i-n-d}\)) and the second entry of the tuple is the corresponding exponent. Note that the exponents of the \(g_i\)'s are saved as integers and all other exponents as lists, representing elements depending on the parameter.

n

is the number of generators \(g_i\),

d

is the number of generators \(t_i\),

m

is the number of generators \(c_i\),

expo

is the relative order of all generators \(t_i\); note that expo is a list that represents an element depending on the parameter,

expo_vec

is the list of relative orders, where the ith entry of the list gives the relative order of the generator \(c_i\); note that each relative order is a list that represents an element depending on the parameter,

prime

is the underlying prime p,

cc

if the p-power-poly-pcp-groups represent an infinite coclass sequence of p-groups of coclass r, then cc = r. If they represent Schur extensions of groups in an infinite coclass sequence, then cc is the coclass of the groups in this infinite coclass sequence.

name

a string to name the p-power-poly-pcp-groups.

rec

is a record of the form rec( rel, expo, n, d, m, prime, cc, expo_vec, name ).

The pp-presentation is described at the beginning of Chapter 3. Note that the consistency of the presentation is checked and that the presentation has to be consistent.

gap> ParPresGlobalVar_2_1[1];
rec( cc := 1, d := 1, expo := [ 2, [ 0, 2 ], true, [ 1, 1 ] ], 
  expo_vec := [  ], m := 0, n := 2, name := "D", prime := 2, 
  rel := 
    [ [ [ [ 1, 0 ] ] ], 
      [ [ [ 2, 1 ], [ 3, [ 2, [ -1, 2 ], true ] ] ], 
          [ [ 3, [ 2, [ 1 ], true, [ 0, 0 ] ] ] ] ], 
      [ [ [ 3, [ 2, [ -1, 2 ], true ] ] ], 
          [ [ 3, [ 2, [ 1 ], true, [ 0, 0 ] ] ] ], 
          [ [ 3, [ 2, [  ], true, [ infinity, infinity ] ] ] ] ] ] )
gap> G := PPPPcpGroups( ParPresGlobalVar_2_1[1] );
< P-Power-Poly-pcp-groups with 3 generators of relative orders [ 2,2,2*2^x ] >

3.2-2 PPPPcpGroupsElement
‣ PPPPcpGroupsElement( G, word )( operation )

constructs an element in p-power-poly-pcp-groups, where G is a p-power-poly-pcp-group (thus representing an infinite coclass sequence through a pp-presentation) with generators \(g_1, \ldots, g_n, t_1, \ldots, t_d, c_1, \ldots, c_m\) and word is a list of tuples, where the first entry i in the tuple gives the index of the generator (if \(i \le n\), then it represents generator \(g_i\), if \(n < i \le n+d\), then it represents generator \(t_{i-n}\) and otherwise it represents generator \(c_{i-n-d}\)) and the second entry of the tuple is the corresponding exponent. Note that the exponents of the \(g_i\)'s must be integers, while all other exponents can be integers or lists, representing an element depending on the parameter.

gap> G := PPPPcpGroups( ParPresGlobalVar_2_1[3] );
< P-Power-Poly-pcp-groups with 3 generators of relative orders [ 2,2,2*2^x ] >
gap> g1 := PPPPcpGroupsElement( G , [[1,1]] );
g1
gap> g := PPPPcpGroupsElement( G , [[1,1],[2,1],[3,1]] );
g1*g2*t1
gap> h := PPPPcpGroupsElement( G , [[1,1],[2,1],[3,G!.expo-1]] );
Error, no method found! For debugging hints type ?Recovery from NoMethodFound
Error, no 1st choice method found for `+' on 2 arguments

3.3 Operations and functions for p-power-poly-pcp-group elements

The typical operations for group elements can be carried out for p-power-poly-pcp-group elements, like *, /, Inverse, One, equality and ShallowCopy.

3.3-1 CollectPPPPcp
‣ CollectPPPPcp( a )( operation )

collects the p-power-poly-pcp-group element a so that after reducing to integers for every specific value for the parameter x, the element is collected in the polycyclic group, represented by x in the underlying pp-presentation.

Note that the global variable COLLECT_PPOWERPOLY_PCP determines whether every element will be collected immediately, when created, or not, see COLLECT_PPOWERPOLY_PCP (3.6-1).

3.4 Operations and functions for p-power-poly-pcp-groups

For p-power-poly-pcp-groups:

3.4-1 GeneratorsOfGroup
‣ GeneratorsOfGroup( G )( attribute )

returns a set of generators for the p-power-poly-pcp-groups G.

3.4-2 One
‣ One( G )( attribute )

returns the identity element of the p-power-poly-pcp-groups G.

3.4-3 IsConsistentPPPPcp
‣ IsConsistentPPPPcp( G )( operation )
‣ IsConsistentPPPPcp( ParPres )( operation )

checks if the underlying pp-presentation of the p-power-poly-pcp-groups G is consistent or if the pp-presentation ParPres is consistent.

3.4-4 GetPcGroupPPowerPoly
‣ GetPcGroupPPowerPoly( ParPres, n )( operation )
‣ GetPcGroupPPowerPoly( G, n )( operation )

takes the pp-presentation given by the record ParPres as in PPPPcpGroups (3.2-1) or the p-power-poly-pcp-groups G and takes n, a non-negative integer, as a value for the parameter to obtain a pc-presentation for the corresponding finite p-group.

3.4-5 GetPcpGroupPPowerPoly
‣ GetPcpGroupPPowerPoly( ParPres, n )( operation )
‣ GetPcpGroupPPowerPoly( G, n )( operation )

takes the pp-presentation given by the record ParPres as in PPPPcpGroups (3.2-1) or the p-power-poly-pcp-groups G and takes n, a non-negative integer, as the parameter to obtain a pcp-presentation for the corresponding finite p-group; for further information we refer to the polycyclic package.

3.4-6 GAPInputPPPPcpGroups
‣ GAPInputPPPPcpGroups( file, G )( operation )
‣ GAPInputPPPPcpGroups( file, ParPres )( operation )

prints the p-power-poly-pcp-groups G defined by ParPres in the file file as a record that could be used as input to PPPPcpGroups (3.2-1) to create p-power-poly-pcp-groups.

3.4-7 GAPInputPPPPcpGroupsAppend
‣ GAPInputPPPPcpGroupsAppend( file, G )( operation )
‣ GAPInputPPPPcpGroupsAppend( file, ParPres )( operation )

appends the pp-presentation of the p-power-poly-pcp-groups G defined by ParPres to the file file as a record that could be used as input to PPPPcpGroups (3.2-1) to create p-power-poly-pcp-groups.

3.4-8 LatexInputPPPPcpGroups
‣ LatexInputPPPPcpGroups( file, G )( operation )
‣ LatexInputPPPPcpGroups( file, ParPres )( operation )

prints the pp-presentation of G as given by ParPres in LaTeX code to the file file. Note that only non-trivial relations are printed.

3.4-9 LatexInputPPPPcpGroupsAppend
‣ LatexInputPPPPcpGroupsAppend( file, G )( operation )
‣ LatexInputPPPPcpGroupsAppend( file, ParPres )( operation )

appends the pp-presentation of G as given by ParPres in LaTeX code to the file file. Note that only non-trivial relations are appended.

3.4-10 LatexInputPPPPcpGroupsAllAppend
‣ LatexInputPPPPcpGroupsAllAppend( file, G )( operation )
‣ LatexInputPPPPcpGroupsAllAppend( file, ParPres )( operation )

appends the pp-presentation of G as given by ParPres in LaTeX code to the file file. Note that all relations are appended.

3.5 Info classes for the p-power-poly-pcp-groups

The following info classes are available:

3.5-1 InfoConsistencyPPPPcp
‣ InfoConsistencyPPPPcp( info class )

is an InfoClass with the following levels.

level 1

displays the first consistency relation that fails during the consistency check;

level 2

displays which families of consistency relations have been checked during a consistency check.

The default value is 1.

3.5-2 InfoCollectingPPPPcp
‣ InfoCollectingPPPPcp( info class )

is an InfoClass with the following levels.

level 1

displays some information during collecting;

The default value is 0.

3.6 Global variables for the p-power-poly-pcp-groups

The following global variables are available with default value:

3.6-1 COLLECT_PPOWERPOLY_PCP
‣ COLLECT_PPOWERPOLY_PCP( global variable )

is a global variable determining whether every p-power-poly-pcp-group element is collected when created; the default value is true.

 [Top of Book]  [Contents]   [Previous Chapter]   [Next Chapter] 
Goto Chapter: Top 1 2 3 4 5 Bib Ind

generated by GAPDoc2HTML