\\package:elldata
K=nfinit(t^3-2);
e=ellinit([t+1,t^2 - (t^3+(t+1)*t)], K);
P=[t,t];
ellisoncurve(e, P)
elladd(e, P,P)
ellmul(e, P,3)
ellordinate(e, t)
ellordinate(e, t+1)
elldivpol(e, 3)
ellfromj(Mod(t,t^3-2))
ellinit(e, idealprimedec(K,2)[1])
ellinit(e, idealprimedec(K,5)[1])

{
  K = nfinit(t);
  forell(E, 1, 1000,
    my(e,N,f,P,loc1,loc2);
    e = ellinit(E[2],1);
    eK= ellinit(E[2],K);
    N = ellconvertname(E[1])[1];
    f = factor(N)[,1];
    for(i=1, #f,
      my(p = f[i]);
      if(p<=3, next);
      P=idealprimedec(K,p)[1];
      A=elllocalred(e,P.p);
      B=elllocalred(eK,P);
      if(A!=B, error(E[2]));
      if(ellap(e,p) != ellap(eK,P),error(E[2]))
    )
  )
}

K=nfinit(a^2+1);
P17 = idealprimedec(K,17)[1];
P13 = idealprimedec(K,13)[1];
P5 = idealprimedec(K,5)[1];
E=ellinit([1+a,0,1,0,0],K);
E2 = ellchangecurve(E, [17,0,0,0]);
[ellap(E2, P5), ellap(E2, P13), ellap(E2, P17)]
[ellcard(E2, P5), ellcard(E2, P13), ellcard(E2, P17)]
E3 = ellchangecurve(E, [1/17,a,a+1,0]);
ellap(E3, P17)
ellan(E2,20)
ellan(E3,20)
