1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143

GAP 4.4 Update 11 (November 2008)
Fixed bugs which could produce wrong results
1. MemoryUsage on objects with no subobjects left them
in the cache and thus reported 0 in subsequent
calls to MemoryUsage for the same object. [Reported
by Stefan Kohl]
2. Irr(G) might be missing characters. [Reported by
Angel del Rio]
3. Up to now, it was allowed to call the function
FullMatrixAlgebraCentralizer with a field and a
list of matrices such that the entries of the
matrices were not contained in the field; in this
situation, the result did not fit to the
documentation. Now the entries of the matrices are
required to lie in the field, if not then an error
is signaled.
4. For those finite fields that are regarded as field
extensions over nonprime fields (one can construct
such fields with AsField), the function
DefiningPolynomial erroneously returned a
polynomial w.r.t. the extension of the prime field.
[Reported by Stefan Kohl]
5. Since the release of GAP 4.4.10, the return values
of the function QuaternionAlgebra were not
consistent w.r.t. the attribute
GeneratorsOfAlgebra; the returned list could
have length four or five. Now always the list of
elements of the canonical basis is returned.
6. MonomialGrevlexOrder calculated a wrong ordering in
certain cases. [Reported by Paul Smith]
7. The (GAP kernel) method for the operation
IntersectSet for ranges had two bugs, which
could yield a result range with either too few or
too many elements. As a consequence, for example
the Intersection results for ranges could be
wrong. [Reported by Matthew Fayers]
8. Fixed a bug in the shortform display of elements
of larger finite fields, a bug in some crossfield
conversions and some inefficiencies and a missing
method in the LogFFE code. [Reported by Jia Huang]
9. In rare cases
SmithNormalFormIntegerMatTransforms returned a
wrong normal form (the version without transforming
matrices did not have this problem). This is fixed.
[Reported by AH]
10. The variant of the function StraightLineProgram
that takes a string as its first argument returned
wrong results if the last character of this string
was a closing bracket.
11. The code for central series in a permutation group
used too tight a bound and thus falsely return a
nilpotent permutation group as nonnilpotent.
Fixed bugs which could lead to crashes
1. Under certain circumstances the kernel code for
position in blists would access a memory location
just after the end of the blist. If this location
was not accessible, a crash could result. Correct
this and clean up the code. [Reported by AH]
Other fixed bugs
1. The function IsomorphismTypeInfoFiniteSimpleGroup can be
called with a positive integer instead of a group,
and then returns information about the simple
group(s) of this order. (This feature is currently
undocumented.) For the argument 1, however, it ran
into an infinite loop.
2. A lookup in an empty dictionary entered a break
loop. Now returns 'fail'. [Reported by Laurent
Bartholdi]
3. The c++ keyword 'and' is no longer used as a macro
parameter in the kernel. [Reported by Paul Smith]
4. The operation KernelOfMultiplicativeGeneralMapping has
methods designed to handle maps between permutation
groups in a twostep approach, but did not reliably
trigger the second step. This has now been fixed,
preventing a slow infinite loop repeating the first
step. This was normally only seen as part of a
larger calculation.
5. There were two methods for the operation
Intersection2 which have implicitly assumed
that finiteness of a collection can always be
decided. Now, these methods check for
HasIsFinite and CanComputeSize prior to
calling IsFinite.
6. Made error message in case of corrupted help book
information (manual.six file) shorter and more
informative. [Reported by AH]
7. GAP cannot call methods with more than six
arguments. Now the functions NewOperation,
DeclareOperation, and InstallMethod signal
an error if one attempts to declare an operation or
to install a method with more than six arguments.
8. Up to now, IsOne had a special method for
general mappings, which was much worse than the
generic method; this special method has now been
removed.
9. When printing elements of an algebraic extension
parentheses around coefficients were missing.
[Reported by Maxim Hendriks]
New or improved functionality
1. Make dynamic loading of modules possible on CYGWIN
using a DLL based approach. Also move to using
autoconf version 2.61.
2. One can now call Basis, Iterator etc. with
the return value of the function
AlgebraicExtension.
3. The function FrobeniusCharacterValue returned
fail for results that require a finite field with
more than 65536 elements. Meanwhile GAP can handle
larger finite fields, so this restriction was
removed. (It is still possible that
FrobeniusCharacterValue returns fail.
4. Methods for testing membership in general linear
groups and special linear groups over the integers
have been added.
5. Methods for String and ViewString for full
row modules have been added. Further, a default
method for IsRowModule has been added, which
returns false for objects which are not free
left modules.
6. A ViewString method for objects with name has
been added.
7. The method for View for polynomial rings has
been improved, and methods for String and
ViewString for polynomial rings have been
added.
8. Binomial(n, k) now works with huge n.
9. The function InducedClassFunctionsByFusionMap
is now documented.
10. The return values of the function
QuaternionAlgebra now store that they are
division rings (if optional parameters are given
then of course ths depends on these parameters).

The GAP Group
