GUAVA    is a  share  library package    that implements coding theory
algorithms in   {\GAP}.    Codes can  be   created and   manipulated  and
information about codes can be calculated.

GUAVA consists of various files written in the {\GAP} language, and an
external program from J.S.~Leon  for dealing with automorphism  groups of
codes and isomorphism testing functions. Several algorithms that need the
speed are  integrated in the {\GAP}  kernel. Please send your bug reports
to gap-trouble ('gap-trouble@dcs.st-and.ac.uk').


{\GUAVA} was written by Jasper Cramwinckel, Erik Roijackers, and Reinald
Baart.  as a final project during their study of Mathematics at the Delft
University of  Technology, department of Pure Mathematics,  and in Aachen,
at Lehrstuhl D fuer Mathematik.

In version~1.3, new functions were added by Eric Minkes, also from Delft
University of Technology.

The {\GAP}~4 version of {\GUAVA} was created by Lea Ruscio and is maintained
by David Joyner.

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\Section{Installing GUAVA}

To install GUAVA (as a {\GAP}4 Share Library Package) unpack the
archive file in a directory in the `pkg' hierarchy of your version of
{\GAP}4. (This might be the `pkg' directory of the {\GAP}4 home
directory; it is however also possible to keep an additional `pkg'
directory in your private directories, see section "ref:Installing
Share Packages" of the {\GAP}4 reference manual for details on how to
do this.)

After unpacking GUAVA the {\GAP}-only part of GUAVA is installed.  The parts
of GUAVA depending on J.~Leon's backtrack programs package (for computing
automorphism groups) are only available in a UNIX environment, where you
should proceed as follows:

Go to the newly created `guava' directory and call `./configure <path>'
where <path> is the path to the {\GAP} home directory. So for example, if
you install the package in the main `pkg' directory call
\begintt
./configure ../..
\endtt
This will fetch the architecture type for which {\GAP} has been compiled 
last and create a `Makefile'. Now call
\begintt
make
\endtt
to compile the binary and to install it in the appropriate place.

This completes the installation of GUAVA for a single architecture.  If
you use this installation of GUAVA on different hardware platforms you
will have to compile the binary for each platform separately. This is
done by calling `configure' and `make' for the package anew
immediately after compiling {\GAP} itself for the respective
architecture.  If your version of {\GAP} is already compiled (and has last
been compiled on the same architecture) you do not need to compile {\GAP}
again; it is sufficient to call the `configure' script in the {\GAP} home
directory.


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\Section{Loading GUAVA}

After starting up {\GAP}, the  GUAVA package needs  to be loaded. Load
GUAVA by typing at the {\GAP} prompt:

\begintt
gap> RequirePackage( "guava" );
\endtt

If GUAVA isn\'t  already  in memory,  it is  loaded and its  beautiful
banner is displayed.

If you  are a frequent user of  GUAVA, you might consider putting this
line in your `.gaprc' file.
