Karim BELABAS on Tue, 5 Nov 2002 19:24:45 +0100 (MET) |
[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]
Re: algdep broken in CVS? |
On Mon, 4 Nov 2002, Walter Neumann wrote: > ? \p 100 > realprecision = 105 significant digits (100 digits displayed) > ? algdep(-0.4069120261052675797560574441231568535556673337801938479247370708077934235,9) > %1 = > 52775528730.27395999523634651512624857668174274102147702806403796806149593278872705789068364737873087 > ? algdep(-0.4069120261052675797560574441231568535556673337801938479247370708077934235,11) > %2 = 420674172.111723046968544452271610476025831439935714920459 > > Here is what 2.1.4 release says: > gp > algdep(-0.4069120261052675797560574441231568535556673337801938479247370708077934235,9) > %1 = 662993*x^9 + 155978*x^8 - 966575*x^7 + 159262*x^6 + 612084*x^5 - > 1115394*x^4 + 94188*x^3 - 337004*x^2 - 1341138*x - 448594 > gp > algdep(-0.4069120261052675797560574441231568535556673337801938479247370708077934235,11) > %2 = x^11 - x^10 - 10*x^9 + 9*x^8 + 36*x^7 - 28*x^6 - 56*x^5 + 35*x^4 + > 35*x^3 - 15*x^2 - 6*x + 1 The NEW result is the expected behaviour. The old one is "broken". realprecision is '105', but your input has only 73 significant digits, so the number which is actually sent to algdep has 32 '0' appended to its decimal expansion. This is relatively far from an algebraic integer of degree <= 11 ( e.g. evaluating the "correct" polynomial on this floating point number yields ~ 1E-73, which is much larger than 1E-105 ). At \p73, everything is fine. 2.2.5 uses PSLQ which either * returns a polynomial which evaluates to 0 at the input precision [ I have just changed that. It used to be "at realprecision" which led to weird results if you changed the precision after approximating your algebraic number. Now PSLQ is insensitive to realprecision ] or * returns a real number B and guarantees that no polynomial of height less than B can evaluate to 0. 2.1.4 uses a different, heuristic, algorithm (variant of LLL, with guesstimated precision). Nothing is guaranteed about the result. We may miss an obvious polynomial, or return an artefact. Hope this helps, Karim. -- Karim Belabas Tel: (+33) (0)1 69 15 57 48 Dép. de Mathematiques, Bat. 425 Fax: (+33) (0)1 69 15 60 19 Université Paris-Sud Email: Karim.Belabas@math.u-psud.fr F-91405 Orsay (France) http://www.math.u-psud.fr/~belabas/ -- PARI/GP Home Page: http://www.parigp-home.de/