This mail contains a bugfix for a dangerous problem in GAP 3.4.3.
*You should apply this bugfix as soon as possible if you are
computing with the VE share package*.
The problem is in 'PrintVEInput', and may cause wrong results for
presentations in characteristic zero that involve proper fractions.
HOW TO APPLY
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
if you are using the VE share package.
Go to the GAP directory (the directory with the 'pkg/' subdirectory),
name this mail 'bugfix11.dif', and issue the command:patch -p0 < bugfix11.dif
If '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 patch changes only a file with GAP code.
Thus you need not recompile the VE standalones.
'PrintVEInput' may produce a wrong input file for the VE program
in characteristic zero if the presentation contains non-integral
This may cause the standalone to crash, or may yield an incorrect
gap> RequirePackage( "ve" ); gap> a:= FreeAlgebra( Rationals, 1 );; gap> a:= a / [ a.1 - One( a ), 1/2 * a.1 - 1/2 * One( a ) ];; gap> a.operations.MatAlgebraA( a ); UnitalAlgebra( Rationals, [ [ [ 1 ] ] ] )
'Int' is called for the coefficients of the words in the presentation,
which is necessary for nonzero characteristics, but obviously should
not be done in characteristic zero.
Prereq: 3.0 --- pkg/ve/gap/ve.g 1994/05/10 19:14:38 +++ pkg/ve/gap/ve.g 1996/06/05 10:48:53 @@ -112,7 +112,11 @@ fi; for j in [ 1 .. Length( elm.words ) ] do - coeff:= Int( elm.coeff[j] ); + if char = 0 then + coeff:= elm.coeff[j]; + else + coeff:= Int( elm.coeff[j] ); + fi; if j > 1 and coeff > 0 then Pr( "+" ); fi; END OF bugfix11.dif ________________________________________________________