Karim Belabas on Mon, 07 Nov 2005 19:43:13 +0100 |
[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]
Re: bug in ellglobalred() |
* Bill Allombert [2005-11-02 19:52]: > On Wed, Nov 02, 2005 at 04:33:45PM +0000, Prof. J. E. Cremona wrote: >> The following is wrong: >> >> GP/PARI CALCULATOR Version 2.2.12 (development CHANGES-1.1375) >> i686 running linux (ix86/GMP-4.1.4 kernel) 32-bit version >> compiled: Nov 2 2005, gcc-3.4.3 20041212 (Red Hat 3.4.3-9.EL4) >> (readline v4.3 enabled, extended help available) >> >> >> (16:29) gp > ellglobalred(ellinit( [0,0,0,-13980,313328])) >> %1 = [42816, [1, 0, 0, 0], 24] >> >> -- the conductor should be 128448, i.e. the exponent of 3 should be 2 >> and not 1. >> >> A fix would bemuch appreciated -- someone must have an idea of which >> recent changes might have caused this. > > This bug was introduced with this change: > > PatchSet 7337 > Date: 2005/10/29 15:40:01 > Author: kb > Branch: HEAD > Tag: (none) > Log: > 6- 'int' C type is now reserved for boolean values. Use 'long' instead. > > src/modules/elliptic.c:1.192->1.193 > > so 2.2.11 should be correct. > > It seems Karim 'u' key get stuck and a lot of 'int' became 'ulong' > sometime with side-effect. I believe I have now fixed the problem [ revert to signed computations! ] > We should probably use elldata to build a comprehensive test-suite for > ellglobalred(). John sent me a nice script doing exactly this. I've included it as 'make test-ellglobalred' (~ 5 minutes to check all conductors up to 10^4). Having installed elldata is a pre-requisite. Thanks! Karim. -- Karim Belabas Tel: (+33) (0)5 40 00 26 17 Universite Bordeaux 1 Fax: (+33) (0)5 40 00 69 50 351, cours de la Liberation http://www.math.u-bordeaux.fr/~belabas/ F-33405 Talence (France) http://pari.math.u-bordeaux.fr/ [PARI/GP]