  
  [1X1 Introduction[0X
  
  
  [1X1.1 Introduction to the [5XGUAVA[1X package[0X
  
  This is the manual of the GAP package [5XGUAVA[0m that provides implementations of
  some routines designed for the construction and analysis of in the theory of
  error-correcting codes. This version of [5XGUAVA[0m requires GAP 4.4.5 or later.
  
  The functions can be divided into three subcategories:
  
  --    Construction  of  codes:  [5XGUAVA[0m 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[0m 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[0m  ([14X4.8-5[0m)  function,  [5XGUAVA[0m 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[1X[0X
  
  To install [5XGUAVA[0m (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[0m the GAP-only part of [5XGUAVA[0m is installed. The parts of
  [5XGUAVA[0m  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'[0m  where  [10X/gappath[0m  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/[0m  -
  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[0m to
  load  GAP.  You  can download this from the GAP website and unpack it in the
  `pkg' subdirectory.
  
  This  completes  the installation of [5XGUAVA[0m for a single architecture. If you
  use this installation of [5XGUAVA[0m on different hardware platforms you will have
  to compile the binary for each platform separately.
  
  
  [1X1.3 Loading [5XGUAVA[1X[0X
  
  After  starting  up GAP, the [5XGUAVA[0m package needs to be loaded. Load [5XGUAVA[0m by
  typing at the GAP prompt:
  
  [4X---------------------------  Example  ----------------------------[0X
    [4Xgap> LoadPackage( "guava" );[0X
  [4X------------------------------------------------------------------[0X
  
  If [5XGUAVA[0m isn't already in memory, it is loaded and the author information is
  displayed.  If  you are a frequent user of [5XGUAVA[0m, you might consider putting
  this line in your `.gaprc' file.
  
