John Cremona on Wed, 16 May 2012 12:56:14 +0200 |
[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]
Re: elliptic curves with prescribed periods |
As it happens I wanted exactly this function myself just now. Your f() as defined here did not work for me using version 2.5.1, but is OK with 2.6.0. In case anyone is interested, I had periods approximately [2*x,x+y*I] with x=0.0017237131288014931634375894696418139876 and y=0.0088075252675047227730811538038700492673 and Bill's function allowed me to recover the curve's minimal model as [1, 1, 1, -229872576744, -42424810617266967]. This curve has conductor 238854 and will soon be baptised as 238854bk1. The additional step I needed was: from the output of Bill's function, say e0, you take e0.c4 and e0.c6, round them to get c4,c6 and then return ellminimalmodel([0,0,0,-27*c4,-54*c6]). To cut out the middle step, just define c4=12*g2=12*elleisnum(om,4,1), c6=216*g3=216*elleisnum(om,6,1). the scaling factors 12,216 are on page 45 of my book. Hence: x=0.0017237131288014931634375894696418139876 y=0.0088075252675047227730811538038700492673 om=92*x,x+y*I] ellminimalmodel(ellinit([0,0,0,-27*round(12*elleisnum(om,4,1)),-54*round(216*elleisnum(om,6,1))])) returns [1, 1, 1, -229872576744, -42424810617266967,...] John On 13 May 2012 20:36, Bill Allombert <Bill.Allombert@math.u-bordeaux1.fr> wrote: > On Sat, May 12, 2012 at 02:14:04PM +0200, Bill Allombert wrote: >> Dear PARI users, >> >> Is there a convenient way to build an elliptic curve with prescribed period in >> ellinit Weierstrass form ? >> g2=elleisnum(om,4,1); >> g3=elleisnum(om,6,1); will give you the curve in the form >> y^2 = 4*x^3 - g2*x - g3 >> and then you will have to do a coordinate change before being able to use ellinit, >> which is not very convenient. > > Well it seems the correct formula is > > f(om)=ellinit(-1/4*[elleisnum(om,4,1),elleisnum(om,6,1)]) > > so that f(om).omega==om > > Cheers, > Bill. >