This chapter describes methods available from the FGA package.
In the following, let f be a free group created by FreeGroup(
n)
,
and let u, u1 and u2 be finitely generated subgroups of f
created by Group
or Subgroup
, or computed from some other subgroup
of f. Let elm be an element of f.
For example:
gap> f := FreeGroup( 2 ); <free group on the generators [ f1, f2 ]> gap> u := Group( f.1^2, f.2^2, f.1*f.2 ); Group([ f1^2, f2^2 ]) gap> u1 := Subgroup( u, [f.1^2, f.1^4*f.2^6] ); Group([ f1^2, f1^4*f2^6 ]) gap> elm := f.1; f1 gap> u2 := Normalizer( u, elm ); Group([ f1^2 ])
These new operations are available for finitely generated subgroups of free groups:
FreeGeneratorsOfGroup(
u ) A
returns a list of free generators of the finitely generated free group u.
The elements in this list will form an N-reduced set. In addition to being a free (and thus minimal) generating set for u, this means that whenever v1, v2 and v3 are elements or inverses of elements of this list, then
hold, where |.| denotes the word length.
RankOfFreeGroup(
u ) A
Rank(
u ) O
returns the rank of the finitely generated free group u.
This section list operations that are already known to GAP. FGA installs new methods for them so that they can also be used with free groups.
Normalizer(
u1,
u2 ) O
Normalizer(
u,
elm ) O
The first variant returns the normalizer of the finitely generated subgroup u2 in u1.
The second variant returns the normalizer of langleelm rangle in the finitely generated subgroup u (see Normalizer in the Reference Manual).
RepresentativeAction(
u,
d,
e ) O
IsConjugate(
u,
d,
e ) O
RepresentativeAction
returns an element r inu ,
where u is a finitely generated subgroup of a free group, such
that dr=e, or fail, if no such r exists. d and e may
be elements or subgroups of u.
IsConjugate
returns a boolean indicating whether such an element r
exists.
Centralizer(
u,
u2 ) O
Centralizer(
u,
elm ) O
returns the centralizer of u2 or elm in the finitely generated subgroup u of a free group.
Index(
u1,
u2 ) O
IndexNC(
u1,
u2 ) O
return the index of u2 in u1, where u1 and u2 are finitely generated subgroups of a free group. The first variant returns fail if u2 is not a subgroup of u1, the second may return anything in this case.
The FGA package knows how to compute automorphism groups of free groups. This sections repeats the GAP standard methods to obtain them.
AutomorphismGroup(
u ) A
returns the automorphism group of the finitely generated subgroup u of a free group.
Only a few methods will work with this group. But there is way to obtain an isomorphic finitely presented group:
IsomorphismFpGroup(
group ) A
returns an isomorphism of group to a finitely presented group.
For automorphism groups of free groups, the FGA package implements
the presentation of Neumann33.
That finitely presented group itself can then be obtained with the
command Range
.
Here is an example:
gap> f := FreeGroup( 2 ); <free group on the generators [ f1, f2 ]> gap> a := AutomorphismGroup( f ); <group of size infinity with 3 generators> gap> iso := IsomorphismFpGroup( a ); [ [ f1, f2 ] -> [ f1^-1, f2 ], [ f1, f2 ] -> [ f2, f1 ], [ f1, f2 ] -> [ f1*f2, f2 ] ] -> [ O, P, U ] gap> Range( iso ); <fp group on the generators [ O, P, U ]>
[Up] [Previous] [Next] [Index]
FGA manual