<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> <head> <title>GAP (guava) - Chapter 1: Introduction</title> <meta http-equiv="content-type" content="text/html; charset=UTF-8" /> <meta name="generator" content="GAPDoc2HTML" /> <link rel="stylesheet" type="text/css" href="manual.css" /> </head> <body> <div class="chlinktop"><span class="chlink1">Goto Chapter: </span><a href="chap0.html">Top</a> <a href="chap1.html">1</a> <a href="chap2.html">2</a> <a href="chap3.html">3</a> <a href="chap4.html">4</a> <a href="chap5.html">5</a> <a href="chap6.html">6</a> <a href="chap7.html">7</a> <a href="chapBib.html">Bib</a> <a href="chapInd.html">Ind</a> </div> <div class="chlinkprevnexttop"> <a href="chap0.html">Top of Book</a> <a href="chap0.html">Previous Chapter</a> <a href="chap2.html">Next Chapter</a> </div> <p><a id="X7DFB63A97E67C0A1" name="X7DFB63A97E67C0A1"></a></p> <div class="ChapSects"><a href="chap1.html#X7DFB63A97E67C0A1">1. <span class="Heading">Introduction</span></a> <div class="ContSect"><span class="nocss"> </span><a href="chap1.html#X787D826579603719">1.1 <span class="Heading">Introduction to the <strong class="pkg">GUAVA</strong> package</span></a> </div> <div class="ContSect"><span class="nocss"> </span><a href="chap1.html#X7E2CB7DF83B514A8">1.2 <span class="Heading">Installing <strong class="pkg">GUAVA</strong></span></a> </div> <div class="ContSect"><span class="nocss"> </span><a href="chap1.html#X80EAA631863F805B">1.3 <span class="Heading">Loading <strong class="pkg">GUAVA</strong></span></a> </div> </div> <h3>1. <span class="Heading">Introduction</span></h3> <p><a id="X787D826579603719" name="X787D826579603719"></a></p> <h4>1.1 <span class="Heading">Introduction to the <strong class="pkg">GUAVA</strong> package</span></h4> <p>This is the manual of the GAP package <strong class="pkg">GUAVA</strong> that provides implementations of some routines designed for the construction and analysis of in the theory of error-correcting codes. This version of <strong class="pkg">GUAVA</strong> requires GAP 4.4.5 or later.</p> <p>The functions can be divided into three subcategories:</p> <ul> <li><p>Construction of codes: <strong class="pkg">GUAVA</strong> 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.</p> </li> <li><p>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.</p> </li> <li><p>Computations of information about codes: <strong class="pkg">GUAVA</strong> can calculate important parameters of codes quickly. The results are stored in the codes' object components.</p> </li> </ul> <p>Except for the automorphism group and isomorphism testing functions, which make use of J.S. Leon's programs (see <a href="chapBib.html#biBLeon91">[Leo91]</a> and the documentation in the 'src/leon' subdirectory of the 'guava' directory for some details), and <code class="func">MinimumWeight</code> (<a href="chap4.html#X84EDF67B86B4154C"><b>4.8-5</b></a>) function, <strong class="pkg">GUAVA</strong> 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.</p> <p>Good general references for error-correcting codes and the technical terms in this manual are MacWilliams and Sloane <a href="chapBib.html#biBMS83">[MS83]</a> Huffman and Pless <a href="chapBib.html#biBHP03">[HP03]</a>.</p> <p><a id="X7E2CB7DF83B514A8" name="X7E2CB7DF83B514A8"></a></p> <h4>1.2 <span class="Heading">Installing <strong class="pkg">GUAVA</strong></span></h4> <p>To install <strong class="pkg">GUAVA</strong> (as a GAP 4 Package) unpack the archive file in a directory in the `pkg' hierarchy of your version of GAP 4.</p> <p>After unpacking <strong class="pkg">GUAVA</strong> the GAP-only part of <strong class="pkg">GUAVA</strong> is installed. The parts of <strong class="pkg">GUAVA</strong> 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 <code class="code">`./configure /gappath'</code> where <code class="code">/gappath</code> is the path to the GAP home directory. So for example, if you install the package in the main `pkg' directory call</p> <pre class="normal"> ./configure ../.. </pre> <p>This will fetch the architecture type for which GAP has been compiled last and create a `Makefile'. Now call</p> <pre class="normal"> make </pre> <p>to compile the binary and to install it in the appropriate place. (For a windows machine with CYGWIN installed - see <span class="URL"><a href="http://www.cygwin.com/">http://www.cygwin.com/</a></span> - 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</p> <pre class="normal"> ./configure ../.. --enable-libsuffix=64 make </pre> <p>to compile Leon's program as a 64 bit native binary. This may also work for other 64-bit linux distributions as well.)</p> <p>Starting with version 2.5, you should also install the GAP package <strong class="pkg">SONATA</strong> to load GAP. You can download this from the GAP website and unpack it in the `pkg' subdirectory.</p> <p>This completes the installation of <strong class="pkg">GUAVA</strong> for a single architecture. If you use this installation of <strong class="pkg">GUAVA</strong> on different hardware platforms you will have to compile the binary for each platform separately.</p> <p><a id="X80EAA631863F805B" name="X80EAA631863F805B"></a></p> <h4>1.3 <span class="Heading">Loading <strong class="pkg">GUAVA</strong></span></h4> <p>After starting up GAP, the <strong class="pkg">GUAVA</strong> package needs to be loaded. Load <strong class="pkg">GUAVA</strong> by typing at the GAP prompt:</p> <table class="example"> <tr><td><pre> gap> LoadPackage( "guava" ); </pre></td></tr></table> <p>If <strong class="pkg">GUAVA</strong> isn't already in memory, it is loaded and the author information is displayed. If you are a frequent user of <strong class="pkg">GUAVA</strong>, you might consider putting this line in your `.gaprc' file.</p> <div class="chlinkprevnextbot"> <a href="chap0.html">Top of Book</a> <a href="chap0.html">Previous Chapter</a> <a href="chap2.html">Next Chapter</a> </div> <div class="chlinkbot"><span class="chlink1">Goto Chapter: </span><a href="chap0.html">Top</a> <a href="chap1.html">1</a> <a href="chap2.html">2</a> <a href="chap3.html">3</a> <a href="chap4.html">4</a> <a href="chap5.html">5</a> <a href="chap6.html">6</a> <a href="chap7.html">7</a> <a href="chapBib.html">Bib</a> <a href="chapInd.html">Ind</a> </div> <hr /> <p class="foot">generated by <a href="http://www.math.rwth-aachen.de/~Frank.Luebeck/GAPDoc">GAPDoc2HTML</a></p> </body> </html>