GAP 4.4 Update 10 (October 2007)
New or improved functionality

Files in the 'cnf' directory of the GAP
distribution are now archived as binary files. Now GAP can be installed with UNIX or with WINDOWS style
line breaks on any system and should work without problems.

Since large finite fields are available,
some restrictions in the code for computing irreducible modules
over finite fields are no longer necessary.
(They had been introduced in order to give better error messages.)

Made PositionSublist faster in case the search string does not contain
repetitive patterns.

The function MakeImmutable now returns
its argument.

Dynamically loaded modules now work on Mac OS X. As a consequence,
this allows to work with the Browse, EDIM and IO packages on Mac OS X.

Introduced ViewObj and
PrintObj methods for algebraic number fields. Made
them applicable to AlgebraicExtension by adding the
property IsNumberField in the infinite field case.

The function
CharacterTableRegular
is documented now.

The function
ScalarProduct
now accepts also Brauer characters as arguments.

The function
QuaternionAlgebra
now accepts also a list of field elements instead of a field.
Also, now the comparison of return values (w.r.t. equality, containment)
yields true if the parameters coincide and the
ground fields fit.

The function
RemoveCharacters is now documented.

Lists in GAP sometimes occupy memory for
possible additional entries. Now plain lists and strings read by GAP and the lists returned by
List
only occupy the memory they really need. For more details see the
documentation of the new function
EmptyPlist.

There are some new Conway polynomials in characteristic 2 and 3 provided by
Kate Minola.

A new operation MemoryUsage determines the
memory usage in bytes of an object and all its subobjects. It does
not consider families and types but handles arbitrary selfreferential
structures of objects.
Fixed bugs which could produce wrong results

When forming the semidirect product of a matrix group with a vector space
over a nonprime field
the embedding of the vector space gave a wrong result. [Reported by anvita21]

DefaultRing failed for constant polynomials over nonprime fields. [Reported by Stefan Kohl]

The method in ffeconway.gi that gets coefficients WRT to the
canonical basis of the field from the representation is only correct
if the basis is over the prime field. Added a TryNextMethod if this
is not the case. [Reported by Alla Detinko]

Creating a large (>2^16) field over a nonprime subfield went completely
wrong.
[Reported by Jack Schmidt, from Alla Detinko]

A method for Coefficients for Conway polynomial FFEs
didn't check that the basis provided was the canonical basis of
the RIGHT field.
[Reported by BE]

An elementary abelian series was calculated wrongly. [Reported by N. Sieben]

Orbits on sets of transformations failed.

Wrong methods for
GeneratorsOfRing and
GeneratorsOfRingWithOne
have been removed. These methods were based on the assumption
that one can obtain a set of ring generators by taking the
union of a known set of field generators, the set of the
inverses of these field generators and {1}.

The name of a group of order 117600 and degree 50 was
incorrect in the Primitive Permutation Groups library.
In particular, a group was wrongly labelled as PGL(2, 49).

There was a possible error in `SubgroupsSolvableGroup' when computing
subgroups within a subgroup.

An error in 2Cohomology computation for pc groups was fixed.

`IsConjugate' used normality in a wrong supergroup
Fixed bugs which could lead to crashes

GAP crashed when the
PATH environment variable was not set. [Reported by Robert F. Morse]

GAP could crash when started with option
x 1 . Now the number of columns is initialized with at
least 2. [Reported by Robert F. Morse]

After loading a saved workspace GAP
crashed when one tried to slice
a compressed vector over a field with 2 < q <= 256 elements, which had
already existed in the saved workspace. [Reported by Laurent Bartholdi]

FFECONWAY.WriteOverSmallestCommonField tripped up when the common field is smaller than the
field over which some of the vector elements are written, because it did a test based on
the degree of the element, not the field it is written over. [Reported by TB]

Fixed the following error:
When an FFE in the Conway polynomial representation actually lied in a field that
is handled in the internal representation (eg GF(3)) and you tried to write it over
a bigger field that is ALSO handled internally (eg GF(9)) you got an element written over
the larger field, but in the Conway polynomial representation, which is forbidden.
[Reported by Jack Schmidt]

Attempting to compress a vector containing elements of a small finite field
represented as elements of a bigger (external) field caused a
segfault. [Reported by Edmund Robertson]

GAP crashed when BlistList was called with a range and a list containing
large integers or nonintegers. [Reported by Laurent Bartholdi]

GAP no longer crashes when
OnTuples is called with a list that contains
holes. [Reported by TB]
Other fixed bugs

`Socle' for the trivial group could produce an error message.

DirectoryContents ran into an error for immutable strings
without trailing slash as argument. [Reported by TB]

The functions
IsInjective and
IsSingleValued
did not work for general linear mappings with trivial (pre)image. [Reported by Alper Odabas]

Creating an enumerator for a prime field with more than 65536 elements ran
into an infinite recursion. [Reported by Akos Seress]

The performance of List, Filtered, Number, ForAll, and ForAny if
applied to noninternally represented lists was improved. Also
the performance of iterators for lists was slightly improved.

Finite field elements now know that they can be sorted easily which
improves performance in certain lookups.

A method for
IsSubset was missing for the case that exactly one argument
is an inhomogeneous list. [Reported by Laurent Bartholdi]

Long integers in expressions are now printed (was not yet implemented). [Reported by TB]

Fixed kernel function for printing records.

New C library interfaces (e.g., to ncurses in Browse) need some more memory
to be allocated with 'malloc'. The default value of GAPs 'a' option is now
'2m'.

Avoid warnings about pointer types by newer gcc compilers.

IsBound(l[pos]) was failing for large integer <pos> only when coded (eg in a loop or function body).

ZmodpZObj is now a synonym for
ZmodnZObj such that from now on such
objects print in a way that can be read back into GAP.

The outdated note that binary streams are not yet implemented has been
removed.
