1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
|
#Example: "PqPCover" . . . based on `PqPCover' manual example
#vars: F, a, b, procId1, procId2, procId3, procId4, G, R, H, rels;
#options:
F := FreeGroup("a", "b"); a := F.1; b := F.2;
#alt: do
#procId1 := PqStart( F );
#alt: sub <procId1> for <F>
PqPCover( F : Prime := 2, ClassBound := 3 );
## Now let's get a p-cover of a p-quotient of an fp group
G := F / [a^4, b^4];
#alt: do
#procId2 := PqStart( G );
#alt: sub <procId2> for <G>
PqPCover( G : Prime := 2, ClassBound := 3 );
## Now let's get a p-cover of a different p-quotient of the same group
#alt: sub <procId2> for <G>
PqPCover( G : Prime := 2, ClassBound := 3,
#alt: do
# RedoPcp,
Exponent := 4 );
## Now we'll get a p-cover of a p-quotient of another fp group
## which we will redo using the `Relators' option
R := [ a^25, Comm(Comm(b, a), a), b^5 ];
H := F / R;
#alt: do
#procId3 := PqStart( H );
#alt: sub <procId3> for <H>
PqPCover( H : Prime := 5, ClassBound := 5, Metabelian );
## Now we redo the previous example using the `Relators' option
F := FreeGroup("a", "b");
rels := [ "a^25", "[b, a, a]", "b^5" ];
#alt: do
#procId4 := PqStart( F );
#alt: sub <procId4> for <F>
PqPCover( F : Prime := 5, ClassBound := 5, Metabelian,
Relators := rels );
|