[1X1. Introduction[0X [1X1.1 Introduction to the [5XGUAVA[0X[1X package[0X This is the manual of the GAP package [5XGUAVA[0X that provides implementations of some routines designed for the construction and analysis of in the theory of error-correcting codes. This version of [5XGUAVA[0X requires GAP 4.4.5 or later. The functions can be divided into three subcategories: -- Construction of codes: [5XGUAVA[0X can construct unrestricted, linear and cyclic codes. Information about the code, such as operations applicable to the code, is stored in a record-like data structure called a GAP object. -- 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: [5XGUAVA[0X can calculate important parameters of codes quickly. The results are stored in the codes' object components. Except for the automorphism group and isomorphism testing functions, which make use of J.S. Leon's programs (see [Leo91] and the documentation in the 'src/leon' subdirectory of the 'guava' directory for some details), and [2XMinimumWeight[0X ([14X4.8-5[0X) function, [5XGUAVA[0X is written in the GAP language, and runs on any system supporting GAP4.3 and above. Several algorithms that need the speed were integrated in the GAP kernel. Good general references for error-correcting codes and the technical terms in this manual are MacWilliams and Sloane [MS83] Huffman and Pless [HP03]. [1X1.2 Installing [5XGUAVA[0X[1X[0X To install [5XGUAVA[0X (as a GAP 4 Package) unpack the archive file in a directory in the `pkg' hierarchy of your version of GAP 4. After unpacking [5XGUAVA[0X the GAP-only part of [5XGUAVA[0X is installed. The parts of [5XGUAVA[0X 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 [10X`./configure /gappath'[0X where [10X/gappath[0X 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. (For a windows machine with CYGWIN installed - see [7Xhttp://www.cygwin.com/[0X - instructions for compiling Leon's binaries are likely to be similar to those above. On a 64-bit SUSE linux computer, instead of the configure command above - which will only compile the 32-bit binary - type ./configure ../.. --enable-libsuffix=64 make to compile Leon's program as a 64 bit native binary. This may also work for other 64-bit linux distributions as well.) Starting with version 2.5, you should also install the GAP package [5XSONATA[0X to load GAP. You can download this from the GAP website and unpack it in the `pkg' subdirectory. This completes the installation of [5XGUAVA[0X for a single architecture. If you use this installation of [5XGUAVA[0X on different hardware platforms you will have to compile the binary for each platform separately. [1X1.3 Loading [5XGUAVA[0X[1X[0X After starting up GAP, the [5XGUAVA[0X package needs to be loaded. Load [5XGUAVA[0X by typing at the GAP prompt: [4X--------------------------- Example ----------------------------[0X [4Xgap> LoadPackage( "guava" );[0X [4X------------------------------------------------------------------[0X If [5XGUAVA[0X isn't already in memory, it is loaded and the author information is displayed. If you are a frequent user of [5XGUAVA[0X, you might consider putting this line in your `.gaprc' file.