Karim Belabas on Sun, 21 Dec 2008 13:34:22 +0100 |
[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]
Re: Functions elllderiv and ellanalyticrank |
* Bill Allombert [2008-12-20 20:31]: > On Sat, Dec 20, 2008 at 07:21:22PM +0100, Karim Belabas wrote: > > > With \p38, ellanalytic rank fails on a large number (about 1/3 so far) > > > of rank 5 curve in Womack database (it reports rank 1 instead of 5). > > > > > > An example: [0, 0, 0, -5187, 176830] > > > ? \p38 > > > realprecision = 38 significant digits > > > ? ellanalyticrank(ellinit([0, 0, 0, -5187, 176830])) > > > %102 = [1, 1278372.8304848296806080373284485378614] > > [...] > > > Clearly the value L'(1) is worng (independently of the rank of the curve). > > > > Fixed since svn-11480 (the an cache should have been initialized to 0). > > Now, ellanalytic report rank 5 for all the rank 5 curves in Womack > database. Good! > > One comment on ellanalyticrank(): > the instances of ellL1_i could reuse the vecsmall el->ap, growing it if > necessary. 1) actually, it should never need to grow, we need fewer coefficients as r increases. 2) with current thresholds and tunings, this would not have a noticeable effect : the cache bounds are hardcoded as sqrt(coeff bound), not in terms of available memory. And unfortunately, there are (many) more primes between sqrt(X) and X, than between 0 and sqrt(X)... For our favourite rank 5 example, e = ellinit([0,1,0,-5945,583879], 1); ellanalyticrank(e) re-using old *cached* values of ap lowers the total number of calls to ellap from 2941594 to 2922356... I implemented it nevertheless because it doesn't complicate too much the code. BGadd could be rewritten to cache all a_n for n < BOUND (not only prime values), with BOUND as large as possible given available stack space. But profiling the example shows that less than 1% of the total time is currently spent computing a_p's [ and marginally more computing a_n's ]. More than 95% of the time is spent computing the incomplete Mellin transforms... Cheers, K.B. -- 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-bordeaux.fr/~belabas/ F-33405 Talence (France) http://pari.math.u-bordeaux.fr/ [PARI/GP] `