Conversion between Categories

This section describes category transfers from polycyclic groups to other Magma categories of groups. For category transfers to permutation groups (cf. Chapter PERMUTATION GROUPS) the functions CosetAction and CosetImage can be used. For category transfers to matrix groups (cf. Chapter MATRIX GROUPS OVER GENERAL RINGS) we refer to Section Representation Theory.

AbelianGroup(G) : GrpGPC -> GrpAb, Map
A GrpAb (cf. Chapter ABELIAN GROUPS) representation A of the abelian polycyclic group G and the isomorphism from G to A.
FPGroup(G) : GrpGPC -> GrpFP, Map
A GrpFP (cf. Chapter FINITELY PRESENTED GROUPS) representation F of G and the isomorphism from F to G. This category transfer is currently only possible provided that all exponents occurring in the presentation of G are small integers. This can be checked by means of the function PresentationIsSmall.
PCGroup(G) : GrpGPC -> GrpPC, Map
A GrpPC (cf. Chapter FINITE SOLUBLE GROUPS) representation F of the finite polycyclic group G and the isomorphism from G to F.

This category transfer is currently only possible provided that all exponents occurring in the presentation of G are small integers. This can be checked by means of the function PresentationIsSmall.

GPCGroup(G) : GrpPerm -> GrpGPC, Map
GPCGroup(G) : GrpMat -> GrpGPC, Map
GPCGroup(G) : GrpAb -> GrpGPC, Map
GPCGroup(G) : GrpPC -> GrpGPC, Map
A GrpGPC representation P of the solvable group G and the isomorphism from G to P. The group G can be of one of the following types: GrpPerm (cf. Chapter PERMUTATION GROUPS), GrpMat (cf. Chapter MATRIX GROUPS OVER GENERAL RINGS), GrpAb (cf. Chapter ABELIAN GROUPS), GrpPC (cf. Chapter FINITE SOLUBLE GROUPS). Currently G must be finite, if it is of type GrpMat.

Example GrpGPC_SubgroupsQuotientsTransfer (H79E6)

We define a finite, solvable matrix group and convert it to a (general) polycyclic group G.
> a := GL(2,3) ! [1,1,0,1];
> b := GL(2,3) ! [0,1,1,0];
> M := sub<Parent(a)|a,b>;
> IsSolvable(M);
true
> IsFinite(M);
true
> G, f := GPCGroup(M);
We now compute the direct product D of G and the infinite dihedral group H, define a subgroup S of D, its normal closure N and construct the quotient Q of D by N.
> H<u,v> := DihedralGroup(GrpGPC, 0);
> D, incl, proj := DirectProduct(G, H);
> S := sub<D | incl[1](f(a*b)), incl[2]((u,v)^2)>;
> N := ncl<D|S>;
> Q := D/N;
> Q;
GrpGPC : Q of order 2^3 on 2 PC-generators
PC-Relations:
    Q.1^2 = Id(Q),
    Q.2^4 = Id(Q),
    Q.2^Q.1 = Q.2^3
Since Q is finite, it can be transformed into a group of type GrpPC using the function PCGroup. This should (in non-trivial examples) be done, if further computations with it are intended.
> Q_ := PCGroup(Q);
> Q_;
GrpPC : Q_ of order 8 = 2^3
PC-Relations:
    Q_.2^2 = Q_.3,
    Q_.2^Q_.1 = Q_.2 * Q_.3
V2.28, 13 July 2023