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="ChangesGAP45toGAP46">
2
<Heading>Changes between &GAP; 4.5 and &GAP; 4.6</Heading>
3
4
This chapter lists most important changes between
5
&GAP; 4.5.7 and &GAP; 4.6.2
6
(i.e. between the last release of &GAP; 4.5
7
and the first public release of &GAP; 4.6).
8
It also contains information
9
about subsequent update releases for &GAP; 4.6.
10
11
<Section Label="fix462">
12
<Heading>&GAP; 4.6.2 (February 2013)</Heading>
13
14
<Subsection Label="Changes in the core GAP46 system">
15
<Heading>Changes in the core &GAP; system introduced in &GAP; 4.6</Heading>
16
17
Improved and extended functionality:
18
<List>
19
<Item>
20
It is now possible to declare a name as an operation with
21
two or more arguments (possibly several times) and <E>THEN</E> declare
22
it as an attribute. Previously this was only possible in
23
the other order. This should make the system more independent of
24
the order in which packages are loaded.
25
</Item>
26
<Item>
27
Words in fp groups are now printed in factorised form if possible and not
28
too time-consuming, i.e. <C>a*b*a*b*a*b</C> will be printed as <C>(a*b)^3</C>.
29
</Item>
30
<Item>
31
Added methods to calculate Hall subgroups in nonsolvable groups.
32
</Item>
33
<Item>
34
Added a generic method for <Ref Prop="IsPSolvable" BookName="ref"/> and
35
a better generic method for <Ref Prop="IsPNilpotent" BookName="ref"/> for
36
groups.
37
</Item>
38
<Item>
39
Improvements to action homomorphisms: image of an element can use existing
40
stabiliser chain of the image group (to reduce the number of images to
41
compute), preimages under linear/projective action homomorphisms use
42
linear algebra to avoid factorisation.
43
</Item>
44
<Item>
45
To improve efficiency, additional code was added to make sure that the
46
<C>HomePcgs</C> of a permutation group is in <C>IsPcgsPermGroupRep</C>
47
representation in more cases.
48
</Item>
49
<Item>
50
Added an operation <Ref Oper="SortBy" BookName="ref"/> with arguments being
51
a function <A>f</A> of one argument and a list <A>l</A> to be sorted in
52
such a way that <C><A>l</A>(<A>f</A>[i]) &lt;= <A>l</A>(<A>f</A>[i+1])</C>.
53
</Item>
54
<Item>
55
Added a kernel function <C>MEET_BLIST</C> which returns <K>true</K> if the
56
two boolean lists have <K>true</K> in any common position and <K>false</K>
57
otherwise. This is useful for representing subsets of a fixed set by boolean
58
lists.
59
</Item>
60
<Item>
61
When assigning to a position in a compressed FFE vector &GAP; now checks to
62
see if the value being assigned can be converted into an internal FFE
63
element if it isn't one already. This uses new attribute
64
<Ref Oper="AsInternalFFE" BookName="ref"/>, for which
65
methods are installed for internal FFEs, Conway FFEs and ZmodpZ objects.
66
</Item>
67
<Item>
68
Replaced <Ref Oper="ViewObj" BookName="ref"/> method for fields by
69
<Ref Oper="ViewString" BookName="ref"/> method to improve the way
70
how polynomial rings over algebraic extenstions of fields are displayed.
71
</Item>
72
<Item>
73
Made the info string (optional 2nd argument to
74
<Ref Func="InstallImmediateMethod" BookName="ref"/>)
75
behave similarly to the info string in
76
<Ref Func="InstallMethod" BookName="ref"/>.
77
In particular, <Ref Func="TraceImmediateMethods" BookName="ref"/>
78
now always prints the name of the operation.
79
</Item>
80
<Item>
81
Syntax errors such as <C>Unbind(x,1)</C> had the unhelpful
82
property that <C>x</C> got unbound before the syntax error
83
was reported. A specific check was added to catch this and
84
similar cases a little earlier.
85
</Item>
86
<Item>
87
Allow a <C>GAPARGS</C> parameter to the top-level &GAP; <F>Makefile</F> to pass
88
extra arguments to the &GAP; used for manual building.
89
</Item>
90
<Item>
91
Added an attribute <Ref Attr="UnderlyingRingElement" BookName="ref"/> for Lie objects.
92
</Item>
93
<Item>
94
The function <Ref Attr="PrimeDivisors" BookName="ref"/> now became an attribute.
95
[suggested by Mohamed Barakat]
96
</Item>
97
<Item>
98
Added an operation <Ref Oper="DistancePerms" BookName="ref"/> with a kernel method for
99
internal permutations and a generic method.
100
</Item>
101
<Item>
102
Added a method for <Ref Oper="Subfields" BookName="ref"/> to support large finite fields.
103
[reported by Inneke van Gelder]
104
</Item>
105
</List>
106
107
Fixed bugs which could lead to crashes:
108
<List>
109
<Item>
110
The extremely old <C>DEBUG_DEADSONS_BAGS</C> compile-time
111
option has not worked correctly for many years and indeed crashes &GAP;.
112
The type of bug it is there to detect has not arisen in many years and we
113
have certainly not used this option, so it has been removed.
114
[Reported by Volker Braun]
115
</Item>
116
</List>
117
118
Other fixed bugs:
119
120
<List>
121
<Item>
122
Scanning of floating point literals collided with iterated use of integers
123
as record field elements in expressions like <C>r.1.2</C>.
124
</Item>
125
<Item>
126
Fixed two potential problems in <C>NorSerPermPcgs</C>, one corrupting
127
some internal data and one possibly mixing up different pcgs.
128
</Item>
129
<Item>
130
Fixed a performance problem with <Ref Oper="NiceMonomorphism" BookName="ref"/>.
131
[reported by John Bamberg]
132
</Item>
133
<Item>
134
Fixed a bug in <Ref Func="ReadCSV" BookName="ref"/> that caused some
135
<F>.csv</F> files being parsed incorrectly.
136
</Item>
137
</List>
138
139
No longer supported:
140
<List>
141
<Item>
142
The file <File>lib/consistency.g</File>, which contained three undocumented
143
auxiliary functions, has been removed from the library. In addition, the
144
global record <C>Revision</C> is now deprecated, so there is no need to
145
bind its components in &GAP; packages.
146
</Item>
147
</List>
148
149
</Subsection>
150
151
<Subsection Label="New and updated packages since GAP 4.5.4">
152
<Heading>New and updated packages since &GAP; 4.5.4</Heading>
153
154
At the time of the release of &GAP; 4.5 there were 99 packages redistributed with &GAP;.
155
The first public release of &GAP;&nbsp;4.6 contains 106 packages.
156
<P/>
157
158
The new packages that have been added to the redistribution
159
since the release of &GAP; 4.5.4 are:
160
161
<List>
162
<Item>
163
<Package>AutoDoc</Package> package by S. Gutsche,
164
providing tools for automated generation of <Package>GAPDoc</Package> manuals.
165
</Item>
166
<Item>
167
<Package>Congruence</Package> package by A. Konovalov,
168
which provides functions to construct various canonical
169
congruence subgroups in <M>SL_2(&ZZ;)</M>, and also
170
intersections of a finite number of such subgroups,
171
implements the algorithm for generating Farey symbols for
172
congruence subgroups and uses it to produce a system of
173
independent generators for these subgroups.
174
</Item>
175
<Item>
176
<Package>Convex</Package> package by S. Gutsche,
177
which provides structures and algorithms for convex geometry.
178
</Item>
179
<Item>
180
<Package>Float</Package> package by L. Bartholdi, which extends &GAP;
181
floating-point capabilities by providing new floating-point handlers for
182
high-precision real, interval and complex arithmetic using MPFR, MPFI,
183
MPC or CXSC external libraries. It also contains a very high-performance
184
implementation of the LLL (Lenstra-Lenstra-Lovász) lattice reduction
185
algorithm via the external library FPLLL.
186
</Item>
187
<Item>
188
<Package>PolymakeInterface</Package> package by T. Baechler and S. Gutsche,
189
providing a link to the callable library of the <Package>polymake</Package>
190
system (<URL>http://www.polymake.org</URL>).
191
</Item>
192
<Item>
193
<Package>ToolsForHomalg</Package> package by M. Barakat, S. Gutsche and
194
M. Lange-Hegermann, which provides some auxiliary functionality for the
195
<Package>homalg</Package> project (<URL>http://homalg.math.rwth-aachen.de/</URL>).
196
</Item>
197
<Item>
198
<Package>ToricVarieties</Package> package by S. Gutsche,
199
which provides data structures to handle toric varieties by their
200
commutative algebra structure and by their combinatorics.
201
</Item>
202
</List>
203
204
Furthermore, some packages have been upgraded substantially
205
since the &GAP;&nbsp;4.5.4 release:
206
<List>
207
<Item>
208
Starting from 2.x.x, the functionality for iterated monodromy
209
groups has been moved from the <Package>FR</Package> package
210
by L. Bartholdi to a separate package IMG (currently undeposited,
211
available from <URL>https://github.com/laurentbartholdi/img</URL>).
212
This completely removes the dependency of <Package>FR</Package>
213
on external library modules, and should make its installation much easier.
214
</Item>
215
</List>
216
217
</Subsection>
218
219
</Section>
220
221
<Section Label="fix463">
222
<Heading>&GAP; 4.6.3 (March 2013)</Heading>
223
224
Improved functionality:
225
<List>
226
227
<Item>
228
Several changes were made to <Ref Func="IdentityMat" BookName="ref"/>
229
and <Ref Func="NullMat" BookName="ref"/>. First off, the
230
documentation was changed to properly state that these functions support
231
arbitrary rings, and not just fields. Also, more usage examples were
232
added to the manual.
233
<P/>
234
For <C>NullMat</C>, it is now also always possible to specify a ring element
235
instead of a ring, and this is documented. This matches existing
236
<C>IdentityMat</C> behavior, and partially worked before (undocumented),
237
but in some cases could run into error or infinite recursion.
238
<P/>
239
In the other direction, if a finite field element, <C>IdentityMat</C> now
240
really creates a matrix over the smallest field containing that element.
241
Previously, a matrix over the prime field was created instead, contrary
242
to the documentation.
243
<P/>
244
Furthermore, <C>IdentityMat</C> over small finite fields is now substantially
245
faster when creating matrices of large dimension (say a thousand or so).
246
<P/>
247
Finally, <Ref Func="MutableIdentityMat" BookName="ref"/> and
248
<Ref Func="MutableNullMat" BookName="ref"/> were explicitly declared
249
obsolete (and may be removed in &GAP; 4.7). They actually were deprecated
250
since &GAP; 4.1, and their use discouraged by the manual. Code using
251
them should switch to <Ref Func="IdentityMat" BookName="ref"/>
252
respectively <Ref Func="NullMat" BookName="ref"/>.
253
</Item>
254
255
<Item>
256
Two new <Ref Attr="PerfectResiduum" BookName="ref"/> methods were added for
257
solvable and perfect groups, handling these cases optimally. Moreover, the
258
existing generic method was improved by changing it to use
259
<Ref Attr="DerivedSeriesOfGroup" BookName="ref"/>. Previously, it would
260
always compute the derived series from scratch and then throw away the result.
261
</Item>
262
263
<Item>
264
A new <Ref Attr="MinimalGeneratingSet" BookName="ref"/> method for groups
265
handled by a nice monomorphisms was added, similar to the existing
266
<Ref Attr="SmallGeneratingSet" BookName="ref"/> method. This is useful
267
if the nice monomorphism is already mapping into a pc or pcp group.
268
</Item>
269
270
<Item>
271
Added a special method for <Ref Oper="DerivedSubgroup" BookName="ref"/>
272
if the group is known to be abelian.
273
</Item>
274
275
</List>
276
277
Fixed bugs:
278
279
<List>
280
<Item>
281
Fixed a bug in <Ref Func="PowerModInt" BookName="ref"/> computing
282
<M>r^e</M> mod <M>m</M> in a special case when <M>e=0</M> and <M>m=0</M>.
283
[Reported by Ignat Soroko]
284
</Item>
285
286
<Item>
287
<Ref Oper="CoefficientsQadic" BookName="ref"/> now better checks
288
its arguments to avoid an infinite loop when being asked for a
289
<A>q</A>-adic representation for <M>q=1</M>.
290
[Reported by Ignat Soroko]
291
</Item>
292
293
<Item>
294
Methods for <C>SylowSubgroupOp</C>
295
(see <Ref Oper="SylowSubgroup" BookName="ref"/>) for symmetric and
296
alternating group did not always set <Ref Prop="IsPGroup" BookName="ref"/>
297
and <Ref Attr="PrimePGroup" BookName="ref"/> for the returned Sylow subgroup.
298
</Item>
299
300
<Item>
301
Display of matrices consisting of Conway field elements
302
(which are displayed as polynomials) did not print constant 1 terms.
303
</Item>
304
305
<Item>
306
Added an extra check and a better error message in the method to
307
access <E>natural</E> generators of domains using the <C>.</C>
308
operator (see <Ref Attr="GeneratorsOfDomain" BookName="ref"/>).
309
</Item>
310
311
<Item>
312
Trying to solve the word problem in an fp group where one or more generators
313
has a name of more than one alphabetic character led to a break loop.
314
</Item>
315
316
<Item>
317
Provided the default method for
318
<Ref Oper="AbsoluteIrreducibleModules" BookName="ref"/> as a temporary
319
workaround for the problem which may cause returning wrong results or
320
producing an error when being called for a non-prime field.
321
</Item>
322
323
<Item>
324
A bug in the &GAP; kernel caused <C>RNamObj</C> to error out when called
325
with a string that had the <Ref Prop="IsSSortedList" BookName="ref"/>
326
property set (regardless of whether it was set to <K>true</K> or <K>false</K>).
327
This in turn would lead to strange (and inappropriate) errors when using
328
such a string to access entries of a record.
329
</Item>
330
331
<Item>
332
&GAP; can store vectors over small finite fields (size at most 256) in a
333
special internal data representation where each entry of the vector uses
334
exactly one byte. Due to an off-by-one bug, the case of a field with
335
exactly 256 elements was not handled properly. As a result, &GAP; failed
336
to convert a vector to the special data representation, which in some
337
situations could lead to a crash. The off-by-one error was fixed and now
338
vectors over <M>GF(256)</M> work as expected.
339
</Item>
340
341
<Item>
342
A bug in the code for accessing sublist via the <C>list{poss}</C> syntax could
343
lead to &GAP; crashing. Specifically, if the list was a compressed vector
344
over a finite field, and the sublist syntax was nested, as in
345
<C>vec{poss1}{poss2}</C>. This now correctly triggers an error instead of
346
crashing.
347
</Item>
348
349
</List>
350
351
New packages added for the redistribution with &GAP;:
352
353
<List>
354
<Item>
355
<Package>SpinSym</Package> package by L. Maas, which
356
contains Brauer tables of Schur covers of symmetric and
357
alternating groups and provides some related functionalities.
358
</Item>
359
</List>
360
361
</Section>
362
363
364
<Section Label="fix464">
365
<Heading>&GAP; 4.6.4 (April 2013)</Heading>
366
367
New functionality:
368
<List>
369
<Item>
370
<!-- #368 -->
371
New command line option <C>-O</C> was introduced to disable loading obsolete
372
variables. This option may be used, for example, to check that they are
373
not used in a &GAP; package or one's own &GAP; code. For further details
374
see <Ref Label="Options" BookName="ref"/> and
375
<Ref Label="Replaced and Removed Command Names" BookName="ref"/>.
376
</Item>
377
</List>
378
379
Fixed bugs which could lead to incorrect results:
380
381
<List>
382
<Item>
383
<!-- #378 -->
384
Fixed the bug in <Ref Func="NewmanInfinityCriterion" BookName="ref"/> which
385
may cause returning <K>true</K> instead of <K>false</K>.
386
[Reported by Lev Glebsky]
387
</Item>
388
</List>
389
390
Fixed bugs which could lead to crashes:
391
392
<List>
393
<Item>
394
<!-- #362 -->
395
Fixed the kernel method for <Ref Oper="Remove" BookName="ref"/> which did
396
not raise an error in case of empty lists, but corrupted the object.
397
The error message in a library method is also improved.
398
[Reported by Roberto Ràdina]
399
</Item>
400
</List>
401
402
Fixed bugs that could lead to break loops:
403
404
<List>
405
406
<Item>
407
<!-- #356 -->
408
Fixed requirements in a method to multiply a list and an algebraic element.
409
[Reported by Sebastian Gutsche]
410
</Item>
411
412
<Item>
413
<!-- #357 -->
414
Fixed a bug in <Ref Attr="NaturalCharacter" BookName="ref"/> entering a
415
break loop when being called on a homomorphism whose image is not a
416
permutation group.
417
[Reported by Sebastian Gutsche]
418
</Item>
419
420
<Item>
421
<!-- #363 -->
422
Fixed a bug in <Ref Oper="ExponentsConjugateLayer" BookName="ref"/> which
423
occured, for example, in some calls of
424
<Ref Func="SubgroupsSolvableGroup" BookName="ref"/>
425
[Reported by Ramon Esteban-Romero]
426
</Item>
427
428
<Item>
429
<!-- #364 -->
430
Fixed a problem with displaying function fields,
431
e.g. <C>Field(Indeterminate(Rationals,"x"))</C>.
432
[Reported by Jan Willem Knopper]
433
</Item>
434
435
<Item>
436
<!-- #365 -->
437
Fixed two bugs in the code for
438
<Ref Oper="NaturalHomomorphismByIdeal" BookName="ref"/> for polynomial rings.
439
[Reported by Martin Leuner]
440
</Item>
441
442
<Item>
443
<!-- #370 -->
444
Added missing method for <Ref Oper="String" BookName="ref"/> for <C>-infinity</C>.
445
</Item>
446
447
<Item>
448
<!-- #380 -->
449
Fixed the bug with <Ref Attr="ONanScottType" BookName="ref"/> not
450
recognising product action properly in some cases.
451
</Item>
452
453
<Item>
454
<!-- #385 -->
455
The method for <Ref Attr="SlotUsagePattern" BookName="ref"/> for straight
456
line programs had a bug which triggered an error, if the straight line
457
program contained unnecessary steps.
458
</Item>
459
460
</List>
461
462
</Section>
463
464
465
<Section Label="fix465">
466
<Heading>&GAP; 4.6.5 (July 2013)</Heading>
467
468
Improved functionality:
469
<List>
470
<Item>
471
<!-- #392 -->
472
<Ref Func="TraceMethods" BookName="ref"/> and
473
<Ref Func="UntraceMethods" BookName="ref"/> now better check their
474
arguments and provide a sensible error message if being called without
475
arguments. Also, both variants of calling them are now documented.
476
</Item>
477
<Item>
478
<!-- #410 -->
479
Library methods for <Ref Oper="Sortex" BookName="ref"/> are now
480
replaced by faster ones using the kernel
481
<Ref Func="SortParallel" BookName="ref"/> functionality instead
482
of making expensive zipped lists.
483
</Item>
484
</List>
485
486
Fixed bugs which could lead to incorrect results:
487
488
<List>
489
<Item>
490
<!-- #409 -->
491
<Ref Func="IntHexString" BookName="ref" /> wrongly produced a large
492
integer when there were too many leading zeros.
493
[Reported by Joe Bohanon]
494
</Item>
495
</List>
496
497
Fixed bugs that could lead to break loops:
498
499
<List>
500
<Item>
501
<!-- #404 -->
502
A bug that may occur in some cases while calling
503
<Ref Attr="TransitiveIdentification" BookName="ref"/>.
504
[Reported by Izumi Miyamoto]
505
</Item>
506
<Item>
507
<!-- #419 -->
508
The new code for semidirect products of permutation groups, introduced
509
in &GAP; 4.6, had a bug which was causing problems for
510
<Ref Oper="Projection" BookName="ref"/>.
511
[Reported by Graham Ellis]
512
</Item>
513
</List>
514
515
</Section>
516
517
</Chapter>
518
519
520
<!-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -->
521
<!-- %% -->
522
<!-- %E -->
523
524