> < ^ Date: Wed, 26 Jun 1996 17:29:00 +0100 (MET)
> < ^ From: Thomas Breuer <Thomas.Breuer@Math.RWTH-Aachen.DE >
^ Subject: BUGFIX 17 (DANGEROUS problem in 'LLL')

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 using
the function 'LLL'*. The problem is in 'LLL' when called with the
option '"sort"', and may cause it to produce inconsistent results.
This does affect neither the components 'irreducibles' and 'remainders'
of the result nor the functions 'LLLReducedBasis' and
'LLLReducedGramMat'.

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.

Go to the GAP directory (the directory with the 'lib/' subdirectory),
name this mail 'bugfix17.dif', and issue the command:

patch -p0 < bugfix17.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 bugfix changes only the library.
Thus you need not recompile the GAP kernel.

VERSION

GAP 3.4.3.0

DESCRIPTION

When 'LLL' is called with the optional parameter '"sort"', the vectors
in the 'remainders' component of the result are sorted but the component
'norms' is not, so these two components may be inconsistent.

CORRECT BEHAVIOUR

gap> t:= CharTable("J2");;
gap> x:= t.irreducibles{[2..5]};;
gap> tens:= Tensored( x, x );;
gap> lll:= LLL( t, tens, "sort" );;
gap> List( lll.remainders, x -> ScalarProduct( t, x, x ) ) = lll.norms;
true

COMMENT

PATCH

Prereq: 3.20
--- lib/ctlattic.g      Fri Jun 21 13:42:52 1996
+++ lib/ctlattic.g      Fri Jun 21 13:59:48 1996
@@ -2,7 +2,7 @@
 ##
 #A  ctlattic.g                  GAP library                       Ansgar Kaup
 ##
-#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
 ##
@@ -10,6 +10,9 @@
 ##  or less in the context of character tables).
 ##
 #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.5  2003/06/12 19:20:33  gap
 #H  Further update. AH
 #H
 #H  Revision 1.4  2003/06/12 17:28:25  gap
 #H  Address updates by JN. AH
 #H
 #H  Revision 1.3  1997/08/15 11:19:33  gap
 #H  New forum setup. AH
 #H
 #H  Revision 1.2  1997/04/24 15:32:47  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:04  gap
 #H  added forum archive and translation files.
 #H
+#H  Revision 3.20.1.1  1996/06/21  11:59:11  sam
+#H  fixed that 'norms' is also sorted when '"sort"' is specified
+#H
 #H  Revision 3.20  1994/06/22  16:47:20  sam
 #H  fixed call of 'LLL' with "sort" option
 #H
@@ -950,6 +953,7 @@
     # 6. Sort 'remainders' component if necessary.
     if "sort" in arg then
       perm:= SortCharactersCharTable( arg[1], lll.remainders, "degree" );
+      lll.norms:= Permuted( lll.norms, perm );
       if "linearcomb" in arg then
         lll.reddecomp:= Permuted( lll.reddecomp, perm );
       fi;
END OF  bugfix17.dif ________________________________________________________

> < [top]