PQuotient( G, p, cl )
PrimeQuotient( G, p, cl )
PQuotient computes quotients of prime power order of finitely presented
groups. G must be a group given by generators and relations.
PQuotient expects G to be a record with the record fields
generators and relators. The record field generators must be a list
of abstract generators created by the function AbstractGenerator (see
AbstractGenerator). The record field relators must be a list of
words in the generators which are the relators of the group. p must be
a prime. cl has to be an integer, which specifies that the quotient of
prime power order computed by PQuotient is the largest p-quotient of
G of class at most cl. PQuotient returns a record Q, the PQp
record, which has, among others, the following record fields describing
the p-quotient Q.
generators:
pcp :
dimensions:dimensions[i] is the dimension of the i-th
factor in the lower exponent-p central series calculated by the
p-quotient algorithm.
prime:
definedby:[ j, i ]:generators.i:generators.-i:
epimorphism:i if it is the i-th element of
generators of Q or an abstract word w if it is the abstract
word w in the generators of Q.
An example of the computation of the largest quotient of class 4 of the group given by the finite presentation { x,y mid x^{25}/(xcdot y)^5, [x,y]^5, (x^y)^{25} } .
# Define the group
gap> x := AbstractGenerator("x");;
gap> y := AbstractGenerator("y");;
gap> G := rec( generators := [x,y],
> relators := [ x^25/(x*y)^5, Comm(x,y)^5, (x^y)^25] );
rec(
generators := [ x, y ],
relators :=
[ x^25*y^-1*x^-1*y^-1*x^-1*y^-1*x^-1*y^-1*x^-1*y^-1*x^-1,
x^-1*y^-1*x*y*x^-1*y^-1*x*y*x^-1*y^-1*x*y*x^-1*y^-1*x*y*x^-1*y^-\
1*x*y, y^-1*x^25*y ] )
# Call pQuotient
gap> P := PQuotient( G, 5, 4 );
#I PQuotient: class 1 : 2
#I PQuotient: Runtime : 0
#I PQuotient: class 2 : 2
#I PQuotient: Runtime : 27
#I PQuotient: class 3 : 2
#I PQuotient: Runtime : 1437
#I PQuotient: class 4 : 3
#I PQuotient: Runtime : 1515
PQp( rec(
generators := [ g1, g2, a3, a4, a6, a7, a11, a12, a14 ],
definedby := [ -1, -2, [ 2, 1 ], 1, [ 3, 1 ], [ 3, 2 ],
[ 5, 1 ], [ 5, 2 ], [ 6, 2 ] ],
prime := 5,
dimensions := [ 2, 2, 2, 3 ],
epimorphism := [ 1, 2 ],
powerRelators := [ g1^5/(a4), g2^5/(a4^4), a3^5, a4^5, a6^5, a7^
5, a11^5, a12^5, a14^5 ],
commutatorRelators := [ Comm(g2,g1)/(a3), Comm(a3,g1)/(a6), Comm(a3\
,g2)/(a7), Comm(a6,g1)/(a11), Comm(a6,g2)/(a12), Comm(a7,g1)/(a12), Co\
mm(a7,g2)/(a14) ],
definingCommutators := [ [ 2, 1 ], [ 3, 1 ], [ 3, 2 ], [ 5, 1 ],
[ 5, 2 ], [ 6, 1 ], [ 6, 2 ] ] ) )
The p-quotient algorithm returns a PQp record for the exponent-5 class
4 quotient. Note that instead of printing the PQp record P an
equivalent representation is printed which can be read in to GAP. See
PQp for details.
The quotient defined by P has nine generators,
g1, g2, a3, a4, a6, a7,a11, a12, a14,
stored in the list P.generators. From powerRelators we can read off
that g1^5 =: a4 and g2^5 = a4^4 and all other generators have trivial
5-th powers. From the list commutatorRelators we can read off the
non-trivial commutator relations
Comm(g2,g1) =: a3, Comm(a3,g1) =: a6, Comm(a3,g2) =: a7,
Comm(a6,g1) =: a11,Comm(a6,g2) =: a12, Comm(a7,g1) = a12
and Comm(a7,g2) =: a14. In this list =: denotes that the generator
on the right hand side is defined as the left hand side. This
information is given by the list definedby. The list dimensions
shows that P is a class-4 quotient of order 5^2cdot 5^2cdot
5^2cdot 5^3 = 5^9. The epimorphism of G onto the quotient P is
given by the map x mapsto g1 and y mapsto g2.
GAP 3.4.4