Karim Belabas on Sun, 03 Oct 2004 19:59:39 +0200 |
[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]
Re: bug in poldegree? |
* Markus Endres [2004-10-03 17:22]: > on my system (debian) I use pari/gp 2.2.6 and the newest cvs-version > 2.2.8. > > now, lets have a look at the following polynomial: > > P= > (2.5134558550000000000000000000000000000000000000000000000000000000000000000000000 E-88 + 0.E-87*I)*y^2 + (1.0000000000000000000000000000000000000000000000000000000000000000000000000000000 + 0.E-86*I)*y + (1.6086117470000000000000000000000000000000000000000000000000000000000000000000000 E-86 - 1.6086117470000000000000000000000000000000000000000000000000000000000000000000000 E-86*I) > > I got this polynomial from some computings under 2.2.8. if I want to > know > > ? poldegree(P) > = -2147483647 > > I get this strange degree PARI's idea of -oo. >it should be 2. or possibly 1, since the leading coefficient is an inexact 0. [ Weird at first glance but the test x == 0 for complex numbers is implemented to mimic |x| == 0, and here abs(pollead(P)) is 0.E-87 ] > under pari/gp 2.2.6 and the stable version everything is ok. > > is this a bug? Yes, it's due to an unfortunate optimization I introduced: when adding two polynomials A and B of different degrees a > b, I assumed the result would be non-zero if A was non-zero. (Hence skiiped a normalization.) This isn't true if leading coefficients are (inexact) zero... It's fixed in CVS. Thanks, Karim. P.S: The preferred way to report a bug [ or generally enquire about surprising behaviour, or submit wishlist items... ] is to use the Bug Tracking System at http://pari.math.u-bordeaux.fr/Bugs/ -- Karim Belabas Tel: (+33) (0)1 69 15 57 48 Dep. de Mathematiques, Bat. 425 Fax: (+33) (0)1 69 15 60 19 Universite Paris-Sud http://www.math.u-psud.fr/~belabas/ F-91405 Orsay (France) http://pari.math.u-bordeaux.fr/ [PARI/GP]