@@General discussion

\ni A free nilpotent group of class c is a quotient of an
absolutely free group by the (c+1)st term of its lower central
series. We use the notation N= c <a,b,...>
to express the fact that N is a free nilpotent group of class
c, generated by a,b,... . So N is an isomorphic copy of the 
quotient of an absolutely free group, freely generated by a,b,..., 
by the (c+1)-st term of its lower central series. As usual, we 
denote the images, in N, of the generators of the ambient free 
group, again by a,b,... . We refer to a,b,... as free generators
of the free nilpotent group N.

\ni If N is a free nilpotent group of class c freely generated
by a,b,... , then there is a procedure that was invented by
P. Hall, for listing a sequence of commutators, with particularly
useful properties. The terms in the sequence are referred to as
basic commutators and the sequence itself is termed a basic
sequence. Each term in the sequence has a so-called weight attached
to it and the basic commutators of smaller weight occur earlier in
the sequence than basic commutators of greater weight. The basic commutators
of weight 1 are simply the generators, ordered arbitrarily, usually
alphabetically. If u and v are basic commutators
of weights i and j, respectively, then [v,u] is a basic commutator of
wieght i+j, provided the following conditions are satisfied:
(i) u precedes v in the sequence;
(ii) if the weight of u is bigger than 1, then u = [y,z], where
y and z are also basic commutators and z < y < u in the sequence.
This description completely defines a basic sequence, remembering
that basic commutators of smaller weight occur earlier than basic
commutators of greater weight, if we define
[v,u] < [z,w],
where [v,u] and [z,w] are basic commutators of the same weight, if
either u < w or, in the event that u = w, if v < z.
The basic commutators of a given weight n freely 
generate the n-th term of the lower central series of N, modulo the 
(n+1)-st term of its lower central series. If
b_1,b_2,...,b_h
are the terms in a basic sequence, then, simply by collecting basic
commutators so that they occur in the correct order, every word w in 
the generators of N can be expressed uniquely in the form
b_1^e_1 b_2^e_2 ... ,
where the e_i are integers and each of the commutators [b_j,b_i]
where i < j, is either 1, or else can itself be expressed as a
product of basic commutators (and their inverses), that appear after
b_j in the sequence. A sequence of elements of a finitely generated
torsion-free nilpotent group satisfying this expressibility condition
and this commutator condition is referred to as a Mal'cev basis for 
the given group. So a basic sequence is a Mal'cev basis in a free 
nilpotent group. We term this expression for w its canonical form, 
or its normal form. There is an algorithm, which when given a word 
w in the generators of a free nilpotent group, expresses w in 
normal form. This algorithm, among other things,
yields a solution of the word problem for free nilpotent groups,
and is an indispensable tool for working with free nilpotent groups.

@@Enumerate the basic commutators

\ni Given a set of generators of a free nilpotent group of a given class c,
one can enumerate the basic commutators, starting with those of weight
1 and ending up with those of weight c 
(see @General discussion@General_free_nilpotent::General discussion@).

@@Compute the Hirsch number 

\ni Every finitely generated nilpotent group is polycyclic, i.e., has a 
normal series referred to as a polycyclic series, starting with the identity 
subgroup and ending with the 
whole group with consecutive quotients cyclic. The Hirsch number of the 
given polycyclic group is the number of infinite cyclic factors involved. 
This number is independent of the choice of the polycyclic series. Every 
finitely generated nilpotent group G can be expressed as a quotient of 
a finitely generated free nilpotent group N and the images of a basic 
sequence in the free generators of N in G, in reverse order, give rise to 
a polycyclic series for G. An inspection of this series allows us to compute 
the Hirsch number of G. In the case of a free nilpotent group, the Hirsch
number is simply the number of basic commutators.


@@Compute the integral homology

\ni Although we have not yet implemented this computation, theoretically this
is easy enough to do, using an appropriate Lyndon-Serre spectral sequence.

@@The word problem

\ni Given a word in the generators of a free nilpotent group, there is an
algorithm which decomposes the word into its normal form, i.e., a product
of powers of basic commutators, arranged in order 
(see @General discussion@General_free_nilpotent::General discussion@).

@@Equality of two words 

\ni We simply apply the word problem to the product of the first word with
the inverse of the second.

@@The conjugacy problem

\ni The conjugacy problem is solvable in finitely generated nilpotent groups.
We use a modified version of the general algorithm to solve the conjugacy
problem for finitely generated free nilpotent groups. 

@@The power problem

\ni Given a word in a free nilpotent group, we want to decide
whether or not the word represents an element which is a proper power.
 Here we use induction on the nilpotence class of a given 
 free nilpotent group F. That means, we first decide whether or not 
 our  element u is a proper power modulo the last non-trivial term 
 of the lower central  series (l.c.s.) of F. If it is not, then it is not 
 a proper power in F either. If it is, then it can be a proper power 
 (modulo the last non-trivial term of the l.c.s.) of one of the finitely
 many elements v_1,...,v_k. Now  we check if u is a proper power 
 of an element of the form   v_i w, where w is in the last non-trivial 
 term of the l.c.s. of the group F). Since w is  a product of powers of 
finitely many  basic commutators (see 
@General discussion@General_free_nilpotent::General discussion@),
this amounts to solving a finite system of linear equations over Z.

@@The maximal root of an element

\ni If a word represents a non-trivial element in a free nilpotent group,
then it is contained in a maximal cyclic subgroup. The generator (or its
inverse) of this cyclic subgroup is the maximal root of the element
represented by the given word. To find this maximal root, we use 
induction by the nilpotence class of a given  free nilpotent group,
as described in @The power problem@General_free_nilpotent::The power problem@

@@Decompose a word into a product of basic commutators

\ni Given a word in a free nilpotent group, the so-called commutator
collecting process produces a decomposition of the given word as a
product of basic commutators; this is simply the normal form. See  
@General discussion@General_free_nilpotent::General discussion@.

@@Element in the commutator subgroup?

\ni We can either check if the given word is trivial in the abelianization or
else compute its normal form (not a good idea), which immediately provides
us with this information.

@@In which term of the lower central series does a word lie?

\ni We succesively compute the images of the given word in the abelianization
of the given group, the quotient of the group by the third term of its lower
central series, the quotient of the group by the fourth term of its lower
central series, ...  . The word lies in the n-th term of the lower central
series of the given group if at the n-th stage the image of the word is 
non-trivial, but trivial at every one of the preceding stages. If all of the
images of w are trivial, then w is trivial in the given group.

@@Subgroup membership problem 

\ni The procedure here is as follows. We express each of the generators of
the subgroup H, say, in normal form and then use a variation of Gaussian
elimination to find a new set of generators of H such that the exponents
of these generators are arranged in "triangular" form. This procedure gives
rise to a Mal'cev basis for H. By comparing the exponents of the normal
form for w with those of the exponents of the Mal'cev basis, it is possible
to determine if w lies in H.

@@Power of a word   in a subgroup? 

\ni The procedure for deciding is a word lies in a given subgroup can be
adjusted to one for deciding if a power of a word lies in a subgroup
(see @Subgroup membership problem@General_free_nilpotent::Subgroup membership problem@).

@@Subgroup containment problem

\ni We simply check whether the generators of the one subgroup are contained
in the other one. See @Determine if a word lies in a subgroup@General_nilpotent::
Determine if a word lies in a subgroup@. 

@@Subgroup equality problem

\ni We check first whether the first subgroup is contained in the second
and then reverse the procedure. See @Subgroup containment problem
@General_free_nilpotent::Subgroup containment problem@ 

@@Compute the Hirsch number of a subgroup 

\ni We find a Mal'cev basis for the subgroup. The Hirsch number is simply the
number of elements in this basis. 
(See @Compute the Hirsch number@General_free_nilpotent::
Compute the Hirsch number@). 

@@Present a subgroup

\ni We first find a Mal'cev basis for a subgroup and then present the subgroup
on this set of generators. A system of defining relations is obtained by
computing the normal forms for all of the commutators of all of the generators.
See @General discussion@General_free_nilpotent::General discussion@. 

@@Join of two subgroups

\ni We simply join the two sets of generators together and then find a 
presentation of the subgroup that they generate. 
See @Present a subgroup@General_free_nilpotent::Present a subgroup@. 

@@Index of a subgroup

\ni The index of a subgroup is infinite if its index in the abelianization is
infinite. If the index is finite, we compute its index by using our 
implementation of the procedure of Todd-Coxeter.

@@Is a subgroup a varietal free factor?

\ni A subgroup is a varietal free factor of a given free nilpotent group if and
only if we can find a set of generators of the given subgroup which freely
generates, modulo the derived group of the ambient free nilpotent 
group, a direct factor. To do so, we compute a presentation of the subgroup
and determine if its abelianization is free abelian 
(see @Is the group free abelian?@General_abelian_groups::Is the group free abelian?@). 
If so, we consider the images of the given generators in the abelianization
of the ambient free nilpotent group and check if they generate a 
pure subgroup, in which case the given subgroup is a varietal free factor
(see@Is a subgroup pure?@General_abelian_groups::Is a subgroup pure?@).

@@Compute a Mal'cev basis for a subgroup

\ni The procedure here is as follows. We express each of the generators of
a given subgroup H  in normal form and then use a variation of Gaussian
elimination to find a new set of generators of H such that the exponents
of these generators are arranged in "triangular" form. This new set of
generators is a Mal'cev basis for H.

@@Is a subgroup central?

\ni We simply compute the commutators of each of the generators of the
subgroup with the generators of the ambient free nilpotent group and
decide if they are all equal to 1.

@@Is a subgroup normal?

\ni We compute the conjugates of each of the generators of the subgroup
by the generators of the ambient free nilpotent group and check to see if they 
are in the subgroup 
(see @Determine if a word lies in a subgroup@General_nilpotent::
Determine if a word lies in a subgroup@.

@@Isolator of a subgroup

\ni This algorithm is still to be implemented.

@@The normal closure of a subgroup

\ni We adjoin to the given subgroup all non-trivial commutators of the form
[a,b], [a,b,b], ..., [a,b,b,...,b], ... ,
where a ranges over the generators of the subgroup and b ranges over the 
generators of the ambient free nilpotent group. The resultant subgroup is
the normal closure of the given one.

@@Is a map   a  homomorphism?

\ni As usual a map of the generators of a group given by a finite presentation
defines a homomorphism if and only if the images of the generators satisfy the
given relations. For this one needs only the solution of the word problem in the
target group.

@@Is an endomorphism an automorphism?

\ni Notice that an epimorphism of a finitely generated nilpotent group 
is an automorphism, since a finitely generated nilpotent group is never
isomorphic to any of its proper factor groups. Consequently, in order 
to determine if an endomorphism is an automorphism, it suffices to
check whether an endomorphism of a finitely generated nilpotent group is
an epimorphism, i.e., whether the image of the given group coincides with 
the group itself. We have therefore only to appeal to the algorithm which 
decides whether two subgroups of a finitely generated nilpotent group are equal
(see @Subgroup equality problem@General_free_nilpotent::Subgroup equality problem@).

@@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 nilpotent group is free abelian, this is easily checked.

@@Compute the product of two automorphisms

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


@@Order of an automorphism 

\ni The order of an automorphism of a free nilpotent group is either infinite 
or it is bounded by a function of the number of generators. We simply compute 
the various powers of the given automorphism up to the value of this function 
for the particular free nilpotent group involved and check to see if it is 
the identity.


@@Inverse of an automorphism

\ni One expresses each of the given generators of the free nilpotent group
as words in the images of the generators. If then each of the images under
the given automorphism is expressed as a word in the original generators,
the resultant words provide a description of the inverse of the given 
automorphism.




