| 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]
`