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="ChangesGAP46toGAP47">
2
<Heading>Changes between &GAP; 4.6 and &GAP; 4.7</Heading>
3
4
This chapter contains an overview of most important changes
5
introduced in &GAP; 4.7.2 release (the first public release
6
of &GAP; 4.7).
7
8
It also contains information about subsequent update releases for &GAP; 4.7.
9
10
<Section Label="fix472">
11
<Heading>&GAP; 4.7.2 (December 2013)</Heading>
12
13
<Subsection Label="Changes in the core GAP47 system">
14
<Heading>Changes in the core &GAP; system introduced in &GAP; 4.7</Heading>
15
16
Improved and extended functionality:
17
<List>
18
<!-- cf. #411, 412, 413 -->
19
<Item>
20
The methods for computing conjugacy classes of permutation groups have
21
been rewritten from scratch to enable potential use for groups in
22
different representations. As a byproduct the resulting code is
23
(sometimes notably) faster. It also now is possible to calculate
24
canonical conjugacy class representatives in permutation groups,
25
which can be beneficial when calculating character tables.
26
</Item>
27
<Item>
28
The methods for determining (conjugacy classes of) subgroups in
29
non-solvable groups have been substantially improved in speed and
30
scope for groups with multiple nonabelian composition factors.
31
</Item>
32
<Item>
33
There is a new method for calculating the maximal subgroups of
34
a permutation group (with chief factors of width less or equal 5)
35
without calculating the whole subgroup lattice.
36
</Item>
37
<Item>
38
If available, information from the table of marks library is
39
used to speed up subgroup calculations in almost simple factor groups.
40
</Item>
41
<Item>
42
The broader availability of maximal subgroups is used to improve
43
the calculation of double cosets.
44
</Item>
45
<Item>
46
To illustrate the improvements listed above, one could try, for example
47
<Log><![CDATA[
48
g:=WreathProduct(MathieuGroup(11),Group((1,2)));
49
Length(ConjugacyClassesSubgroups(g));
50
]]></Log>
51
and
52
<Log><![CDATA[
53
g:=SemidirectProduct(GL(3,5),GF(5)^3);
54
g:=Image(IsomorphismPermGroup(g));
55
MaximalSubgroupClassReps(g);
56
]]></Log>
57
</Item>
58
<Item>
59
Computing the exponent of a finite group <M>G</M> could be extremely slow.
60
This was due to a slow default method being used, which computed
61
all conjugacy classes of elements in order to compute the exponent.
62
We now instead compute Sylow subgroups <M>P_1</M>, ..., <M>P_k</M> of
63
<M>G</M> and use the easily verified equality
64
<M>exp(G) = exp(P_1) x ... x exp(P_k)</M>.
65
This is usually at least as fast and in many cases orders of magnitude
66
faster.
67
<Log><![CDATA[
68
gap> G:=SmallGroup(2^7*9,33);;
69
gap> H:=DirectProduct(G, ElementaryAbelianGroup(2^10));;
70
gap> Exponent(H); # should take at most a few milliseconds
71
72
72
gap> K := PerfectGroup(2688,3);;
73
gap> Exponent(K); # should take at most a few seconds
74
168
75
]]></Log>
76
</Item>
77
<Item>
78
<!-- #414 -->
79
The functionality in &GAP; for transformations and transformation semigroups has
80
been rewritten and extended. Partial permutations and inverse semigroups have
81
been newly implemented. The documentation for transformations and
82
transformation semigroups has been improved. Transformations and partial
83
permutations are implemented in the &GAP; kernel. Methods for calculating
84
attributes of transformations and partial permutations, and taking products,
85
and so are also implemented in the kernel. The new implementations are largely
86
backwards compatible; some exceptions are given below.
87
<P/>
88
The degree of a transformation <C>f</C> is usually defined as the
89
largest positive integer where <C>f</C> is defined. In previous versions of
90
&GAP;, transformations were only defined on positive integers less than their
91
degree, it was only possible to multiply transformations of equal degree, and a
92
transformation did not act on any point exceeding its degree. Starting with
93
&GAP; 4.7, transformations behave more like permutations, in that
94
they fix unspecified points and it is possible to multiply arbitrary
95
transformations.
96
<List>
97
<Item>
98
in the display of a transformation, the trailing fixed points are no longer
99
printed. More precisely, in the display of a transformation <C>f</C> if
100
<C>n</C> is the largest value such that <C>n^f&lt;>n</C> or
101
<C>i^f=n</C> for some <C>i&lt;>n</C>, then the values exceeding <C>n</C>
102
are not printed.
103
</Item>
104
<Item>
105
the display for semigroups of transformations now includes more information,
106
for example <C>&lt;transformation semigroup on 10 pts with 10 generators></C> and
107
<C>&lt;inverse partial perm semigroup on 10 pts with 10 generators></C>.
108
</Item>
109
<Item>
110
transformations which define a permutation can be inverted, and groups of
111
transformations can be created.
112
</Item>
113
</List>
114
Further information regarding transformations and partial permutations, can be
115
found in the relevant chapters of the reference manual.
116
<P/>
117
The code for Rees matrix semigroups has been completely rewritten to fix the
118
numerous bugs in the previous versions. The display of a Rees matrix semigroup
119
has also been improved to include the numbers of rows and columns, and the
120
underlying semigroup. Again the new implementations should be backwards
121
compatible with the exception that the display is different.
122
<P/>
123
The code for magmas with a zero adjoined has been improved so that it is
124
possible to access more information about the original magma. The display has
125
also been changed to indicate that the created magma is a magma with zero
126
adjoined (incorporating the display of the underlying magma). Elements of a
127
magma with zero are also printed so that it is clear that they belong to a
128
magma with zero.
129
<P/>
130
If a semigroup is created by generators in the category
131
IsMultiplicativeElementWithOneCollection and CanEasilyCompareElements, then it
132
is now checked if the One of the generators is given as a generator. In this
133
case, the semigroup is created as a monoid.
134
</Item>
135
<Item>
136
Added a new operation <Ref Oper="GrowthFunctionOfGroup" BookName="ref"/>
137
that gives sizes of distance spheres in the Cayley graph of a group.
138
</Item>
139
<Item>
140
<!-- #123 -->
141
A new group constructor <Ref Oper="FreeAbelianGroup" BookName="ref"/>
142
for free abelian groups has been added. By default, it creates suitable
143
fp groups. Though free abelian groups groups do not offer much
144
functionality right now, in the future other implementations may be
145
provided, e.g. by the <Package>Polycyclic</Package> package.
146
</Item>
147
<Item>
148
<!-- #29 -->
149
The message about halving the pool size at startup is only shown
150
when <C>-D</C> command line option is used
151
(see <Ref Sect="Command line options" BookName="ref"/>).
152
[Suggested by Volker Braun]
153
</Item>
154
<Item>
155
<!-- #180 -->
156
An info class called <Ref InfoClass="InfoObsolete" BookName="ref"/>
157
with the default level 0 is introduced.
158
Setting it to 1 will trigger warnings at runtime if an obsolete variable
159
declared with <C>DeclareObsoleteSynonym</C> is used. This is recommended for
160
testing &GAP; distribution and packages.
161
</Item>
162
<Item>
163
The &GAP; help system now recognises some common different spelling patterns
164
(for example, -ise/-ize, -isation/-ization, solvable/soluble) and searches
165
for all possible spelling options even when the synonyms are not declared.
166
</Item>
167
<Item>
168
<!-- #452 -->
169
Added new function <Ref Func="Cite" BookName="ref"/> which produces citation
170
samples for &GAP; and packages.
171
</Item>
172
<Item>
173
<!-- #198 -->
174
It is now possible to compile &GAP; with user-supplied <C>CFLAGS</C>
175
which now will not be overwritten by &GAP; default settings.
176
[Suggested by Jeroen Demeyer]
177
</Item>
178
</List>
179
180
Fixed bugs:
181
182
<List>
183
<Item>
184
<!-- #444 -->
185
<Ref Func="Union" BookName="ref"/> had <M>O(n^3)</M> behaviour when
186
given many ranges (e.g. it could take 10 seconds to find a union of
187
1000 1-element sets). The new implementation reduces that to
188
<M>O(n log n)</M> (and 4ms for the 10 second example), at the cost
189
of not merging ranges as well as before in some rare cases.
190
</Item>
191
<Item>
192
<!-- #423 -->
193
<C>IsLatticeOrderBinaryRelation</C> only checked the existence of upper
194
bounds but not the uniqueness of the least upper bound (and dually for
195
lower bounds), so in some cases it could return the wrong answer.
196
[Reported by Attila Egri-Nagy]
197
</Item>
198
<Item>
199
<!-- #453 -->
200
<Ref Oper="LowIndexSubgroupsFpGroup" BookName="ref"/> triggered a
201
break loop if the list of generators of the 2nd argument contained
202
the identity element of the group.
203
[Reported by Ignat Soroko]
204
</Item>
205
<Item>
206
<!-- #454 -->
207
Fixed regression in heuristics used by
208
<Ref Oper="NaturalHomomorphismByNormalSubgroup" BookName="ref"/> that
209
could produce a permutation representation of an unreasonably large degree.
210
[Reported by Izumi Miyamoto]
211
</Item>
212
<Item>
213
<!-- #129 -->
214
Fixed inconsistent behaviour of <C>QuotientMod( Integers, r, s, m )</C>
215
in the case where <A>s</A> and <A>m</A> are not coprime. This fix also
216
corrects the division behaviour of <C>ZmodnZ</C> objects, see
217
<Ref Oper="QuotientMod" BookName="ref" /> and
218
<Ref Func="ZmodnZ" BookName="ref"/>.
219
[Reported by Mark Dickinson]
220
</Item>
221
<Item>
222
<!-- #408 -->
223
Fixed an oversight in the loading process causing
224
<Ref Func="OnQuit" BookName="ref"/> not resetting the options
225
stack after exiting the break loop.
226
</Item>
227
<Item>
228
<!-- #407 -->
229
Empty strings were treated slightly differently than other strings in
230
the &GAP; kernel, for historical reasons. This resulted in various
231
inconsistencies. For example, <C>IsStringRep("")</C> returned true,
232
but a method installed for arguments of type <C>IsStringRep</C> would
233
NOT be invoked when called with an empty string.
234
<P/>
235
We remove this special case in the &GAP; kernel (which dates back the
236
very early days of &GAP;&nbsp;4 in 1996). This uncovered one issue in
237
the kernel function <C>POSITION_SUBSTRING</C> (when calling it with an
238
empty string as second argument), which was also fixed.
239
</Item>
240
<Item>
241
<!-- #219 -->
242
The parser for floating point numbers contained a bug that could cause
243
&GAP; to crash or to get into a state where the only action left to the
244
user was to exit &GAP; via Ctrl-D. For example, entering four dots with
245
spaces between them on the &GAP; prompt and then pressing the return key
246
caused &GAP; to exit.
247
<P/>
248
The reason was (ironically) an error check in the innards of the float
249
parser code which invoked the &GAP; <C>Error()</C> function at a point
250
where it should not have.
251
</Item>
252
<Item>
253
Removing the last character in a string was supposed to overwrite the old
254
removed character in memory with a zero byte, but failed to do so due to an
255
off-by-one error. For most &GAP; operations, this has no visible effect,
256
except for those which directly operate on the underlying memory representation
257
of strings. For example, when trying to use such a string to reference a record
258
entry, a (strange) error could be triggered.
259
</Item>
260
<Item>
261
<Ref Oper="ViewString" BookName="ref"/> and <Ref Oper="DisplayString" BookName="ref"/>
262
are now handling strings, characters and immediate FFEs in a consistent manner.
263
</Item>
264
<Item>
265
<!-- #417, 436, 437, 446 -->
266
Multiple fixes to the build process for less common Debian platforms
267
(arm, ia64, mips, sparc, GNU/Hurd). [Suggested by Bill Allombert]
268
</Item>
269
<Item>
270
<!-- #425, 426, 427, 438 -->
271
Fixes for several regressions in the <F>gac</F> script.
272
[Suggested by Bill Allombert]
273
</Item>
274
</List>
275
276
Changed functionality:
277
<List>
278
<Item>
279
<!-- #230 -->
280
It is not possible now to call <Ref Oper="WreathProduct" BookName="ref"/>
281
with 2nd argument <A>H</A> not being a permutation group, without using the 3rd
282
argument specifying the permutation representation. This is an incompatible
283
change but it will produce an error instead of a wrong result. The former
284
behaviour of <Ref Oper="WreathProduct" BookName="ref"/> may now be achieved
285
by using <Ref Oper="StandardWreathProduct" BookName="ref"/> which returns the wreath
286
product for the (right regular) permutation action of <A>H</A> on its elements.
287
</Item>
288
<Item>
289
<!-- #180 -->
290
The function <C>ViewLength</C> to specify the maximal number of lines
291
that are printed in <Ref Oper="ViewObj" BookName="ref" /> became
292
obsolete, since there was already a user preference <C>ViewLength</C>
293
to specify this. The value of this preference is also accessible in
294
<C>GAPInfo.ViewLength</C>.
295
</Item>
296
</List>
297
298
</Subsection>
299
300
<Subsection Label="New and updated packages since GAP 4.6.5">
301
<Heading>New and updated packages since &GAP; 4.6.5</Heading>
302
303
<Index>Packages, new</Index>
304
At the time of the release of &GAP; 4.6.5 there were 107 packages
305
redistributed with &GAP;. The first public release of &GAP;&nbsp;4.7
306
contains 114 packages.
307
<P/>
308
309
One of essential changes is that
310
the <Package>Citrus</Package> package by J.Mitchell has been renamed
311
to <Package>Semigroups</Package>. The package has been completely
312
overhauled, the performance has been improved, and the code has been
313
generalized so that in the future the same code can be used to compute
314
with other types of semigroups.
315
<P/>
316
317
Furthermore, new packages that have been added to the redistribution
318
since the release of &GAP; 4.6.5 are:
319
320
<List>
321
<Item>
322
<Package>4ti2interface</Package> package by Sebastian Gutsche, providing
323
an interface to <Package>4ti2</Package>, a software package for algebraic,
324
geometric and combinatorial problems on linear spaces (<URL>http://www.4ti2.de</URL>).
325
</Item>
326
<Item>
327
<Package>CoReLG</Package> by Heiko Dietrich, Paolo Faccin and
328
Willem de Graaf for calculations in real semisimple Lie algebras.
329
</Item>
330
<Item>
331
<Package>IntPic</Package> package by Manuel Delgado, aimed at providing
332
a simple way of getting a pictorial view of sets of integers. The main
333
goal of the package is producing <Package>Tikz</Package> code for arrays
334
of integers. The code produced is to be included in a &LaTeX; file, which
335
can then be processed. Some of the integers are emphasized by using
336
different colors for the cells containing them.
337
</Item>
338
<Item>
339
<Package>LieRing</Package> by Serena Cicalo and Willem de Graaf for
340
constructing finitely-presented Lie rings and calculating the Lazard
341
correspondence. The package also provides a database of small
342
<M>n</M>-Engel Lie rings.
343
</Item>
344
<Item>
345
<Package>LiePRing</Package> package by Michael Vaughan-Lee and Bettina
346
Eick, introducing a new datastructure for nilpotent Lie rings of prime-power
347
order. This allows to define such Lie rings for specific primes as well
348
as for symbolic primes and other symbolic parameters. The package also
349
includes a database of nilpotent Lie rings of order at most <M>p^7</M>
350
for all primes <M>p > 3</M>.
351
</Item>
352
<Item>
353
<Package>ModIsom</Package> by Bettina Eick, which contains various
354
methods for computing with nilpotent associative algebras. In particular,
355
it contains a method to determine the automorphism group and to test
356
isomorphisms of such algebras over finite fields and of modular group
357
algebras of finite <M>p</M>-groups. Further, it contains a nilpotent quotient
358
algorithm for finitely presented associative algebras and a method
359
to determine Kurosh algebras.
360
</Item>
361
<Item>
362
<Package>SLA</Package> by Willem de Graaf for computations with
363
simple Lie algebras. The main topics of the package are nilpotent
364
orbits, theta-groups and semisimple subalgebras.
365
</Item>
366
</List>
367
368
<Index>Packages, upgraded</Index>
369
Furthermore, some packages have been upgraded substantially
370
since the &GAP;&nbsp;4.6.5 release:
371
<List>
372
<Item>
373
<Package>ANUPQ</Package> package by Greg Gamble, Werner Nickel
374
and Eamonn O'Brien has been updated after Max Horn joined it as a
375
maintainer. As a result, it is now much easier to install and use
376
it with the current &GAP; release.
377
</Item>
378
<Item>
379
<Package>Wedderga</Package> package by Osnel Broche Cristo, Allen Herman,
380
Alexander Konovalov, Aurora Olivieri, Gabriela Olteanu, Ángel del Río and
381
Inneke Van Gelder has been extended to include functions for calculating
382
local and global Schur indices of ordinary irreducible characters of
383
finite groups, cyclotomic algebras over abelian number fields, and rational
384
quaternion algebras (contribution by Allen Herman).
385
</Item>
386
</List>
387
388
</Subsection>
389
390
</Section>
391
392
<Section Label="fix473">
393
<Heading>&GAP; 4.7.3 (February 2014)</Heading>
394
395
Fixed bugs which could lead to incorrect results:
396
<List>
397
<Item>
398
Incorrect result returned by <C>AutomorphismGroup(PSp(4,2^n))</C>.
399
[Reported by Anvita]
400
</Item>
401
<Item>
402
The <Ref Oper="Order" BookName="ref"/> method for group homomorphisms
403
newly introduced in &GAP;&nbsp;4.7 had a bug that caused it to
404
sometimes return incorrect results.
405
[Reported by Benjamin Sambale]
406
</Item>
407
</List>
408
409
Fixed bugs that could lead to break loops:
410
<List>
411
<Item>
412
Several bugs were fixed and missing methods were introduced in the
413
new code for transformations, partial permutations and semigroups
414
that was first included in &GAP;&nbsp;4.7. Some minor corrections
415
were made in the documentation for transformations.
416
</Item>
417
<Item>
418
Break loop in <C>IsomorphismFpMonoid</C> when prefixes in
419
generators names were longer than one letter.
420
[Reported by Dmytro Savchuk and Yevgen Muntyan]
421
</Item>
422
<Item>
423
Break loop while displaying the result of
424
<Ref Func="MagmaWithInversesByMultiplicationTable" BookName="ref"/>.
425
[Reported by Grahame Erskine]
426
</Item>
427
</List>
428
429
Improved functionality:
430
<List>
431
<Item>
432
Better detection of UTF-8 terminal encoding on some systems.
433
[Suggested by Andries Brouwer]
434
</Item>
435
</List>
436
437
</Section>
438
439
<Section Label="fix474">
440
<Heading>&GAP; 4.7.4 (February 2014)</Heading>
441
This release was prepared immediately after &GAP; 4.7.3 to revert
442
the fix of the error handling for the single quote at the end of
443
an input line, contained in &GAP; 4.7.3. It happened that (only
444
on Windows) the fix caused error messages in one of the packages.
445
</Section>
446
447
<Section Label="fix475">
448
<Heading>&GAP; 4.7.5 (May 2014)</Heading>
449
450
Fixed bugs which could lead to incorrect results:
451
<List>
452
<Item>
453
<Ref Func="InstallValue" BookName="ref" /> cannot handle immediate
454
values, characters or booleans for technical reasons. A check for
455
such values was introduced to trigger an error message and prevent
456
incorrect results caused by this. [Reported by Sebastian Gutsche]
457
</Item>
458
<Item>
459
<Ref Oper="KnowsDictionary" BookName="ref"/> and
460
<Ref Oper="LookupDictionary" BookName="ref" />
461
methods for <C>IsListLookupDictionary</C> were using
462
<Ref Oper="PositionFirstComponent" BookName="ref" />;
463
the latter is only valid on sorted lists, but in
464
<C>IsListLookupDictionary</C> the underlying
465
list is NOT sorted in general, leading to bogus results.
466
</Item>
467
</List>
468
469
Other fixed bugs:
470
<List>
471
<Item>
472
A bug in <C>DirectProductElementsFamily</C> which used
473
<Ref Prop="CanEasilyCompareElements" BookName="ref"/> instead of
474
<Ref Prop="CanEasilySortElements" BookName="ref"/>.
475
</Item>
476
<Item>
477
Fixed wrong <C>Infolevel</C> message that caused a break loop
478
for some automorphism group computations.
479
</Item>
480
<Item>
481
Fixed an error that sometimes caused a break loop in
482
<Ref Func="HallSubgroup" BookName="ref"/>.
483
[Reported by Benjamin Sambale]
484
</Item>
485
<Item>
486
Fixed a rare error in computation of conjugacy classes of a
487
finite group by homomorphic images, providing fallback to a
488
default algorithm.
489
</Item>
490
<Item>
491
Fixed an error in the calculation of Frattini subgroup in the
492
case of the trivial radical.
493
</Item>
494
<Item>
495
Several minor bugs were fixed in the documentation, kernel, and
496
library code for transformations.
497
</Item>
498
<Item>
499
Fixed errors in <Ref Func="NumberPerfectGroups" BookName="ref" />
500
and <Ref Func="NumberPerfectLibraryGroups" BookName="ref" /> not
501
being aware that there are no perfect groups of odd order.
502
</Item>
503
<Item>
504
Restored the ability to build &GAP; on OS X 10.4 and 10.5
505
which was accidentally broken in the previous &GAP; release by
506
using the build option not supported by these versions.
507
</Item>
508
<Item>
509
Fixed some problems for ia64 and sparc architectures.
510
[Reported by Bill Allombert and Volker Braun]
511
</Item>
512
</List>
513
514
New package added for the redistribution with &GAP;:
515
<List>
516
<Item>
517
<Package>permut</Package> package by A.Ballester-Bolinches,
518
E.Cosme-Llópez, and R.Esteban-Romero to deal with permutability
519
in finite groups.
520
</Item>
521
</List>
522
523
</Section>
524
525
526
<Section Label="fix476">
527
<Heading>&GAP; 4.7.6 (November 2014)</Heading>
528
529
Fixed bugs which could lead to incorrect results:
530
<List>
531
<Item>
532
A bug that may cause <Ref Func="ShortestVectors" BookName="ref"/> to
533
return an incomplete list. [Reported by Florian Beye]
534
</Item>
535
<Item>
536
A bug that may lead to incorrect results and infinite loops when &GAP;
537
is compiled without GMP support using gcc 4.9.
538
</Item>
539
<Item>
540
A bug that may cause <Ref Func="OrthogonalEmbeddings" BookName="ref"/> to
541
return an incomplete result. [Reported by Benjamin Sambale]
542
</Item>
543
</List>
544
545
Fixed bugs that could lead to break loops:
546
<List>
547
<Item>
548
<Ref Oper="ClosureGroup" BookName="ref"/> should be used instead of
549
<Ref Func="ClosureSubgroup" BookName="ref"/> in case there is no parent
550
group, otherwise some calculations such as e.g.
551
<Ref Oper="NormalSubgroups" BookName="ref"/> may fail.
552
[Reported by Dmitrii Pasechnik]
553
</Item>
554
<Item>
555
Fixed a line in the code that used a hard-coded identity permutation,
556
not a generic identity element of a group. [Reported by Toshio Sumi]
557
</Item>
558
<Item>
559
Fixed a problem in the new code for calculating maximal subgroups
560
that caused a break loop for some groups from the transitive groups
561
library. [Reported by Petr Savicky]
562
</Item>
563
<Item>
564
Fixed a problem in <Ref Oper="ClosureSubgroup" BookName="ref"/> not
565
accepting some groups without <Ref Oper="Parent" BookName="ref"/>.
566
[Reported by Inneke van Gelder]
567
</Item>
568
</List>
569
570
Other fixed bugs:
571
<List>
572
<Item>
573
Eliminated a number of compiler warnings detected with some newer
574
versions of <Package>C</Package> compilers.
575
</Item>
576
<Item>
577
Some minor bugs in the transformation and partial permutation code
578
and documentation were resolved.
579
</Item>
580
</List>
581
582
</Section>
583
584
585
<Section Label="fix477">
586
<Heading>&GAP; 4.7.7 (February 2015)</Heading>
587
588
New features:
589
<List>
590
<Item>
591
Introduced some arithmetic operations for infinity and negative infinity,
592
see <Ref Label="Infinity" BookName="ref"/>.
593
</Item>
594
<Item>
595
Introduced new property <Ref Prop="IsGeneratorsOfSemigroup" BookName="ref"/>
596
which reflects wheter the list or collection generates a semigroup.
597
</Item>
598
</List>
599
600
Fixed bugs which could lead to incorrect results:
601
<List>
602
<Item>
603
Fixed a bug in <Ref Func="Union" BookName="ref"/> (actually,
604
in the internal library function <C>JoinRanges</C>) caused by
605
downward running ranges. [Reported by Matt Fayers]
606
</Item>
607
<Item>
608
Fixed a bug where recursive records might be printed with the wrong
609
component name, coming from component names being ordered differently
610
in two different pieces of code. [Reported by Thomas Breuer]
611
</Item>
612
<Item>
613
The usage of <C>abs</C> in <File>src/gmpints.c</File> was replaced by
614
<C>AbsInt</C>. The former is defined to operate on 32-bit integers
615
even if &GAP; is compiled in 64-bit mode. That lead to truncating
616
&GAP; integers and caused a crash in <Ref Func="RemInt" BookName="ref"/>,
617
reported by Willem De Graaf and Heiko Dietrich. Using <C>AbsInt</C> fixes
618
the crash, and ensures the correct behaviour on 32-bit and 64-bit builds.
619
</Item>
620
</List>
621
622
Fixed bugs that could lead to break loops:
623
<List>
624
<Item>
625
A problem with <Ref Func="ProbabilityShapes" BookName="ref"/> not setting
626
frequencies list for small degrees. [Reported by Daniel Błażewicz and
627
independently by Mathieu Gagne]
628
</Item>
629
<Item>
630
An error when generating a free monoid of rank infinity.
631
[Reported by Nick Loughlin]
632
</Item>
633
<Item>
634
Several bugs with the code for Rees matrix semigroups not handling
635
trivial cases properly.
636
</Item>
637
<Item>
638
A bug in <Ref Attr="IsomorphismTypeInfoFiniteSimpleGroup" BookName="ref"/>
639
affecting one particular group due to a misformatting in a routine that
640
translates between the Chevalley type and the name used in the table
641
(in this case, <C>"T"</C> was used instead of <C>["T"]</C>).
642
[Reported by Petr Savicky]
643
</Item>
644
</List>
645
646
Other fixed bugs:
647
<List>
648
<Item>
649
The <Ref Oper="Basis" BookName="ref"/> method for full homomorphism
650
spaces of linear mappings did not set basis vectors which could be
651
obtained by <Ref Attr="GeneratorsOfLeftModule" BookName="ref"/>.
652
</Item>
653
<Item>
654
A problem with <Ref Attr="GaloisType" BookName="ref"/> entering an
655
infinite loop in the routine for approximating a root. [Reported by Daniel Błażewicz]
656
</Item>
657
<Item>
658
Fixed the crash when &GAP; is called when the environment variables
659
<C>HOME</C> or <C>PATH</C> are unset. [Reported by Bill Allombert]
660
</Item>
661
</List>
662
663
Furthermore, new packages that have been added to the redistribution
664
since the release of &GAP; 4.7.6 are:
665
666
<List>
667
<Item>
668
<Package>json</Package> package by Christopher Jefferson, providing
669
a mapping between the <Package>JSON</Package> markup language and &GAP;
670
</Item>
671
<Item>
672
<Package>SglPPow</Package> package by Bettina Eick and Michael Vaughan-Lee,
673
providing the database of <M>p</M>-groups of order <M>p^7</M> for
674
<M>p &gt; 11</M>, and of order <M>3^8</M>.
675
</Item>
676
</List>
677
678
</Section>
679
680
681
<Section Label="fix478">
682
<Heading>&GAP; 4.7.8 (June 2015)</Heading>
683
684
</Section>
685
686
Fixed bugs which could lead to incorrect results:
687
<List>
688
<Item>
689
Added two groups of degree 1575 which were missing in the
690
library of first primitive groups. [Reported by Gordon Royle]
691
</Item>
692
<Item>
693
Fixed the error in the code for algebra module elements in packed
694
representation caused by the use of <Ref Oper="Objectify" BookName="ref"/>
695
with the type of the given object instead of <Ref Func="ObjByExtRep" BookName="ref"/>
696
as recommended in <Ref Sect="Further Improvements in Implementing Residue Class Rings"
697
BookName="ref"/>. The problem was that after calculating <C>u+v</C> where one of the
698
summands was known to be zero, this knowledge was wrongly passed to the sum via the
699
type. [Reported by Istvan Szollosi]
700
</Item>
701
<Item>
702
Fixed a bug in <Ref Oper="PowerMod" BookName="ref"/> causing wrong results
703
for univariate Laurent polynomials when the two polynomial arguments are
704
stored with the same non-zero shift. [Reported by Max Horn]
705
</Item>
706
</List>
707
708
Furthermore, new packages that have been added to the redistribution
709
since the release of &GAP; 4.7.7 are:
710
711
<List>
712
<Item>
713
<Package>PatternClass</Package> by Michael Albert, Ruth Hoffmann and
714
Steve Linton, allowing to explore the permutation pattern classes
715
build by token passing networks. Amongst other things, it can compute
716
the basis of a permutation pattern class, create automata from token
717
passing networks and check if the deterministic automaton is a possible
718
representative of a token passing network.
719
</Item>
720
<Item>
721
<Package>QPA</Package> by Edward Green and Øyvind Solberg, providing
722
data structures and algorithms for computations with finite dimensional
723
quotients of path algebras, and with finitely generated modules over such
724
algebras. It implements data structures for quivers, quotients of path
725
algebras, and modules, homomorphisms and complexes of modules over
726
quotients of path algebras.
727
</Item>
728
</List>
729
730
</Chapter>
731
732
733
<!-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -->
734
<!-- %% -->
735
<!-- %E -->
736
737