README ====== How to get GAP ============== GAP is distributed *free of charge*, see the common Copyright for all versions of GAP stated Download branch of GAP 4. You can obtain it via 'ftp'. We distribute the *full source* for everything, the C code for the kernel, the GAP code for the library, and the {\LaTeX} code for the manual, which has at present about 1600 pages. So it should be no problem to get GAP, even if you have a rather uncommon system. Of course, ports to non UNIX systems may require some work. We already have ports for IBM PC compatibles with an Intel processor under MS-DOS, Windows, or OS/2, for the Atari ST under TOS and Apple Macintosh using the CodeWarrior compiler. Note that about 8 MByte of main memory and about 20MB of disk space are required to run GAP. A full GAP installation, including all share packages and data libraries can use up to 100MB of disk space. The easiest way to get GAP 3 for most users is probably via the World Wide Web. The main GAP Web site is found at http://www-gap.dcs.st-and.ac.uk/~gap. There is a *mirror site* updated automatically each night, at: http://www.math.rwth-aachen.de/LDFM/GAP. At these sites you can browse this manual, download the system and contributed extensions, read past postings to the GAP forum, and find out about authors of and contributors to GAP, publications that cited GAP and GAP related events. GAP 3 can also be obtained by anonymous *ftp* from the following servers. 'ftp-gap.dcs.st-and.ac.uk': School of Mathematical and Computational Sciences, University of St Andrews, Scotland, directory '/pub/gap/gap/', 'ftp.math.rwth-aachen.de': Lehrstuhl D fur Mathematik, RWTH Aachen, Germany, directory '/pub/gap/'. 'ftp' to the server *closest* to you, login as user 'ftp' and give your full e-mail address as password. Remember when you transmit the files to set the file transfer type to *binary image*, otherwise you will only receive unusable garbage. Those servers will always have the latest version of GAP available. The 'ftp' directory contains the following files. Please check first which files you need, to avoid transferring those that you don't need. 'README': the file, a slightly updated part of which you are currently reading. 'gap3r4p4.zoo': This file contains the *complete* distribution of GAP version 3 release 4 current patchlevel 4. It is a 'zoo' archive approximately 18 MByte large. 'unzoo.c': A simple 'zoo' archive extractor, which should be used to unpack the distribution. The 'utils' subdirectory contains ready compiled executables for common systems. More files are in the following *subdirectories*: 'bin': This directory contains *executables* for systems that dont come with a C compiler or where another C compiler produces a faster executable. The file 'FILES' tells you which executables are here. 'split': This directory contains the complete distribution of GAP 3r4p4 in several archives. This allows you to get only the parts that you are really interested in. The 'FILES' file tells you which archive contains what. 'utils': This directory contains several utilities that you may need to get or upgrade GAP, e.g., 'unzoo' and 'patch'. The 'FILES' file tells you which files are here. How to install GAP ================== The file 'doc/install.tex' contains extensive installation instructions. If however, you are one of those who never read manuals, here is a quick installation guide. Ho to install GAP on an IBM PC, Apple Mac, Atari ST, DEC VAX, or DEC AXP ------------------------------------------------------------------------ First go to a directory where you want to install GAP , e.g., 'c:'. GAP will be installed in a subdirectory 'gap3r4p4' of this directory. You can later move GAP to another location, for example you can first install it in 'd:\tmp' and once it works move it to 'c:'. Get the GAP distribution onto your computer. One usual way would be to get the distribution with 'ftp' onto some UNIX workstation and to download it from there onto your computer, for example with 'kermit'. Remember that the distribution consists of binary files and that you must transmit them in binary mode. Another possibility is that you got a set of floppy disks. In any case you need the distribution 'gap3r4p4.zoo', the appropriate zoo archive extractor, e.g., 'unzoo.exe', which is in the subdirectory 'util/' on the 'ftp' server, and the appropriate executable, e.g., 'gapdjg.zoo', which is in the subdirectory 'bin/'. You may have to get the latter 2 files from 'ftp-gap.dcs.st-and.ac.uk', because some 'ftp' servers may not keep it. We recommend that you use 'unzoo' even if you already have 'zoo' on your system, because 'unzoo' automatically translates text files to the appropriate local format. Unpack the executable and the distribution with the command unzoo -x -o bin3r4p4.zoo unzoo -x -o gap3r4p4.zoo Now change into the 'gap3r4p4\bin' subdirectory and follow the instructions in the appropriate readme file, e.g., 'README.DOS'. How to install GAP on a UNIX computer ------------------------------------- First go to a directory where you want to install GAP, e.g., your home directory or '/usr/local/lib/'. GAP will be installed in a subdirectory called 'gap3r4p4/' of this directory. You can later move GAP to another location, for example you can first install it in your home directory and once it works move it to '/usr/local/lib/'. Get the distribution 'gap3r4p4.zoo' and the source for the zoo archive extractor 'unzoo.c'. How you can get those files is described in the section "How to get GAP". The usual way would be to get it with 'ftp'onto your machine. Remember that the distribution consists of binary files and that you must transmit them in binary mode. Compile the zoo archive extractor 'unzoo' with the command cc -o unzoo -DSYS_IS_UNIX -O unzoo.c Unpack the distribution with the command unzoo -x -o gap3r4p4.zoo Change into the source directory 'gap3r4p4/src/', print the list of possible targets with the command 'make', select the target that fits best, and then compile the kernel with the command make cp gap ../bin Alternatively we provide ready compiled executables for the some popular systems on our 'ftp' server in the 'bin/' subdirectory. Change into the directory 'gap3r4p4/bin/' and edit the script 'gap.sh', which starts GAP, according to the instructions in this file. Then copy this script to a directory in your search path, e.g., '~/bin/', with the command cp gap.sh ~/bin/gap When you later move GAP to another location you must only edit this script. Try something in GAP, e.g., the following exercises GAP quite a bit gap> m11 := Group((1,2,3,4,5,6,7,8,9,10,11),(3,7,11,8)(4,10,5,6));; gap> Number( ConjugacyClasses( m11 ) ); The result should be 10. The full manual is, to put it mildly, now rather long (almost 1600 pages). For this reason, it may be more convenient just to *print selected chapters*. This can be done using the \includeonly LaTeX command, which is present in 'manual.tex' (around line 240), but commented out. To use this, you must first *LaTeX the whole manual* as normal, to obtain the complete set of '.aux' files and determine the pages and numbers of all the chapters and sections. After that, you can edit 'manual.tex' to uncomment the \includeonly command and select the chapters you want. A good start can be to include only the first chapter, from the file 'aboutgap.tex', by editing the line to read \includeonly{aboutgap}. The next step is to LaTeX the manual again. This time only the selected chapter(s) and the table of contents and indices will be processed, producing a shorter 'dvi' file that you can print by whatever means applies locally. you@ernie:~/gap3r4p4/doc > latex manual # many messages about undefined references, 1600 pages output you@ernie:~/gap3r4p4/doc > vi manual.tex # edit line 241 to include only 'aboutgap' you@ernie:~/gap3r4p4/doc > latex manual # pages 0-196 and 1503-1553 only output no warnings you@ernie:~/gap3r4p4/doc > ls -l manual.dvi -rw-rw-r-- 1 you 1277496 Apr 3 14:48 manual.dvi # the full manual is nearly 5MB you@ernie:~/gap3r4p4/doc > lp -d manual.dvi Thats all, finally you are done. We hope that you will enjoy using {\GAP}. If you have problems, do not hesitate to contact us.