Let N be a normal subgroup of G such that G/N is polycyclic with pcgs (h1 N, ¼, hr N). Then we call the sequence of preimages (h1, ¼hr) a modulo pcgs of G/N. G is called the numerator of the modulo pcgs and N is the denominator of the modulo pcgs.
Modulo pcgs are often used to facilitate efficient computations with factor groups, since they allow computations with factor groups without formally defining the factor group at all.
All elementary operations of pcgs, see Sections Elementary Operations for a Pcgs and Elementary Operations for a Pcgs and an Element, apply to modulo pcgs as well. However, it is in general not possible to compute induced pcgs with respect to a modulo pcgs.
ModuloPcgs( G, N ) O
returns a modulo pcgs for the factor G /N which must be solvable, which N may be insolvable.
ModuloPcgs will return a pcgs for the factor, there is no guarantee that
it will be ``compatible'' with any other pcgs. If this is required, the
mod operator must be used on induced pcgs, see below.
IsModuloPcgs( obj ) C
The category of modulo pcgs. Note that each pcgs is a modulo pcgs for the trivial subgroup.
Additionally there are two more elementary operations for modulo pcgs.
NumeratorOfModuloPcgs( pcgs ) A
returns a generating set for the numerator of the modulo pcgs pcgs.
DenominatorOfModuloPcgs( pcgs ) A
returns a generating set for the denominator of the modulo pcgs pcgs.
gap> G := Group( (1,2,3,4,5),(1,2) ); Group([ (1,2,3,4,5), (1,2) ]) gap> P := ModuloPcgs(G, DerivedSubgroup(G) ); [ (4,5) ] gap> NumeratorOfModuloPcgs(P); [ (1,2,3,4,5), (1,2) ] gap> DenominatorOfModuloPcgs(P); [ (1,3,2), (2,4,3), (2,3)(4,5) ] gap> RelativeOrders(P); [ 2 ] gap> ExponentsOfPcElement( P, (1,2,3,4,5) ); [ 0 ] gap> ExponentsOfPcElement( P, (4,5) ); [ 1 ]
Modulo Pcgs can also be built from compatible induced pcgs. Let G be a group with pcgs P and let I be an induced pcgs of a normal subgroup N of G. (Respectively: P and I are both induced with respect to the same Pcgs.) Then we can compute a modulo pcgs of G mod N by
P mod I
Note that in this case we obtain the advantage that the
NumeratorOfModuloPcgs and the DenominatorOfModuloPcgs are
just P and I, respectively, and hence are unique.
The resulting modulo pcgs will consist of a subset of P and will be ``compatible'' with P (or its parent).
gap> G := Group((1,2,3,4));; gap> P := Pcgs(G); [ (1,2,3,4), (1,3)(2,4) ] gap> I := InducedPcgsByGenerators(P, [(1,3)(2,4)]); [ (1,3)(2,4) ] gap> M := P mod I; [ (1,2,3,4) ] gap> NumeratorOfModuloPcgs(M); [ (1,2,3,4), (1,3)(2,4) ] gap> DenominatorOfModuloPcgs(M); [ (1,3)(2,4) ]
CorrespondingGeneratorsByModuloPcgs( mpcgs, imgs ) O
let mpcgs be a modulo pcgs for a factor of a group G and let U be a subgroup of G generated by imgs such that U covers the factor for the modulo pcgs. Then this function computes elements in U corresponding to the generators of the modulo pcgs.
Note that the computation of induced generating sets is not possible for some modulo pcgs.
CanonicalPcgsByGeneratorsWithImages( pcgs, gens, imgs ) O
computes a canonical, pcgs-induced pcgs for the span of gens and simultaneously does the same transformations on imgs, preserving thus a correspondence between gens and imgs. This operation is used to represent homomorphisms from a pc group.
[Top] [Previous] [Up] [Next] [Index]
GAP 4 manual