Bill Allombert on Wed, 03 Mar 2021 11:50:56 +0100


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

Re: New elldata package minor update (updated generators)


On Wed, Mar 03, 2021 at 10:11:56AM +0000, John Cremona wrote:
> ? E = ellinit([0, 0, 1, -79, 342])
> %1 = [0, 0, 1, -79, 342, 0, -158, 1369, -6241, 3792, -295704,
> -19047851, -54526169088/19047851, Vecsmall([1]), [Vecsmall([128,
> -1])], [0, 0, 0, 0, 0,
> 0, 0, 0]]
> ? ellglobalred(E)
> %2 = [19047851, [1, 0, 0, 0], 1, Mat([19047851, 1]), [[1, 5, 0, 1]]]
> ? ellrank(E)
> %3 = [5, 5, [[5, 8], [0, 18], [10, 23], [12, 33], [4, 9]]]
> ? ##
>   ***   last result computed in 32 ms.
> 
> This compares rather well with mwrank (3.5s, but only 396ms without
> saturation, which is a fairer comparison, though Bill has a good
> saturation implementation on the way).

Indeed, I recently added a function ellsaturation that you can use if
you know the bound. If I read correctly, mwrank uses bound 1000 in
this example so:

? ellsaturation(E,%[3],1000)
  *** ellsaturation: Warning: increasing stack size to 16000000.
%3 = [[5,8],[0,18],[10,23],[12,33],[4,9]]
? ##
  ***   last result computed in 334 ms.

Obviously the next step would be for ellsaturation to compute the bound
itself.

Cheers,
Bill.