> < ^ From:

^ Subject:

Dear Forum,

This is to announce bugfix number 12 for GAP3. You should *not* apply this

bugfix to GAP4.

The priority of this fix is high.

This fix corrects:

1) a problem with the arithmetic for finite fields,

2) a problem with the functions `Coefficients' and `in' for elements

of row spaces.

Error 1 may cause GAP to return wrong results. More specifically,

computing `( Z( q )^m )^n' may give

wrong results. In GAP3.4.4 without this bugfix the following happens:

gap> ( Z(3^10)^36369 )^59048; Z(3^10)^13568

and this last answer should return the identity of the field with 3^10

elements.

Error 2 may cause wrong results, or may cause GAP to give an error

message. This error occurs only if `Coefficients' or `in' are called for a

row vector whose length differs from the length of the vectors in the row

space in question; this means that in practice, this error is not likely

to occur.

At the end of this message there are some examples illustrating the fix.

Many thanks to David Bowen for reporting error 1.

To apply the fix, load the zoo archive 'fix12.zoo' from the

bugfixes web page

http://www-gap.dcs.st-and.ac.uk/~gap/Info/bugfixes.html

Alternatively you can find this file in the 'gap-3.4.4/bugfixes' directory of

the GAP ftp distribution.

Unpack the file in the home directory of your GAP distribution (the

directory containing the 'lib' and 'grp' directories) using 'unzoo -x

fix12.zoo'. `unzoo' may ask you for permissions to overwrite files,

answer this with Y)es or A)ll. This will replace the erroneous file by

fixed versions.

As this fix changes the source you will have to recompile. Windows and MAC

users will find new binaries, together with installation instructions,

on the web page of the GAP3 distribution

(http://www-history.mcs.st-and.ac.uk/~gap/Info/distrib.html).

You can remove the file 'description12' afterwards.

Willem de Graaf 25-Nov-99 ############################################################################# # # these commands should run without error if fix12 has been applied. # F:= GF(3^10); r:= F.root; qq:= Size( F ) - 1; if (r^36369)^qq <> One(F) then Print("Error\n"); fi; v:= GF(2)^2;; b:= Basis( v, [ [ 1, 1 ], [ 0, 1 ] ] * Z(2) );; IsSemiEchelonBasis( b );; Coefficients( b, [ 0*Z(2) ] ); [ 0*Z(2) ] in v;

> < [top]