Bill Allombert on Sat, 16 Jul 2016 20:04:20 +0200


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

Re: Support for elliptic curves over number fields


On Sat, Jul 16, 2016 at 06:06:55PM +0200, Bill Allombert wrote:
> Dear PARI developers,
> 
> We have added basic support for elliptic curves over number fields and L
> function of elliptic curves over number fields.
> 
> This is an example:
> 
> ? N=nfinit(a^3-26);
> ? E=ellinit([a,0,1,0,0],N);
> ? lfun(E,1)
> %4 = 0.24961216776576924744553489082015201012

For thus who are interested, the following script checks the 
Birch and Swinnerton-Dyer conjecture for rank-0 curves.

? N=nfinit(a^3-26);
? E=ellinit([a,0,1,0,0],N);
? bsd(E)
%3 = 0.99999999999999999999999999999999999999

(I do not know how to compute the height of points for rank-1 curves.)

Cheers,
Bill.
per(E)=
{
  factorback([if(1,my(e=ellinit(subst(lift(E[1..5]),a,z)));
                   if(imag(z),e.area,e.omega[1]))|z<-E.nf.roots])
}

tam(E)=
{
  my(F=idealfactor(E.nf,E.disc)[,1]);
  factorback(vector(#F,i,elllocalred(E,F[i])[4]));
}

tamoo(E)=
{
 factorback([if(1,if(imag(r)==0 && subst(lift(E.disc),'a,r) < 0,1,2))|r<-E.nf.roots]);
}

bsd(E,k=0)=
{
 L=lfuncreate(E);
 om = per(E);
 too=tamoo(E);
 bs = om*tam(E)*too/elltors(E)[1]^2/sqrt(abs(E.nf.disc));
 lfun(L,1,k)/bs
}