HEAP=[76, if(sizebyte(0)==16,4255,4403)];
default(realprecision,154); Pi; default(realprecision,38);
\e
ellinit([-1,0])
ellinit([-17,0],1)
ellsub(%,[-1,4],[-4,2])
ellj(I)
\\
acurve=ellinit([0,0,1,-1,0])
apoint=[2,2]
elladd(acurve,apoint,apoint)
ellak(acurve,1000000007)
ellan(acurve,100)
ellap(acurve,10007)
deu=direuler(p=2,100,1/(1-ellap(acurve,p)*x+if(acurve.disc%p,p,0)*x^2))
ellan(acurve,100)==deu
ellisoncurve(acurve,apoint)
acurve=ellchangecurve(acurve,[-1,1,2,3])
apoint=ellchangepoint(apoint,[-1,1,2,3])
ellisoncurve(acurve,apoint)
ellglobalred(acurve)
ellheight(acurve,apoint)
ellordinate(acurve,1)
ellpointtoz(acurve,apoint)
ellztopoint(acurve,%)
ellmul(acurve,apoint,10)
ellwp(acurve, x+O(x^33))
q*Ser(ellan(acurve,100),q)
\\
bcurve=ellinit([-3,0])
elllocalred(bcurve,2)
elltaniyama(bcurve)
\\
ccurve=ellinit([0,0,-1,-1,0])
l=elllseries(ccurve,2)
abs(elllseries(ccurve,2,1.2)-l) < 1.4e-38
\\
tcurve=ellinit([1,0,1,-19,26]);
ellorder(tcurve,[1,2])
elltors(tcurve)
\\
mcurve=ellinit([-17,0]);
mpoints=[[-1,4],[-4,2]]~;
mhbi=ellbil(mcurve,mpoints,[9,24])
ma=ellheightmatrix(mcurve,mpoints)
matsolve(ma,mhbi)
\\
cmcurve=ellinit([0,-3/4,0,-2,-1])
ellmul(cmcurve,[x,y],quadgen(-7))
if (getheap()!=HEAP, getheap())
