%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\Chapter{Installation}

\atindex{Nilmat package}{@Nilmat package}

The Package \package{Nilmat} is a {\GAP} code only package and requires
no external binaries.

Once \package{Nilmat} is loaded, calls to the {\GAP} functions
`IsNilpotent', `IsNilpotentGroup', `SylowSubgroup', and
`SylowSystem' for subgroups of $GL(n,q)$, and calls to
`IsNilpotent', `IsNilpotentGroup', and `IsFinite' for subgroups of
$GL(n,\Q)$, automatically switch to corresponding functions
%(e.g. `IsNilpotentMatGroup')
from \package{Nilmat}. Thus \package{Nilmat} should be disabled if
one wishes to use the former {\GAP} functions for matrix groups
over $GF(q)$ or $\Q$.

For testing nilpotency and finiteness over $\Q$, the {\GAP}
package \package{Polenta} is also required. Note that `Nilmat'
does not use functions from \package{Polenta} which depend on
`KASH'. Hence to use \package{Nilmat}, `KASH' installation is not
required, and all \package{Nilmat} functions run under both
Windows and Linux.

If your version of {\GAP} is earlier than {\GAP} 4.4.10, then to
use some \package{Nilmat} facilities such as the library of
primitive nilpotent subgroups of $GL(n,q)$,
`MaximalAbsolutelyIrreducibleNilpotentMatGroup', and
`ReducibleNilpotentMatGroup', you will need updates of the files
`ffeconway.gi' and `ffe.gi'. These updated files incorporate
relevant bugfixes, and  are included in the \package{Nilmat}
directory `etc'. Simply replace the old versions of `ffeconway.gi'
and `ffe.gi' in the directory `lib' of {\sf GAP} by the updated
ones. Then start {\sf GAP} with options `-A -N', and type
`CreateCompletionFiles()'. After carrying out these steps, quit
{\GAP} and then restart.
