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#
Exponent : RngIntElt Default: 0 Metabelian: BoolElt Default: false Print : RngIntElt Default: 0 Workspace : RngIntElt Default: 5000000
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 categoryGrpPC. The function also returns the homomorphism from \(F\) to \(G\).The parameters are:
If
Exponent := m, enforce the exponent law, \(x^m = 1\), on the group.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\).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 ofSetVerbose. 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).
The amount of space requested for the \(p\)-quotient computation.
- CosetAction(G, H): Grp, Grp -> Hom(Grp), GrpPerm, Grp#
- RegularRepresentation(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 \rightarrow 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.
- MinimalDegreePermutationRepresentation(G: parameters): Grp -> Hom(Grp), GrpPerm#
Print : RngIntElt Default: 0 Accept : RngIntElt Default: 0 UseAutGrp: BoolElt Default: true
Given a finite group \(G\) in category
GrpPerm,GrpMat, orGrpPC, construct a faithful permutation representation \(\phi\) of \(G\) of smallest possible degree. The homomorphism \(\phi\) and its image \(P\) are returned.Warning: This function can take a very long time on difficult examples.
The parameters are:
This controls the level of diagnostic printing, the default being none.
If
Acceptis 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.When
UsAutGrpistrue, the function might compute the automorphism group of \(G\) to help reduce its search space.
- Example: Minimal Degree Permutation Representation (ex-4a0ec6)#
> 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
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 \(2^5 \cdot L_5(2)\) of \(L_5(2)\) by its natural module as a subgroup of \({\rm 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 = \langle x,y \mid x^2,y^3,(xy)^7,[x,y]^8\rangle\), which has order 10752, we could first use CosetAction to compute a permutation representation of degree \(1344\) on the cosets of the subgroup \(\langle [x,y] \rangle\), and then use the resulting image as input to MinimalDegreePermutationRepresentation to find the minimal degree representation, which is of degree 28.
- PermutationRepresentationQuotient(G, N : parameters): Grp, Grp -> Hom(Grp), GrpPerm#
Print : RngIntElt Default: 0 Accept: RngIntElt Default: 0 MaxDeg: RngIntElt Default: 10^7
Given a finite group \(G\) in category
GrpPerm,GrpMat, orGrpPCand a normal subgroup \(N\) of \(G\), construct a faithful permutation representation \(G/N\). This is returned as a permutation representation \(\phi\) of \(G\) with kernel \(N\), together with the image of \(\phi\). The representation will usually, but not always, be of smallest possible degree.Warning: This function can take a very long time on difficult examples.
The parameters are:
This controls the level of diagnostic printing, the default being none.
If
Acceptis set to an integer \(n > 0\), then the function will stop if it finds a faithful permutation representation of \(G/N\) of degree at most \(n\), and return that. Of course this means that the representation returned will typically not be of minimal degree.The process aborts if it discovers that the smallest degree faithful representation of \(G/N\) has degree more than
MaxDeg.
- GPCGroup(G): Grp -> GrpGPC, Hom(Grp)#
Given a soluble group \(G\), in the category
GrpPerm,GrpMat,GrpAborGrpPC, construct a polycyclic group \(P\) isomorphic to \(G\). Currently \(G\) must be finite, if it is in the categoryGrpMat. In addition to returning \(P\), the function returns an isomorphism \(\phi: G \rightarrow P\).
- PCGroup(G): Grp -> GrpPC, Hom(Grp)#
Given a finite soluble group \(G\), in the category
GrpPerm,GrpMat,GrpAborGrpGPC, 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 \(\phi: G \rightarrow 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,GrpGPCorGrpPC, construct a finitely presented group \(F\) isomorphic to \(G\), by presenting the group on its given generators. For groups in the categoryGrpPermandGrpMat, 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 \rightarrow G\), such that \(\phi(F.i)=G.i\) for all \(i\). If the parameterStrongGeneratorsis set totrue(GrpPermandGrpMatonly), 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 parameterRandomwith its associated parametersMaxandRunmay be used to apply the Random Schreier algorithm to construct a probable BSGS before commencing the construction of the presentation.
- Example: Coset Action (ex-faa68a)#
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 \rightarrow 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: CosetAction 2 (ex-4138bd)#
A permutation representation of \({\operatorname{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: FP Group (ex-35b71d)#
A finitely presented group isomorphic to \({\operatorname{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