Karim Belabas on Thu, 16 Feb 2012 02:06:45 +0100 |
[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]
Re: Complex AGM |
Package: pari Version: since f59d9e0c [2005] * Bill Allombert [2012-02-16 01:11]: > On Wed, Feb 15, 2012 at 03:24:21PM +0000, John Cremona wrote: > > For a definition of what "optimal" means and why it matters for > > elliptic curve period computations, see http://arxiv.org/abs/1011.0914 > > > > I am pretty sure that taking the principal square root will never give > > a sequence converging to zero. Using the optimal branch always gives > > the largest limit (and hence the smallest periods), though there is al > > ittle more to the question than that. > > In theory, I agree that should converge, but in practice (git-9749657) > > parisize = 8000000, primelimit = 500509 > ? agm(.1+I/1000,1) > *** at top-level: agm(.1+I/1000,1) > *** ^---------------- > *** agm: the PARI stack overflows ! That's quite unrelated, the bug is in precision(), precrealexact() to be precise. (01:45) gp > agm(.1+I/1000.,1) ^------ important ! time = 0 ms. %1 = 0.42504345251657375080360809311316525277 + 0.0011373632973048871855491442682160760332*I Looking at that function precrealexact() [ which I wrote about 7 years ago ], I have no idea why it should ever have been useful or necessary. As I see it now, precision(t_COMPLEX with a *small, exact* component [= t_FRAC]) is just broken (larger than it should be). The bug never surfaced because agm1() seems to be the only function using 'precision' with t_COMPLEX inputs to ensure termination. (In that case an unachievable accuracy is required.) And AGM is basically untested: (2:02) colibri-kb% grep agm src/test/in/* src/test/in/compat:agm(1,2) src/test/in/compat:agm(1+o(7^5),8+o(7^5)) src/test/in/compat:logagm(2) src/test/in/trans:agm(1,2) src/test/in/trans:agm(1+O(7^5),8+O(7^5)) I'll have another look tomorrow [and add tests] :-) Cheers, K.B. P.S: For the record: the threshold used to switch between log / logagm for t_COMPLEX inputs is unrelated to the input accuracy... :-( Bug number 2. -- Karim Belabas, IMB (UMR 5251) 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-bordeaux1.fr/~belabas/ F-33405 Talence (France) http://pari.math.u-bordeaux1.fr/ [PARI/GP] `