A finitely presented group is a group generated by a set of abstract generators subject to a set of relations that these generators satisfy. Each group can be represented as finitely presented group.
A finitely presented group is constructed as follows. First create an appropriate free group (see FreeGroup). Then create the finitely presented group as a factor of this free group by the relators.
gap> F2 := FreeGroup( "a", "b" ); Group( a, b ) gap> A5 := F2 / [ F2.1^2, F2.2^3, (F2.1*F2.2)^5 ]; Group( a, b ) gap> Size( A5 ); 60 gap> a := A5.1;; b := A5.2;; gap> Index( A5, Subgroup( A5, [ a*b ] ) ); 12
Note that, even though the generators print with the names given to
FreeGroup, no variables of that name are defined. That means that the
generators must be entered as
Note that the generators of the free group are different from the generators of the finitely presented group (even though they print with the same name). That means that words in the generators of the free group are not elements of the finitely presented group.
Note that the relations are entered as relators, i.e., as words in the
generators of the free group. To enter an equation use the quotient
operator, i.e., for the relation a^b = ab you have to enter
You must not change the relators of a finitely presented group at all.
The elements of a finitely presented group are words. There is one
fundamental problem with this. Different words can correspond to the
same element in a finitely presented group. For example in the group
A5 defined above,
a^3 are actually the same element.
a is not equal to
a^3 (in the sense that
a = a^3 is
false). This leads to the following anomaly:
a^3 in A5 is
a^3 in Elements(A5) is
false. Some set and group
functions will not work correctly because of this problem. You should
Set Functions for Finitely Presented Groups and Group Functions for Finitely Presented Groups.
The first section in this chapter describes the function
creates a free group (see FreeGroup). The next sections describe which
set theoretic and group functions are implemented specially for finitely
Set Functions for Finitely Presented Groups and Group Functions for Finitely Presented Groups).
The next section describes the basic function
CosetTableFpGroup that is
used by most other functions for finitely presented groups (see
CosetTableFpGroup). The next section describes how you can compute a
permutation group that is a homomorphic image of a finitely presented
group (see OperationCosetsFpGroup). The final section describes the
function that finds all subgroups of a finitely presented group of small
index (see LowIndexSubgroupsFpGroup).