> < ^ Date: Mon, 03 Aug 1998 09:53:21 +0100 (BST)
> < ^ From: Alexander Hulpke <hulpke@math.colostate.edu >
< ^ Subject: Re: Conjugates of words in Free Groups

Dear Gap-Forum,

Forgive me if it transpires that this question has arisen from my
inexperience with Group Theory, rather than with GAP itself:

Let F be the free group of rank 4 freely generated
by a1,a2,a3,a4,

```Let w :=a1^2*a2^2*a3^2*a4^2.
```

How do I determine the cyclically reduced conjugates of w?

Th command `RelatorRepresentatives' takes a list of words in the free group
and returns a list of their cyclically reduced forms (in minimal
permutation). Conjugating these words in turn with their first letters will
create all permutations of this reduced form (which are the cyclically
reduced conjugates). This task is performed for example by the following GAP4
function:

CyclicallyReducedConjugates:=function(w)
local rep,result,i;
rep:=RelatorRepresentatives([w])[1]; # cyclically reduced relator in
# minimal permutation
result:=[rep];

# now create all cyclic permutations of rep:
for i in [1..Length(rep)-1] do
# (in GAP3 one would have to use `LengthWord' instead of `Length')

rep:=rep^Subword(rep,1,1); # conjugate with first letter

od;
return result;
end;

For example:

```gap> f:=FreeGroup("a1","a2","a3","a4");
<free group on the generators [ a1, a2, a3, a4 ]>
gap> w:=f.1^2*f.2^2*f.3^2*f.4^2;
a1^2*a2^2*a3^2*a4^2
gap> CyclicallyReducedConjugates(w);
[ a1^2*a2^2*a3^2*a4^2, a1*a2^2*a3^2*a4^2*a1, a2^2*a3^2*a4^2*a1^2,
a2*a3^2*a4^2*a1^2*a2, a3^2*a4^2*a1^2*a2^2, a3*a4^2*a1^2*a2^2*a3,
a4^2*a1^2*a2^2*a3^2, a4*a1^2*a2^2*a3^2*a4 ]
```

I hope this is of help,

Alexander Hulpke

> < [top]