# 25.1 More about Ag Groups

Let G be a finite polycyclic group with PAG system (g_1, ..., g_n) as described in Words in Finite Polycyclic Groups. Let U be a subgroup of G. A generating system (u_1, ..., u_r) of U is called the canonical generating system, CGS for short, of U with respect to (g_1, ..., g_n) if and only if

(i) & (u_1, ..., u_r) is a PAG system for U,
(ii) & delta( u_i ) > delta( u_j ) for i > j,
(iii) & lambda( u_i ) = 1 for i = 1, ..., r,
(iv) & nu_{delta(u_i)}(u_j) = 0 for i neq j.

If a generating system (u_1, ..., u_r) fulfills only conditions (i) and (ii) this system is called an induced generating system, IGS for short, of U. With respect to the PAG system of G a CGS but not an IGS of U is unique.

If a power-commutator or power-conjugate presentation of G is known, a finite polycyclic group with collector can be initialized in GAP using `AgGroupFpGroup` (see AgGroupFpGroup). `AgGroup` (see AgGroup) converts other types of finite solvable groups, for instance solvable permutation groups, into an ag group. The collector can be changed by `ChangeCollector` (see ChangeCollector). The elements of these group are called ag words.

A canonical generating system of a subgroup U of G is returned by `Cgs` (see Cgs) if a generating set of ag words for U is known. See Generating Systems of Ag Groups for details.

We call G a parent, that is a ag group with collector and U a subgroup, that is a group which is obtained as subgroup of a parent group. An ag group is either a parent group with PAG system or a subgroup of such a parent group.

Although parent groups need only an AG system, only `AgGroupFpGroup` (see AgGroupFpGroup) and `RefinedAgSeries` (see RefinedAgSeries) work correctly with a parent group represented by an AG system which is not a PAG system, because subgroups are identified by canonical generating systems with respect to the PAG system of the parent group. Inconsistent power-conjugate or power-commutator presentations are not allowed (see IsConsistent). Some functions support factor group arguments. See Factor Groups of Ag Groups and FactorArg for details.

Our standard example in the following sections is the symmetric group of degree 4, defined by the following sequence of GAP statements. You should enter them before running any example. For details on `AbstractGenerators` see AbstractGenerator.

```    gap> a  := AbstractGenerator( "a" );;  # (1,2)
gap> b  := AbstractGenerator( "b" );;  # (1,2,3)
gap> c  := AbstractGenerator( "c" );;  # (1,3)(2,4)
gap> d  := AbstractGenerator( "d" );;  # (1,2)(3,4)
gap> s4 := AgGroupFpGroup( rec(
>        generators := [ a, b, c, d ],
>        relators   := [ a^2, b^3, c^2, d^2, Comm( b, a ) / b,
>                        Comm( c, a ) / d, Comm( d, a ),
>                        Comm( c, b ) / ( c*d ), Comm( d, b ) / c,
>                        Comm( d, c ) ] ) );;
gap> s4.name := "s4";;
gap> a := s4.generators[1];; b := s4.generators[2];;
gap> c := s4.generators[3];; d := s4.generators[4];; ```

GAP 3.4.4
April 1997