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

Views: 418346
1
<Chapter Label="Changes from Earlier Versions">
2
<Heading>Changes from Earlier Versions</Heading>
3
4
<!-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -->
5
<Section Label="ChangesGAP43toGAP44">
6
<Heading>Changes between &GAP; 4.3 and &GAP; 4.4</Heading>
7
8
The main changes between &GAP; 4.3 and &GAP; 4.4 are:
9
10
<!-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -->
11
<Subsection Label="Potentially Incompatible Changes">
12
<Heading>Potentially Incompatible Changes</Heading>
13
14
<List>
15
<Item>
16
The mechanism for the loading of Packages has changed to allow easier
17
updates independent of main &GAP; releases. Packages require a
18
file <F>PackageInfo.g</F> now. The new <F>PackageInfo.g</F> files are
19
available for all packages with the new version of GAP
20
(see <Ref BookName="Example" Label="PackageInfo.g"/>).
21
</Item>
22
<Item>
23
<Ref Oper="IsSimpleGroup" BookName="ref"/> returns false now for the trivial group.
24
</Item>
25
<Item>
26
<Ref Oper="PrimeBlocks" BookName="ref"/>: The output format has changed.
27
</Item>
28
<Item>
29
Division rings (see <Ref Filt="IsDivisionRing" BookName="ref"/>)
30
are now implemented as <Ref Filt="IsRingWithOne" BookName="ref"/>.
31
</Item>
32
<Item>
33
<Ref Oper="DirectSumOfAlgebras" Label="for two algebras" BookName="ref"/>:
34
<M>p</M>-th power maps are compatible with the input now.
35
</Item>
36
<Item>
37
The print order for polynomials has been changed.
38
</Item>
39
</List>
40
These changes are, in some respects, departures from our policy of
41
maintaining upward compatibility of documented functions between
42
releases. In the first case, we felt that the old behavior was
43
sufficiently inconsistent, illogical, and impossible to document that
44
we had no alternative but to change it. In the case of the package
45
interface, the change
46
was necessary to introduce new functionality. The planned and phased
47
removal of a few unnecessary functions or synonyms is needed to avoid
48
becoming buried in <Q>legacy</Q> interfaces, but we remain committed to
49
our policy of maintaining upward compatibility whenever sensibly possible.
50
<P/>
51
52
<List>
53
<Item>
54
Groebner Bases:
55
<P/>
56
Buchberger's algorithm to compute Groebner Bases has been implemented
57
in GAP. (A. Hulpke)
58
</Item>
59
<Item>
60
For large scale Groebner Basis computations there also is an interface
61
to the Singular system available in the
62
<URL>
63
<Link>https://www.gap-system.org/Packages/singular.html</Link>
64
<LinkText><Package>Singular</Package></LinkText>
65
</URL>
66
package. (M. Costantini and W. de Graaf)
67
</Item>
68
<Item>
69
New methods for factorizing polynomials over algebraic extensions of
70
the rationals have been implemented in GAP. (A. Hulpke)
71
</Item>
72
<Item>
73
For more functionality to compute with algebraic number fields there
74
is an interface to the Kant system available in the
75
<URL>
76
<Link>https://www.gap-system.org/Packages/alnuth.html</Link>
77
<LinkText><Package>Alnuth</Package></LinkText>
78
</URL>
79
package. (B. Assmann and B. Eick)
80
</Item>
81
<Item>
82
A new functionality to compute the minimal normal subgroups
83
of a finite group, as well as its socle, has been installed.
84
(B. Höfling)
85
</Item>
86
<Item>
87
A fast method for recognizing whether a permutation group is symmetric
88
or alternating is available now (A. Seress)
89
</Item>
90
<Item>
91
A method for computing the Galois group of a rational polynomial is
92
available again. (A. Hulpke)
93
</Item>
94
<Item>
95
The algorithm for <Ref Attr="BrauerCharacterValue" BookName="ref"/>
96
has been extended to the case where the splitting field is not
97
supported in &GAP;. (T. Breuer)
98
</Item>
99
<Item>
100
Brauer tables of direct products can now be constructed from the
101
known Brauer tables of the direct factors. (T. Breuer)
102
</Item>
103
<Item>
104
Basic support for vector spaces of rational functions and of uea
105
elements is available now in &GAP;. (T. Breuer and W. de Graaf)
106
</Item>
107
<Item>
108
Various new functions for computations with integer matrices are
109
available, such as methods for computing normal forms of integer
110
matrices as well as nullspaces or solutions systems of equations.
111
(W. Nickel and F. Gähler)
112
</Item>
113
</List>
114
115
</Subsection>
116
117
118
<!-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -->
119
<Subsection Label="New Packages">
120
<Heading>New Packages</Heading>
121
122
The following new Packages have been accepted.
123
<P/>
124
<List>
125
<Item>
126
<URL>
127
<Link>https://www.gap-system.org/Packages/alnuth.html</Link>
128
<LinkText>
129
<Package>Alnuth</Package>: Algebraic Number Theory and an interface to the Kant system.
130
</LinkText>
131
</URL>
132
By B. Assmann and B. Eick.
133
</Item>
134
<Item>
135
<URL>
136
<Link>https://www.gap-system.org/Packages/laguna.html</Link>
137
<LinkText>
138
<Package>LAGUNA</Package>: Computing with Lie Algebras and Units of Group Algebras.
139
</LinkText>
140
</URL>
141
By V. Bovdi, A. Konovalov, R. Rossmanith, C. Schneider.
142
</Item>
143
<Item>
144
<URL>
145
<Link>https://www.gap-system.org/Packages/nq.html</Link>
146
<LinkText>
147
<Package>NQ</Package>: The ANU Nilpotent Quotient Algorithm.
148
</LinkText>
149
</URL>
150
By W. Nickel.
151
</Item>
152
<Item>
153
<URL>
154
<Link>https://www.gap-system.org/Packages/kbmag.html</Link>
155
<LinkText>
156
<Package>KBMAG</Package>: Knuth-Bendix for Monoids and Groups.
157
</LinkText>
158
</URL>
159
By D. Holt.
160
</Item>
161
<Item>
162
<URL>
163
<Link>https://www.gap-system.org/Packages/polycyclic.html</Link>
164
<LinkText>
165
<Package>Polycyclic</Package>: Computation with polycyclic groups.
166
</LinkText>
167
</URL>
168
By B. Eick and W. Nickel.
169
</Item>
170
<Item>
171
<URL>
172
<Link>https://www.gap-system.org/Packages/quagroup.html</Link>
173
<LinkText>
174
<Package>QuaGroup</Package>: Computing with Quantized Enveloping Algebras.
175
</LinkText>
176
</URL>
177
By W. de Graaf.
178
</Item>
179
</List>
180
181
</Subsection>
182
183
184
<!-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -->
185
<Subsection Label="Performance Enhancements">
186
<Heading>Performance Enhancements</Heading>
187
188
<List>
189
<Item>
190
The computation of irreducible representations and irreducible
191
characters using the Baum-Clausen algorithm and the implementation of
192
the Dixon-Schneider algorithm have been speeded up.
193
</Item>
194
<Item>
195
The algorithm for <Ref Oper="PossibleClassFusions" BookName="ref"/>
196
has been changed: the efficiency is improved and a new criterion is used.
197
The algorithm for <Ref Oper="PossibleFusionsCharTableTom" BookName="ref"/>
198
has been speeded up. The method for <Ref Oper="PrimeBlocks" BookName="ref"/>
199
has been improved following a suggestion of H. Pahlings.
200
</Item>
201
<Item>
202
New improved methods for normalizer and subgroup conjugation in <M>S_n</M>
203
have been installed and new improved methods for
204
<Ref Filt="IsNaturalSymmetricGroup" BookName="ref"/> and
205
<Ref Filt="IsNaturalAlternatingGroup" BookName="ref"/> have been
206
implemented. These improve the available methods when groups of large
207
degrees are given.
208
</Item>
209
<Item>
210
The partition split method used in the permutation backtrack is now
211
in the kernel. Transversal computations in large permutation groups
212
are improved. Homomorphisms from free groups into permutation groups
213
now give substantially shorter words for preimages.
214
</Item>
215
<Item>
216
The membership test in
217
<Ref Func="SP" Label="for dimension and field size" BookName="ref"/>
218
and <Ref Func="SU" BookName="ref"/> groups has been improved using
219
the invariant forms underlying these groups.
220
</Item>
221
<Item>
222
An improvement for the cyclic extension method for the computation of
223
subgroup lattices has been implemented.
224
</Item>
225
<Item>
226
A better method for <Ref Oper="MinimalPolynomial" BookName="ref"/> for
227
finite field matrices has been implemented.
228
</Item>
229
<Item>
230
The display has changed and the arithmetic of multivariate polynomials
231
has been improved.
232
</Item>
233
<Item>
234
The <Ref Func="LogMod" BookName="ref"/> function now uses Pollard's rho method
235
combined with the Pohlig/Hellmann approach.
236
</Item>
237
<Item>
238
Various functions for sets and lists have been improved following
239
suggestions of L. Teirlinck. These include: <Ref Oper="Sort" BookName="ref"/>,
240
<Ref Oper="Sortex" BookName="ref"/>, <Ref Oper="SortParallel" BookName="ref"/>,
241
<Ref Attr="SortingPerm" BookName="ref"/>, <Ref Func="NrArrangements" BookName="ref"/>.
242
</Item>
243
<Item>
244
The methods for <Ref Attr="StructureConstantsTable" BookName="ref"/> and
245
<Ref Func="GapInputSCTable" BookName="ref"/> have been improved in the case of a
246
known (anti-) symmetry following a suggestion of M. Costantini.
247
</Item>
248
</List>
249
<P/>
250
The improvements listed in this Section have been implemented by T. Breuer
251
and A. Hulpke.
252
253
</Subsection>
254
255
256
<!-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -->
257
<Subsection Label="New Programming and User Features">
258
<Heading>New Programming and User Features</Heading>
259
260
<List>
261
<Item>
262
The 2GB limit for workspace size has been removed and version numbers for
263
saved workspaces have been introduced. (S. Linton and B. Höfling)
264
</Item>
265
<Item>
266
The limit on the total number of types created in a session
267
has been removed. (S. Linton)
268
</Item>
269
<Item>
270
There is a new mechanism for loading packages available.
271
Packages need a file <F>PackageInfo.g</F> now. (T. Breuer and
272
F. Lübeck; see <Ref BookName="Example" Label="PackageInfo.g"/>).
273
</Item>
274
</List>
275
<P/>
276
Finally, as always, a number of bugs have been fixed. This release thus
277
incorporates the contents of all the bug fixes which were released for
278
&GAP; 4.3. It also fixes a number of bugs discovered since the last bug fix.
279
280
</Subsection>
281
282
</Section>
283
284
285
<!-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -->
286
<Section Label="Earlier Changes">
287
<Heading>Earlier Changes</Heading>
288
289
The most important changes between &GAP; 4.2 and &GAP; 4.3 were:
290
<P/>
291
<List>
292
<Item>
293
The performance of several routines has been substantially improved.
294
</Item>
295
<Item>
296
The functionality in the areas of finitely presented groups, Schur covers
297
and the calculation of representations has been extended.
298
</Item>
299
<Item>
300
The data libraries of transitive groups, finite integral matrix groups,
301
character tables and tables of marks have been extended.
302
</Item>
303
<Item>
304
The Windows installation has been simplified for the case where you
305
are installing &GAP; in its standard location.
306
</Item>
307
<Item>
308
Many bugs have been fixed.
309
<P/>
310
</Item>
311
</List>
312
<P/>
313
314
The most important changes between &GAP; 4.1 and &GAP; 4.2 were:
315
<P/>
316
<List>
317
<Item>
318
A much extended and improved library of small groups as well as
319
associated <Ref Attr="IdGroup" BookName="ref"/> routines.
320
</Item>
321
<Item>
322
The primitive groups library has been made more independent of the
323
rest of &GAP;, some errors were corrected.
324
</Item>
325
<Item>
326
New (and often much faster) infrastructure for orbit computation, based on a
327
general <Q>dictionary</Q> abstraction.
328
</Item>
329
<Item>
330
New functionality for dealing with representations of algebras, and
331
in particular for semisimple Lie algebras.
332
</Item>
333
<Item>
334
New functionality for binary relations on arbitrary sets, magmas and
335
semigroups.
336
</Item>
337
<Item>
338
Bidirectional streams, allowing an external process to be started and then
339
controlled <Q>interactively</Q> by &GAP;
340
</Item>
341
<Item>
342
A prototype implementation of algorithms using general subgroup chains.
343
</Item>
344
<Item>
345
Changes in the behavior of vectors over small finite fields.
346
</Item>
347
<Item>
348
A fifth book <Q>New features for Developers</Q> has been added to the &GAP; manual.
349
</Item>
350
<Item>
351
Numerous bug fixes and performance improvements
352
</Item>
353
</List>
354
355
<P/>
356
The changes between the final release of &GAP; 3 (version 3.4.4) and
357
&GAP; 4 are wide-ranging. The general philosophy of the
358
changes is two-fold. Firstly, many assumptions in the design of
359
&GAP; 3 revealed its authors' primary interest in group theory, and
360
indeed in finite group theory. Although much of the &GAP; 4 library
361
is concerned with groups, the basic design now allows extension to
362
other algebraic structures, as witnessed by the inclusion of
363
substantial bodies of algorithms for computation with semigroups and
364
Lie algebras. Secondly, as the scale of the system, and the number of
365
people using and contributing to it has grown, some aspects of the
366
underlying system have proved to be restricting, and these have been
367
improved as part of comprehensive re-engineering of the system. This
368
has included the new method selection system, which underpins the
369
library, and a new, much more flexible, &GAP; package interface.
370
<P/>
371
Details of these changes can be found in the document
372
<Q>Migrating to GAP 4</Q> available at the &GAP; website,
373
see <URL>https://www.gap-system.org/Gap3/migratedoc.pdf</URL>.
374
<P/>
375
It is perhaps worth mentioning a few points here.
376
<P/>
377
Firstly, much remains unchanged, from the perspective of the mathematical
378
user:
379
<P/>
380
<List>
381
<Item>
382
The syntax of that part of the &GAP; language that most users need
383
for investigating mathematical problems.
384
<P/>
385
386
</Item>
387
<Item>
388
The great majority of function names.
389
<P/>
390
391
</Item>
392
<Item>
393
Data libraries and the access to them.
394
</Item>
395
</List>
396
<P/>
397
A number of visible aspects have changed:
398
<P/>
399
<List>
400
<Item>
401
Some function names that need finer specifications now that there are
402
more structures available in &GAP;.
403
</Item>
404
<Item>
405
The access to information already obtained about a mathematical
406
structure. In &GAP;&nbsp;3 such information about a group could be looked
407
up by directly inspecting the group record, whereas in &GAP;&nbsp;4
408
functions must be used to access such information.
409
</Item>
410
</List>
411
<P/>
412
Behind the scenes, much has changed:
413
<P/>
414
<List>
415
<Item>
416
A new kernel, with improvements in memory management and in
417
the language interpreter, as well as new features such as saving of
418
workspaces and the possibility of compilation of &GAP; code into C.
419
</Item>
420
<Item>
421
A new structure to the library, based upon a new type and
422
method selection system, which is able to support a broader range of
423
algebraic computation and to make the structure of the library simpler
424
and more modular.
425
</Item>
426
<Item>
427
New and faster algorithms in many mathematical areas.
428
</Item>
429
<Item>
430
Data structures and algorithms for new mathematical objects, such as
431
algebras and semigroups.
432
</Item>
433
<Item>
434
A new and more flexible structure for the &GAP; installation
435
and documentation, which means, for example, that a &GAP; package and
436
its documentation can be installed and be fully usable without any changes
437
to the &GAP; system.
438
</Item>
439
</List>
440
<P/>
441
Very few features of &GAP;&nbsp;3 are not yet available in &GAP;&nbsp;4.
442
<P/>
443
<List>
444
<Item>
445
Not all of the &GAP;&nbsp;3 packages have yet been converted
446
for use with &GAP;&nbsp;4.
447
</Item>
448
<Item>
449
The library of crystallographic groups which was present in
450
&GAP;&nbsp;3 is now part of a &GAP;&nbsp;4 package
451
<URL>
452
<Link>https://www.gap-system.org/Packages/crystcat.html</Link>
453
<LinkText>
454
<Package>CrystCat</Package>
455
</LinkText>
456
</URL>
457
by V. Felsch and F. Gähler.
458
</Item>
459
</List>
460
461
</Section>
462
463
</Chapter>
464
465
466
<!-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -->
467
<!-- %% -->
468
<!-- %E -->
469
470
471