57.6 StandardPresentation

StandardPresentation( F, p, ... )
StandardPresentation( F, G, ... )

Let F be a finitely presented group. Then StandardPresentation returns the standard presentation for the desired p-quotient of F as an ag group.

Let H be the p-quotient whose standard presentation is computed. A generating set for a supplement to the inner automorphism group of H is also returned, stored as the component H.automorphisms. Each generator is described by its action on each of the generators of the standard presentation of H.

A finitely-presented group F must be supplied as input. Usually, the user will also supply a prime p and the program will compute the standard presentation for the desired p-quotient of F.

Alternatively, a user may supply an ag group G which is the class 1 p-quotient of F. If this is so, a list of automorphisms of G must be bound to the record component G.automorphisms such that G.automorphisms together with the inner automorphisms of G generate the automorphism group of G. The presentation for G can be constructed by an initial call to Pq (see Pq).

Of course, G need not be the class 1 p-quotient of F. However, G.automorphisms must contain a description of the automorphism group of G and this is most readily available when G is an elementary abelian group. Where the necessary information is available for a p-quotient of higher class, one can apply the standard presentation algorithm from that class onwards.

The following parameters or parameter pairs are supported.

"ClassBound", n:

The standard presentation is computed for the largest p-quotient of F having lower exponent-p class at most n.

"Exponent", n:

The p-quotient computed has exponent n. By default, no exponent law is enforced.

"Metabelian":

The p-quotient constructed is metabelian.

"AgAutomorphisms":

The automorphisms stored in G.automorphisms are a PAG generating sequence for the automorphism group of G supplied in reverse order.

"Verbose":

The runtime-information generated by the ANU pq is displayed. By default, pq works silently.

"OutputLevel", n:

The runtime-information generated by the ANU pq is displayed at output level n, which must be a integer from 0 to 3. This parameter implies "Verbose".

"SetupFile", name:

Do not run the ANU pq, just construct the input file and store it in the file name. In this case true is returned.

"TmpDir", dir:

StandardPresentation stores intermediate results in temporary files; the location of these files is determined by the value selected by TmpName. If your default temporary directory does not have enough free disk space, you can supply an alternative path dir. In this case StandardPresentation stores its intermediate results in a temporary subdirectory of dir. Alternatively, you can globally set the variable ANUPQtmpDir, for instance in your ".gaprc" file, to point to a suitable location.

Alternatively, you can pass StandardPresentation a record as a parameter, which contains as entries some (or all) of the above mentioned. Those parameters which do not occur in the record are set to their default values.

We illustrate the method with the following examples.

    gap> f2 := FreeGroup( "a", "b" );;
    gap> g := f2 / [f2.1^25, Comm(Comm(f2.2,f2.1), f2.1), f2.2^5];
    Group( a, b )
    gap> StandardPresentation( g, 5, "ClassBound", 10 );
    Group( G.1, G.2, G.3, G.4, G.5, G.6, G.7, G.8, G.9, G.10, G.11, G.12,
    G.13, G.14, G.15, G.16, G.17, G.18, G.19, G.20, G.21, G.22, G.23,
    G.24, G.25, G.26 )
    gap> f2 := FreeGroup( "a", "b" );;
    gap> g := f2 / [ f2.1^625,
    >  Comm(Comm(Comm(Comm(f2.2,f2.1),f2.1),f2.1),f2.1)/Comm(f2.2,f2.1)^5,
    >  Comm(Comm(f2.2,f2.1),f2.2), f2.2^625 ];;
    gap> StandardPresentation( g, 5, "ClassBound", 15, "Metabelian" );
    Group( G.1, G.2, G.3, G.4, G.5, G.6, G.7, G.8, G.9, G.10, G.11, G.12,
    G.13, G.14, G.15, G.16, G.17, G.18, G.19, G.20 )
    gap> f4 := FreeGroup( "a", "b", "c", "d" );;
    gap> g4 := f4 / [ f4.2^4, f4.2^2 / Comm(Comm (f4.2, f4.1), f4.1),
    >                f4.4^16, f4.1^16 / (f4.3 * f4.4),
    >                f4.2^8 / (f4.4 * f4.3^4) ];
    Group( a, b, c, d )
    gap> g := Pq( g4, "Prime", 2, "ClassBound", 1 );
    Group( G.1, G.2 )
    gap> g.automorphisms := [];;
    gap> GroupHomomorphismByImages(g,g,[g.1,g.2],[g.2,g.1*g.2]);;
    gap> Add( g.automorphisms, last );
    gap> GroupHomomorphismByImages(g,g,[g.1,g.2],[g.2,g.1]);;
    gap> Add( g.automorphisms, last );
    gap> StandardPresentation(g4,g,"ClassBound",14,"AgAutomorphisms");
    Group( G.1, G.2, G.3, G.4, G.5, G.6, G.7, G.8, G.9, G.10, G.11, G.12,
    G.13, G.14, G.15, G.16, G.17, G.18, G.19, G.20, G.21, G.22, G.23,
    G.24, G.25, G.26, G.27, G.28, G.29, G.30, G.31, G.32, G.33, G.34,
    G.35, G.36, G.37, G.38, G.39, G.40, G.41, G.42, G.43, G.44, G.45,
    G.46, G.47, G.48, G.49, G.50, G.51, G.52, G.53 ) 

This function requires the package "anupq" (see RequirePackage).

Previous Up Top Next
Index

GAP 3.4.4
April 1997