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.
The function works quickly on almost all of the groups in the small groups library of groups of order less than 2000, but it can be slow on a few such examples, particularly large p-groups. These might be suitable candidates for effective use of the Accept parameter.
It generally performs well with groups of type GrpMat, provided that a reasonably small degree faithful permutation representation exists. For example, for the group SpinPlus(8,3), it finds the optimal representation of degree 4320 reasonably quickly (about 20 seconds), whereas for SpinMinus(8,3), it takes longer (about 180 seconds) to find the representation of degree 183680 and prove that it has minimal degree.
As another example, with input the representation of the non-split extension 25 .L5(2) of L5(2) by its natural module as a subgroup of (GL)(69, 2) (from the ATLAS database in Magma ), the minimal degree function takes about 10 seconds to find the optimal faithful permutation representation of degree 3968, which is less than the degree of the permutation representations in the ATLAS database.
The new function cannot be used directly on finite groups of type GrpFP, but the user can try using coset enumeration with CosetAction or CosetImage to find an isomorphic group of type GrpPerm, and then use \ MinimalDegreePermutationRepresentation on that. For example, with the group G = < x, y | x2, y3, (xy)7, [x, y]8 >, which has order 10752, we could first use CosetAction to compute a permutation representation of degree 1344 on the cosets of the subgroup < [x, y] >, and then use the resulting image as input to MinimalDegreePermutationRepresentation to find the minimal degree representation, which is of degree 28.
Given a group F in category FINITELY PRESENTED GROUPS, 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: 0If Exponent := m, enforce the exponent law, xm = 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: 5000000The 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 set of (right) cosets of H in G. The function returns:If G is a finitely presented group, then K may be returned undefined.
- (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).
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 group G in category GrpPerm, GrpMat, or GrpPC, construct a faithful permutation representation φ of G of smallest possible degree. The homomorphism φ and its image P are returned.Warning: This function can take a very long time on difficult examples.
The parameters are:
Print: RngIntElt Default: 0This controls the level of diagnostic printing, the default being none.Accept: RngIntElt Default: 0If Accept is set to an integer n > 0, then the function will stop if it finds a faithful permutation representation of degree at most n, and return that. Of course this means that the representation returned is not guaranteed to have minimal degree.UseAutGrp: BoolElt Default: trueWhen UsAutGrp is true, the function might compute the automorphism group of G to help reduce its search space.
> G := OmegaPlus(8,3); > phi, P := MinimalDegreePermutationRepresentation(G); > P; Permutation group P acting on a set of cardinality 2160 Order = 2^13 * 3^12 * 5^2 * 7 * 13
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.
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.
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.
> 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