Karim Belabas on Wed, 16 May 2012 13:54:16 +0200 |
[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]
Re: elliptic curves with prescribed periods |
* John Cremona [2012-05-16 12:56]: > 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,...] Funny. The whole point of elleisnum(..., flag = 1) is to activate the following code snippet: else if (k==4 && flag) y = gdivgs(y, 12); else if (k==6 && flag) y = gdivgs(y,-216); which your code then gets rid of. Final shortcut: x = 0.0017237131288014931634375894696418139876; y = 0.0088075252675047227730811538038700492673; om = [2*x,x+y*I]; ellminimalmodel(ellinit([-27*round(elleisnum(om,4)),54*round(elleisnum(om,6))])) :-) 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-bordeaux1.fr/~belabas/ F-33405 Talence (France) http://pari.math.u-bordeaux1.fr/ [PARI/GP] `