GAP 4.4 Update 11 (December 2008)
Fixed bugs which could produce wrong results

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]

Irr(G) might be missing characters. [Reported by Angel del Rio]

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.

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]

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.

MonomialGrevlexOrdering calculated a wrong ordering in certain cases. [Reported by Paul Smith]

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]

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]

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]

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.

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

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. This was corrected
and the code was cleaned up. [Reported by AH]
Other fixed bugs

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.

A lookup in an empty dictionary entered a break loop. Now returns 'fail'. [Reported by Laurent Bartholdi]

The c++ keyword 'and' is no longer be used as a macro parameter in the
kernel. [Reported by Paul Smith]

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.

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.

Made error message in case of corrupted help book information
(manual.six file) shorter and more informative. [Reported by AH]

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.

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.

When printing elements of an algebraic extension parentheses around
coefficients were missing. [Reported by Maxim Hendriks]
New or improved functionality

Make dynamic loading of modules possible on CYGWIN using a DLL based
approach. Also move to using autoconf version 2.61.

One can now call
Basis,
Iterator
etc. with the return value of the function
AlgebraicExtension.

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.)

Methods for testing membership in general linear groups and special linear
groups over the integers have been added.

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.

A ViewString method for objects with name
has been added.

The method for
View
for polynomial rings has been improved, and methods for
String and
ViewString for polynomial rings
have been added.

Binomial(n, k) now works with huge n.

The function
InducedClassFunctionsByFusionMap
is now documented.

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).
