GAP (guava) - Chapter 1: Introduction

Goto Chapter: Top 1 2 3 4 5 6 7 8 9 Bib Ind
[Top of Book] [Contents] [Previous Chapter] [Next Chapter]

1 Introduction
1.1 Introduction to the GUAVA package
1.2 Installing GUAVA
1.3 Loading GUAVA

### 1 Introduction

#### 1.1 Introduction to the GUAVA package

This is the manual of the GAP package GUAVA. GUAVA contains many functions that allow one to perform computations relevant to the theory of error-correcting codes. This version of GUAVA requires GAP 4.4.5 or later. The current version of GUAVA (3.13) was updated to work with GAP 4.7.9.

The functions in GUAVA can be divided into three subcategories:

- Construction of codes: GUAVA 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: Manipulations transform one code into another, or construct 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 often decreases.

- Computations of information about codes: GUAVA 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 `MinimumWeight` (4.8-5) function, GUAVA is written in the GAP language, and runs on any system supporting GAP4.4 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] and also Huffman and Pless [HP03].

#### 1.2 Installing GUAVA

The most recent version of GAP (4.7) comes complete with all of the packages -- including GUAVA. Thus the following instructions are not usually applicable but may be needed in certain circumstances.

To install GUAVA unpack the archive file in a directory in the `pkg' hierarchy of your version of GAP 4.

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-like environment, where you should proceed as follows: Go to the newly created `guava' directory and call ``./configure /gappath'` where `/gappath` 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 binaries and install them in the appropriate place. (For a Windows machine with CYGWIN installed - see http://www.cygwin.com/ - 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.)

If it is not already installed, you should also install the GAP package SONATA. You can download this from the GAP website and unpack it in the `pkg' subdirectory.

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 binaries for each platform separately.

#### 1.3 Loading GUAVA

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

    gap> LoadPackage( "guava" );

If GUAVA isn't already in memory, it is loaded and the author information is displayed. If you are a frequent user of GUAVA, you might consider adding GUAVA to the "PackagesToLoad" preference in your gap initialization file. (Usually `gap.ini` which should be located in your home directory.) Type `GAPInfo.UserGapRoot;` at the GAP prompt to find the location of your initialization file. If none exists, the command `WriteGapIniFile();` will create a default `gap.ini` file which you can then modify.

[Top of Book] [Contents] [Previous Chapter] [Next Chapter]
Goto Chapter: Top 1 2 3 4 5 6 7 8 9 Bib Ind

generated by GAPDoc2HTML