Bill Allombert on Fri, 24 Feb 2006 21:55:53 +0100


[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]

Re: Two suggestions:


On Wed, Jan 18, 2006 at 03:36:14PM +0000, Prof. J. E. Cremona wrote:
> (1) As Bill has reported, although ellsearch() allows one to take from
> the database all elliptic curves with a given conductor, it is
> inefficient to do this in a loop, say from N=N1 to N=N2, since each call
> to ellsearch() causes the entire relevant database file to be read in.
> 
> I suggest adding a function of the form
> 
> forell(E,N1,N2, seq ) which would execute seq for all elliptic curves E
> in the database with N1 <= cond(E) <= N2;  which would only read each
> file once.
> 
> That's my first wish-list suggestion (of 2006).
> 
> (2) The elliptic curve databes holds each curve's id as a string, for
> example "20160cy2".  It would be convenient to be able to simply split
> this into 3 components, for example [20160,"cy",2].   

Hello PARI-dev;
Both forell() and ellconvertname() have been commited to PARI CVS.

? ellconvertname("20160cy2")
%1 = [20160, 76, 2]
? ellconvertname(%)
%2 = "20160cy2"

Example of use: check if ellglobalred compute the conductor correctly
for all curves of conductors <10000

{
  forell(E,1,9999,
    N = ellconvertname(E[1])[1];
    M = ellglobalred( ellinit(E[2], 1) )[1];
    if (N != M, print(e," bad for N = ",N))
  );
}

Cheers,
Bill.