[Up] [Next] [Index]

# 1 About GUAVA

### Sections

1. Acknowledgements
2. Installing GUAVA
3. Loading GUAVA

GUAVA is a GAP 4 share package for computing with codes. Except for the automorphism group and isomorphism testing functions, which make use of J.S. Leon's partition backtrack programs, GUAVA is written in the GAP language. Several algorithms that need the speed were integrated in the GAP kernel. Please send your bug reports to the email address: gap-trouble@dcs.st-and.ac.uk

GUAVA is primarily designed for the construction and analysis of codes. The functions can be divided into three subcategories:

Construction of codes:
  GUAVA can construct unrestricted, linear and cyclic codes. Information about the code is stored in a record, together with operations applicable to the code.

Manipulations of codes:
  Manipulation transforms one code into another, or constructs a new code from two codes. The new code can profit from the data in the record of the old code(s), so in these cases calculation time decreases.

Computations of information about codes:
  GUAVA can calculate important data of codes very fast. The results are stored in the code record.

## 1.1 Acknowledgements

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.

JC,ER and RB would like to thank the GAP people at the RWTH Aachen for their support, A.E. Brouwer for his advice and J. Simonis for his supervision.

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

## 1.2 Installing GUAVA

To install GUAVA (as a GAP4 Share Package) unpack the archive file in a directory in the `pkg` hierarchy of your version of GAP4. (This might be the `pkg` directory of the GAP4 home directory; it is however also possible to keep an additional `pkg` directory in your private directories, see section Installing a Share Package in your home directory of the GAP4 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

    ./configure ../..

This will fetch the architecture type for which GAP has been compiled last and create a `Makefile`. Now call

    make

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.

## 1.3 Loading GUAVA

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

    gap> RequirePackage( "guava" );

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.

[Up] [Next] [Index]