Karim BELABAS on Sat, 12 Dec 1998 16:39:38 +0100 (MET)


[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]

Re: roundoff(?) bug


[Igor:]
> ? A=x^12+16;
> ? B=x^12+4*x^9+22*x^6+12*x^3+2;
> ? C=x^12-4*x^9+22*x^6-12*x^3+2;
> ? setsearch(Set(polred(B)),A)
> 2
> ? setsearch(Set(polred(B)),C)
> 3
> ? setsearch(Set(polredabs(A,4)),B)
> 2
> ? setsearch(Set(polredabs(B,4)),C)
> 4
> ? setsearch(Set(polredabs(A,4)),C)
> 0
> 
> First two setsearch() commands verify that all three polynomials
> define the same number field.
> 
> The 3rd setsearch() command indicates that B has the same t2-norm as A. 
> The 4th setsearch() command indicates that C has the same t2-norm as B.
> However, 
> The 5th setsearch() command indicates that C *does not* have the same
> t2-norm as A.
> 
> I'll allow myself to speculate that a round-off error occurred
> somewhere, probably during the polroots() stage.

Since C(-x) = B(x), they do have the same T2-norm. The "bug" is in the
documentation:

   4: Give all polynomials of minimal T_2 norm.

should read:

   4: Give all polynomials of minimal T_2 norm (only one of P(x) and P(-x) is
given)

And in version 2.0.13.alpha, it is actually true (in 2.0.12, you can have
duplicates in the output of polredabs(., 4)).

Karim.
--
Karim Belabas                    email: Karim.Belabas@math.u-psud.fr
Dep. de Mathematiques, Bat. 425
Universite Paris-Sud             Tel: (00 33) 1 69 15 57 48
F-91405 Orsay (France)           Fax: (00 33) 1 69 15 60 19
--
PARI/GP Home Page: http://pari.home.ml.org