For an ag group G there exists three different types of generating
systems. The generating system in G.generators is a list of ag words
generating the group G with the only condition that none of the ag
words is the identity of G. If an induced generating system for G is
known it is bound to G.igs, while an canonical generating system is
bound to G.cgs. But as every canonical generating system is also an
induced one, G.cgs and G.igs may contain the same system.
The functions Cgs, Igs, Normalize, Normalized and IsNormalized
change or manipulate these systems. The following overview shows when to
use this functions. For details see Cgs, Igs, Normalize,
Normalized and IsNormalized.
Igs returns an induced generating system for G. If neither G.igs
nor G.cgs are present, it uses MergedIgs (see MergedIgs) in order
to construct an induced generating system from G.generators. In that
case the induced generating system is bound to G.igs. If G.cgs
but not G.igs is present, this is returned, as every canonical
generating system is also an induced one. If G.igs is present this
is returned.
Cgs returns a canonical generating system for G. If neither
G.igs nor G.cgs are present, it uses MergedCgs (see
MergedCgs) in order to construct a canonical generating system from
G.generators. In that case the canonical generating system is bound
to G.cgs. If G.igs but not G.cgs is present, this is
normalized and bound to G.cgs, but G.igs is left unchanged. If
G.cgs is present this is returned.
Normalize computes a canonical generating system, binds it to G.cgs
and unbinds an induced generating bound to G.igs. Normalized
normalizes a copy without changing the original ag group. This function
should be preferred.
IsNormalized checks if an induced generating system is a canonical one
and, if being canonical, binds it to G.cgs and unbinds G.igs. If
G.igs is unbound IsNormalized computes a canonical generating
system, binds it to G.cgs and returns true.
Most functions need an induced or canonical generating system, all function descriptions state clearly what is used, if this is relevant, see Exponents for example.
GAP 3.4.4