Since certain group computations are possible or feasible
only for particular group representations,
it is often useful to transfer a group from one category to another.
The functions in this section take a group and return a group isomorphic to it
(or isomorphic to some related group) in another category.
pQuotient(F, p, c: parameters) : GrpFP, RngIntElt, RngIntElt -> GrpPC, Map
Given an fp-group F, a prime p and a positive integer c, construct a polycyclic presentation for the largest p-quotient G of F having lower exponent-p class at most min(c, 63). If c is given as 0, then the limit 63 is placed on the class. The function also returns the homomorphism from F to G.The parameters are:
Exponent: RngIntElt Default: 0If Exponent := m, enforce the exponent law, x^m = 1, on the group.
Metabelian: BoolElt Default: falseIf Metabelian := true, then a consistent pcp is constructed for the largest metabelian p-quotient of F having lower exponent-p class at most c.
Print: RngIntElt Default: 0This parameter controls the volume of printing. By default its value is that returned by GetVerbose("pQuotient"), which is 0 unless it has been changed through use of SetVerbose. The effect is the following:
Print := 0 : No output.
Print := 1 : Report order of p-quotient at each class.
Print := 2 : Report statistics and redundancy information about tails, consistency, collection of relations and exponent enforcement components of calculation.
Print := 3 : Report in detail on the construction of each class.
Note that the presentation displayed is a power-commutator presentation (since this is the version stored by the p-quotient).
Workspace: RngIntElt Default: 1000000The amount of space requested for the p-quotient computation.
Given a subgroup H of the group G, construct the permutation representation of G given by the action of G on the (right) coset space cos(G, H). The function returns:If G is a finitely presented group, then K may be returned undefined.
- The natural homomorphism f: G -> L;
- The induced permutation group L (the image of f);
- (if possible) The kernel K of the action (a subgroup of G).
The permutation representation is obtained by using the Todd-Coxeter procedure to construct the coset table for H in G. Note that G may be an infinite group: it is only necessary that the index of H in G be finite.
Given a subgroup H of the group G, construct the image of G given by its action on the (right) coset space of H in G, returning it as a permutation group. (This is also the second return value of CosetAction(G, H).)
Given a subgroup H of the group G, construct the kernel of G in its action on the (right) coset space of H in G. (This is also the third return value of CosetAction(G, H).) This function may fail if G is a finitely presented group; it is only available when the index of H in G is very small.
Given a (finite) soluble group G, in the category GrpPerm, GrpMat or GrpAb, construct a pc group S isomorphic to G. In addition to returning S, the function returns an isomorphism phi: G -> S.
StrongGenerators: BoolElt Default: false
Random: BoolElt Default: true
Max: RngIntElt Default: 100
Run: RngIntElt Default: 20
Given a group G, in the category GrpPerm, GrpMat or GrpPC, construct a finitely presented group F isomorphic to G, by presenting the group on its given generators. For groups in the category GrpPerm and GrpMat, the Todd-Coxeter Schreier algorithm is used to construct the presentation and a choice of a presentation on the given generators or on the strong generators is available. In addition to returning F, the function returns an isomorphism phi: F -> G, such that phi(F.i)=G.i for all i.If the parameter StrongGenerators is set to true (GrpPerm and GrpMat only, the presentation will be constructed on the strong generators of G instead of the given generators. If strong generators are not already known for G, they will be constructed; in this case, the other parameters are also meaningful. The parameter Random with its associated parameters Max and Run may be used to apply the Random Schreier algorithm to construct a probable BSGS before commencing the construction of the presentation.
> G<a, b> := Group< a, b | a^3, b^3, (b * a)^4,
> ((b^-1)^a * b^-1)^2 * b^a * b >;
> Order(G);
168
> H := sub< G | a^2 * b^2, (a * b)^2 >;
> Index(G, H);
7
> f, L := CosetAction(G, H);
> f;
Mapping from: GrpFP: G to GrpPerm: L
> L;
Permutation group L acting on a set of cardinality 7
(1, 2, 3)(4, 7, 5)
(1, 3, 4)(2, 5, 6)
> Order(L);
168
> M := SymplecticGroup(2, 4);
> #M;
60
> Ms := sub< M | M.1 * M.2 >;
> Index(M, Ms);
12
> PG := CosetImage(M, Ms);
> PG;
Permutation group PG acting on a set of cardinality 12
(1, 2, 4)(3, 5, 7)(6, 8, 10)(9, 11, 12)
(1, 3, 2)(4, 6, 8)(5, 7, 9)(10, 12, 11)
> #PG;
60
> G := PSU(3, 3);
> F<a, b>, phi := FPGroup(G);
> F;
Finitely presented group F on 2 generators
Relations
a^8 = Id(F)
b^8 = Id(F)
(b * a^-1 * b)^3 = Id(F)
b * a^-1 * b^-1 * a^-1 * b^-1 * a^-1 * b * a^-1 * b * a^-1 = Id(F)
b^-1 * a^-2 * b^-1 * a^-2 * b^-1 * a^-1 * b^-2 * a^-1 = Id(F)
> phi(a) eq G.1 and phi(b) eq G.2;
true