This mail contains a bugfix for a dangerous problem in GAP 3.4.3.
*You should apply this bugfix as soon as possible*.
The problem is in 'FieldOps.IsSubset', and causes it to produce
wrong results in some cases.
ACKNOWLEDGEMENT
We thank Richard Rossmanith (University of Jena) for bringing this
problem to our attention in a message to 'GAP-Trouble' of 1996/09/13.
VERSION
GAP/lib 3.4.3.0
PRIORITY
The problem is a *dangerous* problem, because it may cause
a computation to produce incorrect results without a warning.
Thus the bugfix has *high priority*, and we recommend that
you apply it as soon as possible.
HOW TO APPLY
Go to the GAP directory (the directory with the 'lib/' subdirectory),
name this mail 'fix23lib.dif', and issue the command:patch -p0 < fix23lib.difIf 'patch' writes "I can't seem to find a patch in there" try 'patch -v'.
If 'patch -v' gives an error message or reports a version older than 2.1,
get 2.1 from 'ftp://FTP.Math.RWTH-Aachen.DE/pub/gap/utils/patch2_1.zoo'.This fix changes only the library.
Thus you need not recompile the GAP kernel.
DESCRIPTION
When 'IsSubset' is called with two arguments, one of them a field
and the other not a field, the result is correct only if the two
arguments are equal.gap> IsSubset( GF(2), [ One(GF(2)) ] ); false
CORRECT BEHAVIOUR
gap> IsSubset( GF(2), [ Z(2) ] ); true
COMMENT
When 'IsSubset' is called with two arguments, one of them a field
and the other not a field, it delegated to 'DomainOps.\=' instead of
'DomainOps.IsSubset'.
DIFFS
Prereq: 3.16.1.1 --- lib/field.g Mon Sep 16 11:11:10 1996 +++ lib/field.g Mon Sep 16 11:34:02 1996 @@ -2,14 +2,17 @@ ## #A field.g GAP library Martin Schoenert ## -#A @(#)$Id: 1.html,v 1.2 2004/04/21 15:03:10 felsch Exp $ +#A @(#)$Id: 1.html,v 1.2 2004/04/21 15:03:10 felsch Exp $ ## #Y Copyright 1990-1992, Lehrstuhl D fuer Mathematik, RWTH Aachen, Germany ## ## This file contains those functions that are dispatcher for fields. ## #H $Log: 1.html,v $ #H Revision 1.2 2004/04/21 15:03:10 felsch #H Corrected links in the Forum Archive pages. VF #H #H Revision 1.1.1.1 2004/04/20 13:39:30 felsch #H The final GAP-Forum archive until 2003. #H #H Revision 1.4 2003/06/12 19:20:34 gap #H Further update. AH #H #H Revision 1.3 1997/08/15 11:19:38 gap #H New forum setup. AH #H #H Revision 1.2 1997/04/24 15:33:16 gap #H These files were replaced by the versions in WWW. The content is basically the #H same but the formatting has been much more friendly towards the HTML-Converter. #H AH #H #H Revision 1.1 1996/10/30 13:07:07 gap #H added forum archive and translation files. #H -#H Revision 3.16.1.1 1995/08/03 09:37:06 ahulpke +#H Revision 3.16.1.2 1996/09/16 09:33:35 sam +#H fixed bug in 'FieldOps.IsSubset' (delegated to 'DomainOps.\=') +#H +#H Revision 3.16.1.1 1995/08/03 09:37:06 ahulpke #H changed 'Copy(coeffs)' to 'ShallowCopy(coeffs)' #H #H Revision 3.16 1994/05/06 12:42:09 sam @@ -135,16 +138,16 @@ elif IsField( G ) then isSub := false; else - isSub := DomainOps.\=( F, G ); + isSub := DomainOps.IsSubset( F, G ); fi; elif IsField( F ) then if IsField( G ) then isSub := ForAll( G.generators, g -> g in F ); else - isSub := DomainOps.\=( F, G ); + isSub := DomainOps.IsSubset( F, G ); fi; else - isSub := DomainOps.\=( F, G ); + isSub := DomainOps.IsSubset( F, G ); fi; return isSub; end; END OF fix23lib.dif ________________________________________________________