
 
@@Freely reduce a word

\ni The freely reduced form of a word is simply the word with all
occurrences of a generator followed by its inverse, or the inverse 
of a generator followed by the generator itself, deleted.

@@Compute the inverse of a word

\ni Here the inverse of a word is simply the reduced form of its formal 
inverse, i.e., the reduced form of the product of the inverses 
of the generators appearing in the word, in the reverse order.

@@Compute the product of two words

\ni The product of two words here is taken to be the result of
concatenating the two words and then reducing the resultant word.

@@Find the i-th initial segment of a word

\ni The i-th initial segment of a word is the word consisting of the first
i letters of the reduced form of the given word.

@@Find the i-th terminal segment of a word

\ni The i-th terminal segment of a word is the word consisting of the last
i letters of the reduced form of the given word.

@@Find the n-th element of the given free group

\ni Elements of a free group are enumerated according to the "deglex"
order, i.e., longer elements have bigger numbers, and the generator
x_1 has a smaller number than any other generator. Finally, x_1^-1
follows x_1, but preceeds x_2.
 For example, in the group F_2 = <x,y>, the element xy has number 
6. 

@@The word problem

\ni A word reperesents the identity if and only if its reduced form is
the empty word.

@@Equality of two words 

\ni Two words represent equal elements if and only if their reduced forms
coincide.

@@The conjugacy problem 

\ni Two words are conjugate in a free group if and only if a cyclic permutation 
of the cyclically reduced form of one of them coincides with the cyclically
reduced form of the other.

@@The  power problem

\ni A word w represents an element which is a proper power if and only if
its reduced form is the empty word or if its cyclically reduced form is
identically equal to a product of the form u u ... , where u is a cyclically
reduced word of length at least 1. We therefore move left to right along 
the word w looking for a subword of the form uu, first for u of length 1,
then, if necessary, of length 2 etc. If a subword uu is found, we check 
if there is a subword uuu, etc, until the whole w is exhausted. 

@@The maximal root of an element 

\ni The problem is: given an element g of a free group, find 
another element u such that u^k = g, with maximal possible k, k an integer. 
 For a solution, see @Power problem@General_free_groups::Power problem@).

@@Element in the commutator subgroup? 

\ni A word represents an element in the commutator subgroup if and only if
the sum of the exponents on each free generator appearing in the word is zero.


@@Is an element a commutator?

\ni An element in a free group, represented by a reduced word in the given
generators, is a commutator, i.e.,  can be expressed in the form
u^-1 v^-1 u v, if and only if it can be expressed in the form
x y z x^-1 y^-1 z^-1,where x, y and z are reduced words and the word 
x y z x^-1 y^-1 z^-1 is reduced as written. This characterisation of 
commutators in a free group was obtained by M. Wicks. We therefore check 
if a given reduced word has even length; if it does, we see if we can 
split each half into 3 subwords to have a pattern x y z x^-1 y^-1 z^-1.


@@Rewrite an element as a product of commutators  

\ni First we check if a given element u is in the commutator subgroup - 
see @Does a word represent an element in the commutator subgroup?@General_free_groups::
Does a word represent an element in the commutator subgroup?@. If it is, we use an
obvious collecting process based on the equality   a b = b a [a,b]  to write u
as a product of commutators. 

@@Rewrite an element as a product of squares 

\ni First we check if a given element u is in the subgroup F^2. If it is, 
i.e., if the sum of the exponents on each free generator appearing in u 
is even, then we collect powers of generators together, based on the equality   
a b = b a [a,b]. Now u is in the form u=x_1^k1 ... x_n^kn w,  where all 
integers ki are even, and w is a product of commutators. Then w can be written
as a product of squares based on the equality [a,b] = a^-1 b^-1 a b = 
a a^-2 b^-2 (b a)^2 a^-1 = a^-2 (a b^-1 a^-1)^2 (a b)^2. 


@@Enumeration of  basic commutators

\ni  P. Hall has defined
a sequence of commutators, called a basic sequence. This sequence depends,
to a certain extent, on the ordering of the generators of a free group. 
The basic commutators of weight n freely generate the n-th term of the lower 
central series modulo the next term of the lower central central series 
of the free group involved. 

@@Computing a Nielsen basis

\ni Given a finite set of words in a free group, there are two methods
for finding a free set of generators for the subgroup H generated by
the given words that have been implemented in Magnus. The first method
is to construct a finite graph whose edges are labelled by the
generators and inverses of the generators of the ambient free
group. The edges not in a maximal tree in this graph give rise to
a Nielsen reduced set of generators of H, now termed a Nielsen set of 
generators. The graph itself can be considered 
as the state graph of a finite state automaton. The words accepted by
this automaton are precisely those reduced words that are 
elements of H. This method therefore also provides a solution to 
the generalized word problem for H (to decide whether
or not an arbitrary word represents an element of H.)

\ni The other method for computing a free set of generators for H goes
back to Nielsen and simply involves certain basic operations on the
given set of words generating H, leading to a simpler set which enjoys
some very special properties and which is a free set of generators of
H. This set has some extra features which allows one to decide again
whether or not an arbitrary word represents an element of H. See the
book [W. Magnus, A. Karrass,  and D. Solitar,  Combinatorial 
Group Theory,   Wiley, New York, 1966] for details. 

@@Subgroup membership problem 

\ni  Given an element g and a subgroup H (given by finitely many 
generators) of a free group, we want to find out whether or not g 
belongs to H. 
 To solve this problem, we first construct a Nielsen basis for H
(see @Computing a Nielsen basis@General_free_groups::Computing a Nielsen basis@). 
Then we check if g has a subword equal to some initial or 
terminal segment u of an element h of this Nielsen basis, 
such that the length of u is more than half the length of h. 
If we find a subword like that, we replace it by the segment that 
completes u to h. 
 We continue this process until it terminates (obviously, in a 
finite number of steps). It terminates at the trivial word if and 
only if  g belongs to H.

@@Power of an element in a subgroup?

\ni Given an element g and a subgroup H (given by finitely many 
generators) of a free group, we want to find out whether or not 
some non-zero power of g belongs to H. 
  To solve this problem, we first construct a Nielsen basis for H
(see @Computing a Nielsen basis@General_free_groups::Computing a Nielsen basis@). 
Then we reduce g with respect to this basis, as described in 
@Subgroup membership problem@General_free_groups::Subgroup membership problem@.
If the reduced g, call it g1, is the empty word, then g
itself belongs to H.  If not, then consider g1^2 and reduce it with respect 
to the Nielsen basis of H.  If the length of the reduced g1, call it g2, is 
greater than that of g, then no power of g belongs to H. 
 If the length of g2 is smaller than that of g, then we consider g1^2 and 
repeat the process until we either get a word (reduced with respect 
to the Nielsen basis of H) whose length is greater than that of g,  
or we get a word which is equal to one of the previously obtained 
words. In the former case, no power of g belongs to H, whereas 
in the latter case, some power of g does.  To find then the minimum 
power of g that belongs to H, is easy based on a solution of the 
subgroup membership problem - see  
@Subgroup membership problem@General_free_groups::Subgroup membership problem@.


@@Conjugate of an element in a subgroup?

\ni Given an element g and a subgroup H (given by finitely many 
generators) of a free group, we want to find out whether or not 
some conjugate of g belongs to H. 
  To solve this problem, we first compute a Nielsen basis for H, 
After that, we have to consider (finitely many) conjugates u g' u^-1 of g' such 
that u g' u^-1 is reducible with respect to the Nielsen basis of H. 
(That means, a subword of g of length 
at least half the length of g, equals some element of the Nielsen basis).
We check if some of those conjugates belongs to H - see 
 @Subgroup membership problem@General_free_groups::Subgroup membership problem@.
  If none of those conjugates belongs to H, then no conjugate of g does.


@@Subgroup containment problem

\ni The procedure is to check whether each of the generators of the first
subgroup is contained in the second subgroup 
(see @Subgroup membership problem@General_free_groups::
Subgroup membership problem@).

@@Subgroup equality problem

\ni Here it suffices to check whether each of the given subgroups is
contained in the other 
(see @Subgroup containment problem@General_free_groups::
Subgroup containment problem@).

@@Subgroup conjugacy problem

\ni  Given two subgroups, H and R, of a free group F, we want to find out 
whether or not they are conjugate by an element of F. (We assume 
that both subgroups are given by their finite generating systems). 
 To solve this problem, we first construct a Nielsen basis B for 
one of the subgroups, say, for H. 
(See @Computing a Nielsen basis@General_free_groups::
Computing a Nielsen basis@). Then we make up generating systems for several 
conjugates of  H by conjugating every element of B by an element g 
of F, so that the minimum length of elements in the basis B^g of H^g 
is no bigger than the minimum length of elements in the given 
generating system of R. 
  Note that every B^g is a Nielsen basis of H^g. This allows us to 
bound the length of g - see above. 
   At this point there are finitely many subgroups H^g, and  we check if 
one of them equals R (see @Subgroup equality problem@General_free_groups::
Subgroup equality problem@).


@@Compute a virtual free complement of a subgroup

\ni Given a finitely generated subgroup of a free group, there is a subgroup of
finite index in the ambient free group such that the given subgroup is a free
factor in this subgroup of finite index. The existence of such a subgroup of
finite index was established by Marshall Hall.

@@Index of a subgroup

\ni In order to compute the index of a subgroup in the given free group, 
we find a virtual free complement of finite index (see @Compute a virtual free 
complement of a subgroup@General_free_groups::Compute a virtual free 
complement of a subgroup@). If the virtual free 
complement is different from the given subgroup, then the subgroup is of 
infinite index; otherwise it is of finite index. In the latter case, the 
index can be computed by the Schreier formula. 

@@Are given elements generators?

\ni  Given n elements of a free group F_n = <x_1,...,x_n>, we want 
to find out whether or not they generate F_n. 
  To solve this problem, we Nielsen reduce the given set of 
elements (see @Computing a Nielsen basis@General_free_groups::
Computing a Nielsen basis@). 
 The reduced set B generates F_n if and only if it has n elements 
and every element of B is of the form x_i or x_i^-1  for some i. 

@@Extension to a basis

\ni  Given m elements of a free group F_n = <x_1,...,x_n>, m < n, we want 
to find out whether or not they can be completed to a basis of F_n. 
   To solve this problem, we use the following fact: if m elements of
length no more than N can be completed to a basis, then they can be 
completed to a basis by elements whose length is no bigger than N.
Now we just have to exhaust finitely many possibilities. 

@@The automorphic conjugacy problem 

\ni The problem is whether or not a given element of a free group 
of finite rank is an automorphic image of another given element.
 We use Whitehead's algorithm to solve this problem - see 
the book  [R.Lyndon, P.Schupp,  Combinatorial  Group  Theory,
Series  of  Modern  Studies in Math.  89. Springer-Verlag,
1977] for details. 


@@Is an element part of a basis?

\ni An element is  part of a free basis if and only if it can 
be taken to x_1 (one of the free generators) by an automorphism 
of the free group. See @The automorphic conjugacy problem@General_free_groups::
The automorphic conjugacy problem@. 


@@Nielsen transformations of sets into bases

\ni The method introduced by  Nielsen allows one to transform a finite 
set of elements in a free group to a second set which freely generates the
subgroup generated by the initial set. This free set of generators enjoys
a number of useful properties, making it particularly useful in algorithmically
solving a number of problems about subgroups of free groups (see 
@Computing a Nielsen basis@General_free_groups::Computing a Nielsen basis@).

@@Schreier representative of an element

\ni If H is a finitely generated subgroup of a finitely generated free group,
then one can find a set of representatives of the cosets of H in the ambient
free group such that every initial segment of a representative is again a
representative. Such a set of representatives is called a Schreier system of
representatives and the representative of an element, a Schreier representative.
  The procedure involved is such that given any element of
the free group it is possible to compute its Schreier representative.

@@Is a subgroup normal?

\ni A finitely generated normal subgroup of a free group is either trivial or 
of finite index. Irrespective of this remark, in order to check whether such
a finitely generated subgroup is normal, we simply check whether all of the
conjugates of the generators of the subgroup by all of the generators of the
ambient free group and their inverse, are contained in the subgroup
(see @Does a word represent an element in a given group?@General_free_groups::
Does a word represent an element in a given subgroup?@

@@Is a subgroup malnormal?

\ni Given a Nielsen basis for a finitely generated subgroup H of a free group, 
it is possible to decide whether or not H is malnormal, i.e.,
whether every conjugate x^-1 a x of a non-trivial element a in H 
lies outside the subgroup for every choice of the element x  outside H. 
See a recent paper by Baumslag, Myasnikov and Remeslennikov 
[Malnormality is decidable in free groups, IJAC 9 (1999)] for details. 

@@Compute the normalizer of a subgroup

\ni The normalizer of a finitely generated subgroup of a free group is
finitely generated. It can be determined by finding a Nielsen basis for the
given subgroup and then noting that the elements which can conjugate this
basis back into elements of the subgroup are so restricted that it is
possible to find finitely many elements that generate the normalizer.
(see @Computing a Nielsen basis@General_free_groups::Computing a Nielsen basis@).

@@Join of two subgroups

\ni We find a Nielsen basis for the subgroup generated by the union of the
given sets of generators of the two subgroups involved.
(see @Computing a Nielsen basis@General_free_groups::Computing a Nielsen basis@).
 Alternatively, we compute the finite state automata which describe the two
subgroups and construct a finite state automaton whose language is the
join of the two subgroups.

@@Intersection oF two subgroups

\ni We compute the automata that describe the given subgroups and then
form the automaton that defines the intersection of these two subgroups.


@@Is a subgroup a free factor?

\ni Given m elements of a free group F_n, we want to find out whether or 
not the subgroup H they generate is a free factor of F_n. 
  To solve this problem, we first construct a Nielsen basis B for 
H (see @Computing a Nielsen basis@General_free_groups::Computing a Nielsen basis@).
 Now H is a free factor of F_n if and only if B can be completed to a basis of F_n.  See 
@Extension to a basis@General_free_groups::Extension to a basis@. 

@@Is one subgroup an automorphic image of another?

\ni There is an algorithm due to  Whitehead, which
when given a finite sequence of elements, transforms the sequence by an
automorphism of the free group in such a way that the sum of the lengths
of the elements, in the transformed sequence, is minimal and the terms of
the sequence are arranged in short-lex order. Applying this algorithm to 
the respective sets of generators of the given subgroups, listed as
sequences, yields two sequences. The one subgroup is an automorphic
image of the other if and only if these two sequences coincide.

@@Is a homomorphism injective?

\ni Every map of the free generators of a free group into an arbitrary group
defines a homomorphism. In the event that the target group is free, 
this homomorphism is a monomorphism if and only if the images of the generators
of the source group form a free basis for the subgroup that they generate.
This can be determined by invoking Nielsen's method 
(see @Computing a Nielsen basis@General_free_groups::Computing a Nielsen basis@).

@@Is an endomorphism an automorphism?

\ni  Given an endomorphism of a free group F_n, we want to find out 
whether or not it is an automorphism. 
 This is equivalent to asking whether or not n given elements of 
F_n generate F_n  -  see 
@Basis problem@General_free_groups::Basis problem@. 

@@Is an endomorphism surjective?

\ni An endomorphism of a free group is an epimorphism if and only if 
it is an automorphism. See  @Is an endomorphism an automorphism?
General_free_groups::Is an endomorphism an automorphism?@. 

@@Is a homomorphism an isomorphism?

\ni See @Is an endomorphism an automorphism?@General_free_groups::
Is an endomorphism an automorphism?@).

@@Compute the product of two automorphisms

\ni We compute the composition of the two maps in the given order  on the 
generators of the given group. This defines the product of the two automorphisms.

@@Is an automorphism  inner? 

\ni If the given free group is cyclic, the automorphism is inner only if it is 
trivial.
If the given free group has more than one generator, we compute the image of the 
first
generator, say a. We then check to see if the image of a is conjugate to a. 
If this is not the case, then the given automorphism is not inner. If the image 
of a is the 
conjugate of a by x, then we express x in the form a^n z, where z is a reduced 
word that does not begin with a power of a. Then if the given automorphism is inner,
 the images of the remaining generators b,c,... under the given automorphism must 
also be conjugates of b,c, ... by z.

@@Order of an automorphism 

\ni  Given an automorphism f of a free group F_n, we want 
to find its order. 
 There is a bound for the order of a torsion element in  GL_n(Z),  
hence also for the order of a torsion element in  Aut (F_n) because the 
kernel of the map from Aut(F_n)  to  GL_n(Z)  is torsion-free,
by a result of Baumslag and Taylor. The 
former bound can be effectively found: if there is a matrix of order 
M in the group GL_n(Z), then f(M) is not greater than n, where f is
the Euler function.
 Now the problem is reduced to  checking 
finitely many powers of a given automorphism for being the identity
automorphism. 


@@Inverse of an automorphism

\ni   Given an automorphism f of a free group F_n = <x_1,...,x_n>, we want 
to find its inverse. 
  Let y_k=f(x_k). We Nielsen reduce the set {y_1,...,y_n} (see 
@Computing a Nielsen basis@General_free_groups::Computing a Nielsen basis@);
 the result should be a set 
of n elements, with every element of the form x_i or x_i^-1  for 
some i.  We keep track of elementary Nielsen reductions 
performed along the way, and then find the inverse of a product of 
elementary automorphisms in the usual manner. (Note that to find 
the inverse of a single elementary automorphism is easy). 

@@Is an automorphism  an IA-automorphism?

\ni An automorphism of a group is said to be an IA-automorphism if it induces
the identity automorphism of the abelianization. Since the abelianization of 
a free group is free abelian, this is easily checked.

@@Enumerate automorphisms of a free group

\ni The automorphism group of a free group is generated by finitely many
automorphisms of a rather particular kind. The automorphisms of a free group
can be enumerated by enumerating all words in these generators of the
automorphism group.

@@Solving quadratic equations over free groups

\ni We use here an algorithm of Comerford and Edmunds. The first
step is to convert the given equation into a standard form. The 
solutions of the given equation are obtained by first computing the subgroup
A of the automorphism group of the free group, on the generators of the free
group with the variables adjoined, which leave the given word
defining the equation, identically fixed. Next we find a number of so-called
basic solutions and then compute the images of these solutions under the
automorphisms in A, which gives us the totality of all solutions of the
given equation.


