%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%
%A  manual.tex                  GAP documentation            Martin Schoenert
%%
%A  @(#)$Id: manual.tex,v 3.40.1.4 1995/05/18 03:26:47 mschoene Rel $
%%
%Y  Copyright 1990-1992,  Lehrstuhl D fuer Mathematik,  RWTH Aachen,  Germany
%%
%%  This file contains the GAP manual.
%%
%%  To print it, you must format it with \LaTeX\ document preparation system.
%%  Ask your friendly local computer hackers how this is done on your system.
%%
%%  This file must be accompanied by the files  that  contain  the  chapters:
%%
%%      copyrigh.tex  preface.tex   aboutgap.tex  language.tex  environm.tex
%%      domain.tex    ring.tex      field.tex     group.tex     operatio.tex
%%      vecspace.tex  integer.tex   numtheor.tex  rational.tex  cyclotom.tex
%%      gaussian.tex  numfield.tex  unknown.tex   finfield.tex  polynom.tex
%%      permutat.tex  permgrp.tex   word.tex      fpgrp.tex     agwords.tex
%%      aggroup.tex   list.tex      set.tex       blister.tex   string.tex
%%      range.tex     vector.tex    rowspace.tex  matrix.tex    matring.tex
%%      matgrp.tex    grplib.tex    mapping.tex   homomorp.tex  boolean.tex
%%      record.tex    combinat.tex  tom.tex       chartabl.tex  gentable.tex
%%      characte.tex  paramaps.tex  gettable.tex  install.tex   share.tex
%%      anupq.tex     weyl.tex      sisyphos.tex
%%
%%  It should also be acommpanied  by  'manual.toc'  (the table of contents),
%%  'manual.bbl' (bibliography),  'manual.bib' (source for the bibliography),
%%  'manual.ind' (the index), and 'manual.idx' (the source for 'manual.ind').
%%  If they are missing you can  reproduce  them  again  with {\LaTeX}.  Read
%%  'install.tex' for the necessary steps.
%%
%%  Note that the file 'manual.idx' is also used by the on-screen help.
%%
%H  $Log: manual.tex,v $
%H  Revision 3.40.1.4  1995/05/18  03:26:47  mschoene
%H  added Cohomology documentation
%H
%H  Revision 3.40.1.3  1995/05/18  02:24:48  mschoene
%H  added GUAVA documentation
%H
%H  Revision 3.40.1.2  1994/08/31  12:12:58  mschoene
%H  added chapter "Algebraic Extensions"
%H
%H  Revision 3.40.1.1  1994/08/08  09:12:36  fceller
%H  changed Alice's address
%H
%H  Revision 3.40  1994/07/08  09:52:02  vfelsch
%H  updated date
%H
%H  Revision 3.39  1994/06/20  09:33:25  ahulpke
%H  chnged release number and fixed es-zett in names
%H
%H  Revision 3.38  1994/06/03  12:21:20  mschoene
%H  added chapter about special ag groups
%H
%H  Revision 3.37  1994/06/03  08:57:20  mschoene
%H  changed a few things to avoid LaTeX warnings
%H
%H  Revision 3.36  1994/05/30  14:54:56  vfelsch
%H  changed symbol Q for rationals
%H
%H  Revision 3.35  1994/05/22  12:40:16  fceller
%H  added smash package
%H
%H  Revision 3.34  1994/05/19  13:58:39  sam
%H  added 'Include' for new chapters
%H
%H  Revision 3.33  1993/11/09  00:08:10  martin
%H  updated date
%H
%H  Revision 3.32  1993/10/27  10:39:40  sam
%H  added info about 'sisyphos.tex'
%H
%H  Revision 3.31  1993/07/27  11:11:25  martin
%H  changed release number to 3
%H
%H  Revision 3.30  1993/05/28  13:56:21  gap
%H  added GRAPE
%H
%H  Revision 3.29  1993/02/18  11:57:58  felsch
%H  file names 'agword.tex' and aggrp.tex' eliminated
%H
%H  Revision 3.28  1993/02/18  11:45:23  felsch
%H  section 'table of marks' moved before character tables
%H
%H  Revision 3.27  1993/02/11  17:47:01  martin
%H  '&' can now be used to get a verbatim '#'
%H
%H  Revision 3.26  1993/02/11  10:35:06  martin
%H  changed the placing of chapter "Strings"
%H
%H  Revision 3.25  1993/01/22  19:29:11  martin
%H  added "anupq" and "tom"
%H
%H  Revision 3.24  1992/11/27  14:05:55  fceller
%H  added "weyl.tex", "share.tex", and "polynom.tex"
%H
%H  Revision 3.23  1992/04/27  11:55:51  martin
%H  replaced '\size{<set>}' with '\|<set>\|'
%H
%H  Revision 3.22  1992/04/08  11:24:29  martin
%H  added Alice to the title page
%H
%H  Revision 3.21  1992/04/05  23:55:14  martin
%H  removed the chapter about polynomials
%H
%H  Revision 3.20  1992/04/05  23:52:11  martin
%H  changed the title page
%H
%H  Revision 3.19  1992/04/02  14:12:45  martin
%H  changed the index to 'raggedright'
%H
%H  Revision 3.18  1992/04/01  13:10:58  martin
%H  added chapter "Group Libraries"
%H
%H  Revision 3.17  1992/03/31  10:33:24  martin
%H  renamed "Introduction" to "About GAP"
%H
%H  Revision 3.16  1992/03/31  08:23:43  martin
%H  added the copyright and the preface
%H
%H  Revision 3.15  1992/03/27  19:01:34  martin
%H  added a table of chapters
%H
%H  Revision 3.14  1992/03/25  15:39:08  martin
%H  changed "Functions" to "Mappings" and added "Homomorphisms"
%H
%H  Revision 3.13  1992/03/23  14:43:36  martin
%H  removed the hashing of references
%H
%H  Revision 3.12  1992/02/10  13:43:33  martin
%H  changed the names of 'agword' and 'aggrp'
%H
%H  Revision 3.11  1992/01/08  11:20:27  martin
%H  added the character table chapters
%H
%H  Revision 3.10  1991/12/27  16:07:04  martin
%H  revised everything for GAP 3.1 manual
%H
%H  Revision 3.9  1991/09/04  15:20:37  martin
%H  changed inclusion of the index to be silent about missing file
%H
%H  Revision 3.8  1991/07/29  15:21:53  martin
%H  fixed table of contents so that large section numbers will fit
%H
%H  Revision 3.7  1991/07/29  13:40:29  fceller
%H  added chapter about finite polycyclic presentations
%H
%H  Revision 3.6  1991/07/26  11:12:19  martin
%H  added provisions for the bibliography
%H
%H  Revision 3.5  1991/07/25  16:25:58  martin
%H  added hashing of references
%H
%H  Revision 3.4  1991/07/25  16:23:52  martin
%H  added some comments
%H
%H  Revision 3.3  1991/07/19  16:15:07  martin
%H  fixed '\Section' again, so that no extra vspace is added after it
%H
%H  Revision 3.2  1991/06/12  12:44:54  goetz
%H  fixed '\Section' so that a section may begin with minus
%H
%H  Revision 3.1  1991/05/21  11:59:48  fceller
%H  \accent127 in Martin's name.
%H
%H  Revision 3.0  1991/04/11  11:32:14  martin
%H  Initial revision under RCS
%H
%%
\documentstyle{book}


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%
%%  With '\includeonly{<chapters>}' you can specify that you want  only  some
%%  chapters to be printed.  If all  the  '.aux'  files  are  there, chapter-
%%  section- and page-numbers will all be correct.
%%
%\includeonly{}


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%
%%  The following commands intructs {\LaTeX} to stuff more on each  page  and
%%  to move each page towards to outer border.
%%
\topmargin 0 pt
\textheight 47\baselineskip
\advance\textheight by \topskip
\oddsidemargin  0.5 in
\evensidemargin  .25in
\textwidth 5.5in


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%
%%  The following commands instruct  {\LaTeX}  to  separate the paragraphs in
%%  this manual with a small space and to leave them unindented.
%%
\parskip 1.0ex plus 0.5ex minus 0.5ex
\parindent 0pt


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%
%%  'text'
%%
%%  'text' prints the text in  monospaced  typewriter  font  in  the  printed
%%  manual  and  is  displayed  unchanged  in  the  on-screen  documentation.
%%  It should be used for names of GAP variables and functions and other text
%%  that the user may actually enter into his computer and see on his screen.
%%  The text may contain all the usual characters  and |<name>| placeholders.
%%  |\'| can be used to enter a single  quote  character  into  the  text.
%%
\catcode`\'=13 \gdef'#1'{{\tt #1}}
\gdef\'{\char`'}


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%
%%  <text>
%%
%%  <text> prints  the text in  an italics font  in the printed manual and is
%%  displayed  unchanged in the  on-screen  documentation.  It should be used
%%  for arguments  in description of  GAP functions and   other placeholders.
%%  The  text should not contain any special characters.  |\<| can be used to
%%  enter a less than character into the text.
%%
\catcode`\<=13 \gdef<#1>{{\it #1\/}}
\gdef\<{\char`<}


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%
%%  *text*
%%
%%  *text*  prints the text  in boldface font   in the printed manual and  is
%%  displayed unchanged in the on-screen  documentation.  It  should  be used
%%  for the definition  of mathematical  keywords.   The text may contain all
%%  the usual characters.  |\*| can be used to enter a star into the text.
%%
\catcode`\*=13 \gdef*#1*{{\bf #1}}
\gdef\*{\char`*}
\gdef\^{\char`^}


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%
%%  |text|
%%
%%  |text| prints the text between the two  pipe  symbols in typewriter style
%%  obeying the   linebreaks and spaces  in  the   manual.   In the on-screen
%%  documentation it  remains unchanged, except  that the pipes are stripped.
%%  It should be used to  enter lengthy examples  into the text.  If the hash
%%  character '\#' appears in the example the text between it and  the end of
%%  the line  is set in  ordinary mode,  i.e., in  roman   font with  all the
%%  possibilities ordinary available.  |\|'\|' can be used to  enter  a  pipe
%%  symbol into the text.
%%
\catcode`\@=11

{\catcode`\ =\active\gdef\xvobeyspaces{\catcode`\ \active\let \xobeysp}}
\def\xobeysp{\leavevmode{} }

\catcode`\|=13
\gdef|{\leavevmode{}\hbox{}\begingroup
\def|{\endgroup}%
\catcode`\\=12\catcode`\{=12\catcode`\}=12\catcode`\$=12\catcode`\&=13
\catcode`\#=13\catcode`\^=12\catcode`\_=12\catcode`\ =12\catcode`\%=12
\catcode`\~=12\catcode`\'=12\catcode`\<=12\catcode`\"=12\catcode`\|=13
\catcode`\*=12\catcode`\:=12
\leftskip\@totalleftmargin\rightskip\z@
\parindent\z@\parfillskip\@flushglue\parskip\z@
\@tempswafalse\def\par{\if@tempswa\hbox{}\fi\@tempswatrue\@@par}%
\tt\obeylines\frenchspacing\xvobeyspaces\samepage}

\catcode`\@=12

{\catcode`\#=13
\gdef#{\begingroup
\catcode`\\=0 \catcode`\{=1 \catcode`\}=2 \catcode`\$=3 \catcode`\&=4
\catcode`\#=6 \catcode`\^=7 \catcode`\_=8 \catcode`\ =10\catcode`\%=14
\catcode`\~=13\catcode`\'=13\catcode`\<=13\catcode`\"=13\catcode`\|=13
\catcode`\*=13\catcode`\:=13
\catcode`\^^M=12 \Comment}}
{\catcode`\^^M=12
\gdef\Comment#1^^M{\rm \# #1 \endgroup \Newline}}
{\obeylines
\gdef\Newline{
}}

{\catcode`\&=13
\gdef&{\#}}

\gdef\|{\char`|}


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%
%%  <item>: <text>
%%
%%  This formats the  paragraph  <text>, i.e.,  everything between  the colon
%%  '\:' and the next  empty  line, indented 1 cm to the right in the printed
%%  manual and is displayed  unchanged in the  on-screen documentation.  This
%%  convention should be  used to format  a list or an enumeration.    <item>
%%  should be  a single  word  or a short phrase.  It  may contain  all usual
%%  characters and the usual formatting stuff.  <text> is a  normal paragraph
%%  and may contain everything.   \:  can be used  to enter a colon character
%%  into the text.  As  an example consider the  following description.  This
%%  will print quite similar in the printed manual.
%%
%%      A group is represented by a record that must have the components
%%
%%      'generators': \\
%%              a list of group elements that  generate  the  group  that  is
%%              given by the group record.
%%
%%      'identity': \\
%%              the identity element of the group that is given by the  group
%%              record.
%%
\catcode`\:=13
\gdef:{\hangafter=1\hangindent=1cm\hspace{1cm}{}}
\gdef\:{\char`:}


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%
%%  "reference"
%%
%%  "reference" prints the  number of the  chapter or section  in the printed
%%  manual and is  displayed unchanged  in the  on-screen  documentation.  It
%%  should be used when referring to other  chapters or  sections.   The text
%%  should  not contain any special characters.  \"  can be  used  to enter a
%%  double quote into the text.
%%
\catcode`\"=13 \gdef"#1"{\ref{#1}}

\gdef\"{\char`"}


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%
%%  \GAP
%%
%%  \GAP can be used to enter the *sans serif* GAP logo  into  the  text.  If
%%  this is followed by spaces it should be enclosed in curly  braces  as  in
%%  |{\GAP}| is wonderfull.
%%
\newcommand{\GAP}{{\sf GAP}}
\newcommand{\CAS}{{\sf CAS}}
\newcommand{\ATLAS}{{\sf ATLAS}}
\newcommand{\Z}{\mbox{$Z\!\!\! Z$}}
\newcommand{\Q}{\mbox{$Q\mskip-11mu\prime\,\,$}}


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%
%%  \Include{<filename>}
%%
%%  |\Include| instructs \LaTeX\ to include the file with the name <filename>
%%  into a document.  It works basically like |\include| except that it  also
%%  writes a comment line to the index file where the on-screen help function
%%  may use it.
%%
\catcode`\@=11 \catcode`\%=12 \catcode`\~=14
\newcommand{\Include}[1]{\write\@indexfile{% #1.tex}\include{#1}}
\catcode`\@=12 \catcode`\%=14 \catcode`\~=13


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%
%%  \Chapter{<name>}
%%  \Section{<name>}
%%
%%  |\Chapter| and |\Section| begin a  new  chapter  or  section.  They  work
%%  basically like the ordinary |\chapter| and |\section| macros except  that
%%  they also create a label for <name>   and write a  comment  line  to  the
%%  index file where the on-screen help function may use it.
%%
\catcode`\@=11 \catcode`\%=12 \catcode`\~=14

\newcommand{\Chapter}[1]{{\chapter{#1}~
\label{#1}~
\write\@indexfile{% 1}\index{#1}}}

\newcommand{\Section}[1]{{\pagebreak[3]\section{#1}~
\label{#1}~
\write\@indexfile{% 2}\index{#1}}}

\catcode`\@=12 \catcode`\%=14 \catcode`\~=13


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%
%%  tell LaTeX to prepare an index
%%
\makeindex


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%
%%  make the title page
%%
\begin{document}

\title{GAP \\
Groups, Algorithms and Programming \\
version 3 release 4}
\author{
Martin Sch{\accent127 o}nert \\
together with \\
Hans Ulrich Besche \\
Thomas Breuer \\
Frank Celler \\
Volkmar Felsch \\
Alexander Hulpke \\
J{\accent127 u}rgen Mnich \\
G{\accent127 o}tz Pfeiffer \\
Udo Polis \\
Heiko Thei\ss en \\
Lehrstuhl D f{\accent127 u}r Mathematik, RWTH Aachen \\
Alice Niemeyer \\
Department of Mathematics, University of Western Australia }
\date{10. Jul. 1994}

\maketitle


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%
%%  include the copyright notice
%%
\include{copyrigh}


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%
%%  include the preface
%%
\include{preface}


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%
%%  make the table of chapters and the table of contents
%%
%%  To make the table of chapters we read the  table  of  contents  file  and
%%  make sure that section lines are ignored.  We also must  make  sure  that
%%  table  of contents  file is  not cleared, because  we want  to read  it a
%%  second time for the full table of contents.
%%
%%  In the full table of contents we have to make a little more room for  the
%%  section numbers, because we have so many sections in some chapters.
%%
\newcommand{\ignoretwoarguments}[2]{}
\catcode`\@=11
\def\l@section{\ignoretwoarguments}
\catcode`\@12

\catcode`\@=11
\@fileswfalse
\catcode`\@=12
\tableofcontents
\catcode`\@=11
\@fileswtrue
\catcode`\@=12

\catcode`\@=11
\def\@pnumwidth{2em}
\def\l@section{\@dottedtocline{1}{1.5em}{4em}}
\catcode`\@=12

\tableofcontents


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%
%%  and now the chapters
%%
\Include{aboutgap}

\Include{language}
\Include{environm}

\Include{domain}
\Include{ring}
\Include{field}
\Include{group}
\Include{operatio}
\Include{vecspace}

\Include{integer}
\Include{numtheor}
\Include{rational}
\Include{cyclotom}
\Include{gaussian}
\Include{numfield}
\Include{algext}
\Include{unknown}
\Include{finfield}
\Include{polynom}

\Include{permutat}
\Include{permgrp}
\Include{word}
\Include{fpgrp}
\Include{agwords}
\Include{aggroup}
\Include{saggroup}

\Include{list}
\Include{set}
\Include{blister}
\Include{string}
\Include{range}

\Include{vector}
\Include{rowspace}
\Include{matrix}
\Include{matring}
\Include{matgrp}

\Include{grplib}

\Include{algebra}
\Include{algfp}
\Include{algmat}
\Include{module}

\Include{mapping}
\Include{homomorp}

\Include{boolean}
\Include{record}

\Include{combinat}

\Include{tom}
\Include{chartabl}
\Include{gentable}
\Include{characte}
\Include{paramaps}
\Include{gettable}
\Include{classfun}
\Include{monomial}

\Include{install}

\Include{share}
\Include{anupq}
\Include{cohomolo}
\Include{grape}
\Include{guava}
\Include{mtx}
\Include{sisyphos}
\Include{smash}
\Include{ve}
\Include{weyl}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%
%%  and the bibliography
%%
\begin{sloppypar}
\bibliographystyle{alpha}
\newcommand{\ignore}[1]{}
\catcode`\'=12 \catcode`\<=12 \catcode`\*=12
\catcode`\|=12 \catcode`\:=12 \catcode`\"=12
\bibliography{manual}
\end{sloppypar}


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%
%%  finally include the index
%%
\begin{sloppypar}
\raggedright
\begin{theindex}
\catcode`\@=11
\@input{\jobname.ind}
\catcode`\@=12
\end{theindex}
\end{sloppypar}

\end{document}



