  
  [1X1 [33X[0;0YIntroduction[133X[101X
  
  
  [1X1.1 [33X[0;0YIntroduction to the [5XGUAVA[105X[101X[1X package[133X[101X
  
  [33X[0;0YThis  is  the manual of the GAP package [5XGUAVA[105X. [5XGUAVA[105X contains many functions
  that   allow   one  to  perform  computations  relevant  to  the  theory  of
  error-correcting  codes.  This version of [5XGUAVA[105X requires GAP 4.4.5 or later.
  The current version of [5XGUAVA[105X (3.21) was updated to work with GAP 4.14.0.[133X
  
  [33X[0;0YThe functions in [5XGUAVA[105X can be divided into three subcategories:[133X
  
  [30X    [33X[0;6YConstruction  of  codes:  [5XGUAVA[105X 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.[133X
  
  [30X    [33X[0;6YManipulations 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.[133X
  
  [30X    [33X[0;6YComputations of information about codes: [5XGUAVA[105X can calculate important
        parameters  of  codes  quickly.  The  results are stored in the codes'
        object components.[133X
  
  [33X[0;0YExcept  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[102X  ([14X4.8-5[114X)  function,  [5XGUAVA[105X 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.[133X
  
  [33X[0;0YGood  general  references for error-correcting codes and the technical terms
  in  this manual are MacWilliams and Sloane [MS83] and also Huffman and Pless
  [HP03].[133X
  
  
  [1X1.2 [33X[0;0YInstalling [5XGUAVA[105X[101X[1X[133X[101X
  
  [33X[0;0YThe most recent version of GAP (4.8) comes complete with all of the packages
  --  including  [5XGUAVA[105X.  Thus  the  following  instructions  are  not  usually
  applicable but may be needed in certain circumstances.[133X
  
  [33X[0;0YTo  install  [5XGUAVA[105X  unpack  the  archive  file  in  a directory in the `pkg'
  hierarchy of your version of GAP 4.[133X
  
  [33X[0;0YAfter  unpacking [5XGUAVA[105X the GAP-only part of [5XGUAVA[105X is installed. The parts of
  [5XGUAVA[105X  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  [10X`./configure  /gappath'[110X  where  [10X/gappath[110X  is  the path to the GAP home
  directory.  So  for  example,  if  you install the package in the main `pkg'
  directory call[133X
  
  ./configure ../..
  
  [33X[0;0YThis  will  fetch the architecture type for which GAP has been compiled last
  and create a `Makefile'. Now call[133X
  
  make
  
  [33X[0;0Yto  compile  the  binaries  and install them in the appropriate place. For a
  Windows  machine  with  CYGWIN  installed  -  see  [7Xhttps://www.cygwin.com/[107X -
  instructions for compiling Leon's binaries are likely to be similar to those
  above.[133X
  
  [33X[0;0YIf  it  is  not  already  installed, you should also install the GAP package
  [5XSONATA[105X.  You  can  download  this  from the GAP website and unpack it in the
  `pkg' subdirectory.[133X
  
  [33X[0;0YThis  completes  the installation of [5XGUAVA[105X for a single architecture. If you
  use this installation of [5XGUAVA[105X on different hardware platforms you will have
  to compile the binaries for each platform separately.[133X
  
  
  [1X1.3 [33X[0;0YLoading [5XGUAVA[105X[101X[1X[133X[101X
  
  [33X[0;0YAfter  starting  up GAP, the [5XGUAVA[105X package needs to be loaded. Load [5XGUAVA[105X by
  typing at the GAP prompt:[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XLoadPackage( "guava" );[127X[104X
    [4X[28Xtrue[128X[104X
  [4X[32X[104X
  
  [33X[0;0YIf [5XGUAVA[105X isn't already in memory, it is loaded and the author information is
  displayed.  If  you  are a frequent user of [5XGUAVA[105X, you might consider adding
  [5XGUAVA[105X  to  the  "PackagesToLoad" preference in your gap initialization file.
  (Usually  [11Xgap.ini[111X  which  should  be  located  in your home directory.) Type
  [11XGAPInfo.UserGapRoot;[111X  at  the  GAP  prompt  to  find  the  location  of your
  initialization  file.  If  none  exists, the command [11XWriteGapIniFile();[111X will
  create a default [11Xgap.ini[111X file which you can then modify.[133X
  
