Words in abstract generators are a type of group elements in GAP. In the following we will abbreviate their full name to abstract words
A word is just a sequence of letters, where each letter is an abstract
generator or its inverse. Words are multiplied by concatenating them and
removing adjacent pairs of a generator and its inverse. Abstract
generators are created by the function AbstractGenerator
(see
AbstractGenerator).
Note that words do not belong to a certain group. Any two words can be
multiplied. In effect we compute with words in a free group of
potentially infinite rank (potentially infinite because we can always
create new abstract generators with AbstractGenerator
).
Words are entered as expressions in abstract generators and are displayed
as product of abstract generators (and powers thereof). The trivial word
can be entered and is displayed as IdWord
.
gap> a := AbstractGenerator( "a" ); a gap> b := AbstractGenerator( "b" ); b gap> w := (a^2*b)^5*b^-1; a^2*b*a^2*b*a^2*b*a^2*b*a^2 gap> a^0; IdWord
The first sections in this chapter describe the functions that create abstract generators (see AbstractGenerator and AbstractGenerators). Comparisons of Words and Operations for Words). The next section describes the function that tests whether an object is a word (see IsWord). The next sections describe the functions that compute the number of letters of a word (see LengthWord and ExponentSumWord). The next sections describe the functions that extract or find a subword (see Subword and PositionWord). The final sections describe the functions that modify words (see SubstitutedWord, EliminatedWord, and MappedWord).
Note that words in abstract generators are different from words in finite polycyclic groups (see Words in Finite Polycyclic Groups).
GAP 3.4.4