CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutSign UpSign In

Real-time collaboration for Jupyter Notebooks, Linux Terminals, LaTeX, VS Code, R IDE, and more,
all in one place.

| Download

GAP 4.8.9 installation with standard packages -- copy to your CoCalc project to get it

Path: gap4r8 / doc / ref / chap1.txt
Views: 418346
1
2
1 Preface
3
4
Welcome to GAP. This is one of three manuals documenting the core part of
5
GAP, the other being the GAP Tutorial . and the document called GAP -
6
Changes from Earlier Versions .
7
8
This preface serves not only to introduce The GAP Reference Manual, but also
9
as an introduction to the whole system.
10
11
GAP stands for Groups, Algorithms and Programming. The name was chosen to
12
reflect the aim of the system, which is introduced in this reference manual.
13
Since that choice, the system has become somewhat broader, and you will also
14
find information about algorithms and programming for other algebraic
15
structures, such as semigroups and algebras.
16
17
This manual, the GAP reference manual contains the official definitions of
18
GAP functions. It should contain all the information needed to use GAP, and
19
is not intended to be read cover-to-cover.
20
21
To get started a new user may first look at parts of the GAP Tutorial .
22
23
A lot of the functionality of the system and a number of contributed
24
extensions are provided as GAP packages which are developed independently of
25
the core part of GAP and can be loaded into a GAP session. Each package
26
comes with a its own manual which is also available through the GAP help
27
system.
28
29
This manual is divided into chapters, sections and subsections. Chapter 2
30
describes the help system, which provides access to all the manuals from a
31
running GAP session. Chapter 3 gives technical advice for running GAP.
32
Chapter 4 introduces the GAP language, and the next chapters deal with the
33
environment provided by GAP for the user. These are followed by the main
34
bulk of chapters which are devoted to the various mathematical structures
35
that GAP can handle.
36
37
Subsequent sections of this preface explain the structure of the system and
38
provide copyright and licensing information.
39
40
41
1.1 The GAP System
42
43
GAP is a free, open and extensible software package for computation in
44
discrete abstract algebra. The terms free and open describe the conditions
45
under which the system is distributed -- in brief, it is free of charge
46
(except possibly for the immediate costs of delivering it to you), you are
47
free to pass it on within certain limits, and all of the workings of the
48
system are open for you to examine and change. Details of these conditions
49
can be found in Section 'Reference: Copyright and License'.
50
51
The system is extensible in that you can write your own programs in the GAP
52
language, and use them in just the same way as the programs which form part
53
of the system (the library). Indeed, we actively support the contribution,
54
refereeing and distribution of extensions to the system, in the form of GAP
55
packages. Further details of this can be found in chapter 'Reference: Using
56
GAP Packages', and on our website.
57
58
Development of GAP began at Lehrstuhl D für Mathematik, RWTH-Aachen, under
59
the leadership of Joachim Neubüser in 1985. Version 2.4 was released in 1988
60
and version 3.1 in 1992. In 1997 coordination of GAP development, now very
61
much an international effort, was transferred to St Andrews. A complete
62
internal redesign and almost complete rewrite of the system was completed
63
over the following years and version 4.1 was released in July 1999. A sign
64
of the further internationalization of the project was the GAP 4.4 release
65
in 2004, which has been coordinated from Colorado State University, Fort
66
Collins.
67
68
More information on the motivation and development of GAP to date, can be
69
found on our Web pages in a section entitled Release history and Prefaces.
70
71
For those readers who have used an earlier version of GAP, an overview of
72
the changes from GAP 4.4 and a brief summary of changes from earlier
73
versions is given in a separate manual 'Changes: Changes between GAP 4.4 and
74
GAP 4.5'.
75
76
The system that you are getting now consists of a core system and a number
77
of packages. The core system consists of four main parts.
78
79
1 A kernel, written in C, which provides the user with
80
81
 automatic dynamic storage management, which the user needn't
82
bother about in his programming;
83
84
 a set of time-critical basic functions, e.g. arithmetic,
85
operations for integers, finite fields, permutations and words,
86
as well as natural operations for lists and records;
87
88
 an interpreter for the GAP language, an untyped imperative
89
programming language with functions as first class objects and
90
some extra built-in data types such as permutations and finite
91
field elements. The language supports a form of object-oriented
92
programming, similar to that supported by languages like C++ and
93
Java but with some important differences.
94
95
 a small set of system functions allowing the GAP programmer to
96
handle files and execute external programs in a uniform way,
97
regardless of the particular operating system in use.
98
99
 a set of programming tools for testing, debugging, and timing
100
algorithms.
101
102
 a read-eval-view style user interface.
103
104
2 A much larger library of GAP functions that implement algebraic and
105
other algorithms. Since this is written entirely in the GAP language,
106
the GAP language is both the main implementation language and the user
107
language of the system. Therefore the user can as easily as the
108
original programmers investigate and vary algorithms of the library
109
and add new ones to it, first for own use and eventually for the
110
benefit of all GAP users.
111
112
3 A library of group theoretical data which contains various libraries
113
of groups, including the library of small groups (containing all
114
groups of order at most 2000, except those of order 1024) and others.
115
Large libraries of ordinary and Brauer character tables and Tables of
116
Marks are included as packages.
117
118
4 The documentation. This is available as on-line help, as printable
119
files in PDF format and as HTML for viewing with a Web browser.
120
121
Also included with the core system are some test files and a few small
122
utilities which we hope you will find useful.
123
124
GAP packages are self-contained extensions to the core system. A package
125
contains GAP code and its own documentation and may also contain data files
126
or external programs to which the GAP code provides an interface. These
127
packages may be loaded into GAP using the LoadPackage (Reference:
128
LoadPackage) command, and both the package and its documentation are then
129
available just as if they were parts of the core system. Some packages may
130
be loaded automatically, when GAP is started, if they are present. Some
131
packages, because they depend on external programs, may only be available on
132
the operating systems where those programs are available (usually UNIX). You
133
should note that, while the packages included with this release are the most
134
recent versions ready for release at this time, new packages and new
135
versions may be released at any time and can be easily installed in your
136
copy of GAP.
137
138
With GAP there are two packages (the library of ordinary and Brauer
139
character tables, and the library of tables of marks) which contain
140
functionality developed from parts of the GAP core system. These have been
141
moved into packages for ease of maintenance and to allow new versions to be
142
released independently of new releases of the core system. The library of
143
small groups should also be regarded as a package, although it does not
144
currently use the standard package mechanism. Other packages contain
145
functionality which has never been part of the core system, and may extend
146
it substantially, implementing specific algorithms to enhance its
147
capabilities, providing data libraries, interfaces to other computer algebra
148
systems and data sources such as the electronic version of the Atlas of
149
Finite Group Representations; therefore, installation and usage of packages
150
is recommended.
151
152
Further details about GAP packages can be found in chapter 'Reference: Using
153
GAP Packages', and on the GAP website here:
154
https://www.gap-system.org/Packages/packages.html.
155
156
157
1.2 Authors and Maintainers
158
159
GAP is the work of very many people, many of whom still maintain parts of
160
the system. A complete list of authors, and an approximation to the current
161
list of maintainers can be found on the GAP World Wide Web site at
162
https://www.gap-system.org/Contacts/People/authors.html and
163
https://www.gap-system.org/Contacts/People/modules.html. All GAP packages
164
have their own authors and maintainers. It should however be noted that some
165
packages provide interfaces between GAP and an external program, a copy of
166
which is included for convenience, and that, in these cases, we do not claim
167
that the package authors or maintainers wrote, or maintain, this external
168
program. Similarly, the system and some packages include large data
169
libraries that may have been computed by many people. We try to make clear
170
in each case what credit is attributable to whom.
171
172
We have, for some time, operated a refereeing system for contributed
173
packages, both to ensure the quality of the software we distribute, and to
174
provide recognition for the authors. We now consider this to be a refereeing
175
system for modules, and we would note, in particular that, although it does
176
not use the standard package interface, the library of small groups has been
177
refereed and accepted on exactly the same basis as the accepted packages.
178
179
We also include with this distribution a number of packages which have not
180
(yet) gone through our refereeing process. Some may be accepted in the
181
future, in other cases the authors have chosen not to submit them. More
182
information can be found on our World Wide Web site (see Section 1.5).
183
184
185
1.3 Acknowledgements
186
187
Very many people have worked on, and contributed to, GAP over the years
188
since its inception. On our Web site you will find the prefaces to the
189
previous releases, each of which acknowledges people who have made special
190
contributions to that release. Even so, it is appropriate to mention here
191
Joachim Neubüser whose vision of a free, open and extensible system for
192
computational algebra inspired GAP in the first place, and Martin Schönert,
193
who was the technical architect of GAP 3 and GAP 4.
194
195
196
1.4 Copyright and License
197
198
Copyright © (1987-2018) by the GAP Group,
199
200
incorporating the Copyright © 1999, 2000 by School of Mathematical and
201
Computational Sciences, University of St Andrews, North Haugh, St Andrews,
202
Fife KY16 9SS, Scotland
203
204
being the Copyright © 1992 by Lehrstuhl D für Mathematik, RWTH, 52056
205
Aachen, Germany, transferred to St Andrews on July 21st, 1997.
206
207
except for files in the distribution, which have an explicit different
208
copyright statement. In particular, the copyright of packages distributed
209
with GAP is usually with the package authors or their institutions.
210
211
GAP is free software; you can redistribute it and/or modify it under the
212
terms of the GNU General Public License as published by the Free Software
213
Foundation; either version 2 of the License, or (at your option) any later
214
version. For details, see the file GPL in the etc directory of the GAP
215
distribution or see http://www.gnu.org/licenses/gpl.html.
216
217
If you obtain GAP please send us a short notice to that effect, e.g., an
218
e-mail message to the address mailto:[email protected]. This helps us
219
to keep track of the number of GAP users.
220
221
If you publish a mathematical result that was partly obtained using GAP,
222
please cite GAP, just as you would cite another paper that you used (see
223
below for sample citation). Also we would appreciate if you could inform us
224
about such a paper, which we will add to the GAP bibliography
225
(https://www.gap-system.org/Doc/Bib/bib.html).
226
227
Specifically, please refer to
228
229

230
[GAP] The GAP Group, GAP - Groups, Algorithms, and Programming,
231
 Version 4.8.10; 2018 (https://www.gap-system.org)
232

233
234
You are permitted to modify and redistribute GAP, but you are not allowed to
235
restrict further redistribution. That is to say proprietary modifications
236
will not be allowed. We want all versions of GAP to remain free.
237
238
If you modify any part of GAP and redistribute it, you must supply a README
239
document. This should specify what modifications you made in which files. We
240
do not want to take credit or be blamed for your modifications.
241
242
Of course we are interested in all of your modifications. In particular we
243
would like to see bug-fixes, improvements and new functions. So again we
244
would appreciate it if you would inform us about all modifications you make.
245
246
In addition to the general copyright for GAP set forth above, the following
247
terms apply to the versions of GAP for Windows.
248
249
The executable of GAP for Windows that we distribute was compiled with the
250
gcc compiler supplied with Cygwin installation (http://cygwin.com/).
251
252
The GNU C compiler is
253
254
Copyright © 2010 Free Software Foundation, Inc.
255
256
under the terms of the GNU General Public License (GPL).
257
258
The Cygwin API library is also covered by the GNU GPL. The executable we
259
provide is linked against this library (and in the process includes GPL'd
260
Cygwin glue code). This means that the executable falls under the GPL too,
261
which it does anyhow.
262
263
The cyggcc_s-1.dll, cygncurses-10.dll, cygncursesw-10.dll, cygpanel-10.dll,
264
cygpopt-0.dll, cygreadline7.dll, cygstart.exe, cygwin1.dll, libW11.dll,
265
mintty.exe, rxvt.exe and regtool.exe are taken unmodified from the Cygwin
266
distribution. They are copyright by RedHat Software and released under the
267
GPL. For more information on Cygwin, see http://www.cygwin.com.
268
269
Please contact mailto:[email protected] if you need further
270
information.
271
272
273
1.5 Further Information about GAP
274
275
Information about GAP is best obtained from the GAP website
276
277
https://www.gap-system.org
278
279
There you will find, amongst other things
280
281
 directions to the sites from which you can download the current GAP
282
distribution, all accepted and deposited GAP packages, and a selection
283
of other contributions.
284
285
 the GAP manual and an archive of the gap-forum mailing list, formatted
286
for reading with a Web browser, and indexed for searching.
287
288
 information about GAP developers, and about the email addresses
289
available for comment, discussion and support.
290
291
We would particularly ask you to note the following things:
292
293
 The GAP Forum – an email discussion forum for comments, discussions or
294
questions about GAP. You must subscribe to the list before you can
295
post to it, see the website for details. In particular we will
296
announce new releases in this mailing list.
297
298
 The email address mailto:[email protected] to which you are asked
299
to send any questions or bug reports which do not seem likely to be of
300
interest to the whole GAP Forum. Please give a (short, if possible)
301
self-contained excerpt of a GAP session containing both input and
302
output that illustrates your problem (including comments of why you
303
think it is a bug) and state the type of the machine, operating
304
system, (compiler used, if UNIX/Linux) and the version of GAP you are
305
using (the first line after the GAP 4 banner starting GAP, Version
306
4...).
307
308
 We also ask you to send a brief message to
309
mailto:[email protected] when you install GAP.
310
311
 The correct form of citation of GAP, which we ask you use whenever you
312
publish scientific results obtained using GAP.
313
314
It finally remains for us to wish you all pleasure and success in using GAP,
315
and to invite your constructive comment and criticism.
316
317
The GAP Group,
318
319
15-Jan-2018
320
321
322