[Next][Prev] [Right] [Left] [Up] [Index] [Root]

Transfer Functions Between Group Categories

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 a group F in category GrpFP, a prime p and a positive integer c, construct the largest p-quotient G of F having lower exponent-p class at most c (or 127, if c is given as 0) as group in the category GrpPC. The function also returns the homomorphism from F to G.

The parameters are:

     Exponent: RngIntElt                 Default: 0

If Exponent := m, enforce the exponent law, xm = 1, on the group.

     Metabelian: BoolElt                 Default: false

If 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: 0

This 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: 5000000

The amount of space requested for the p-quotient computation.

CosetAction(G, H) : Grp, Grp -> Hom(Grp), GrpPerm, Grp
Given a subgroup H of the group G, construct the permutation representation of G given by the action of G on the set of (right) cosets of H in G. The function returns:
(a)
The natural homomorphism f: G -> L;
(b)
The induced permutation group L (the image of f);
(c)
(if possible) The kernel K of the action (a subgroup of G).

If G is a finitely presented group, then K may be returned undefined.

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.

CosetImage(G, H) : Grp, Grp -> GrpPerm
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).)
CosetKernel(G, H) : Grp, Grp -> Grp
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.
GPCGroup(G) : Grp -> GrpGPC, Hom(Grp)
Given a soluble group G, in the category GrpPerm, GrpMat, GrpAb or GrpPC, construct a polycyclic group P isomorphic to G. Currently G must be finite, if it is in the category GrpMat. In addition to returning P, the function returns an isomorphism φ: G -> P.
PCGroup(G) : Grp -> GrpPC, Hom(Grp)
Given a finite soluble group G, in the category GrpPerm, GrpMat, GrpAb or GrpGPC, construct a group S given by a power-conjugate presentation, which is isomorphic to G. In addition to returning S, the function returns an isomorphism φ: G -> S.
FPGroup(G: parameters) : GrpPerm :-> GrpFP, Hom(Grp)
    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, GrpGPC 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 φ: F -> G, such that φ(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.


Example Grp_CosetAction (H57E10)

We construct a finitely presented group G and a subgroup H, then find the permutation representation of G given by its action on the cosets of H. Since the induced permutation group L has the same order as G, the representation is faithful, and the homomorphism f: G -> L is an isomorphism.

> 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

Example Grp_CosetAction-2 (H57E11)

A permutation representation of Sp(2, 4).

> 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

Example Grp_FPGroup (H57E12)

A finitely presented group isomorphic to PSU(3, 3):

> 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

 [Next][Prev] [Right] [Left] [Up] [Index] [Root]

Version: V2.19 of Wed Apr 24 15:09:57 EST 2013