e = ellfromeqn(a*x^2+y^2 - (1+d*x^2*y^2)) e = ellfromj(3) E = ellinit(e); E.j \\ j-invariant E.disc \\ discriminant u = ffgen([101,2],’u); E = ellinit([10,81*u+94],u); [a1,a2,a3,a4,a6]=E[1..5] E.e4 ellcard(E) \\ cardinal of E(F_q) P = random(E) \\ random point on E(F_q) Q = random(E) \\ another random point on E(F_q) ellisoncurve(E, P) \\ check that the point is on the curve elladd(E, P, Q) \\ P+Q in E ellsub(E, P, Q) \\ P-Q in E, set P=[0] to get the inverse of Q (or ellneg) ellmul(E, P, 100) \\ 100.P in E ellorder(E,P) \\order of P [d1,d2]=ellgroup(E) \\ structure of E(F_q) [G1,G2] = ellgenerators(E) \\ minimal generating set ellorder(E,G1) w = ellweilpairing(E,G1,G2,d1) \\ Weil pairing of G1 and G2 of order d1 fforder(w) e = random(d1); S = ellmul(E,P,e) \\ e.P in E elllog(E,S,P) e et = elltwist(E) Et = ellinit(et); ellap(E) ellap(Et) P3 = ellmul(E,G1,d1/3); ellorder(E,P3) [eq,iso] = ellisogeny(E,P3); eq iso G1q = ellisogenyapply(iso, G1) Eq = ellinit(eq); ellorder(Eq, G1q) E = ellinit([0,1,1,-2,0]); E.j E.disc N = ellglobalred(E)[1] tor = elltors(E) \\ trivial G = ellgenerators(E) E=ellinit(ellfromj(3));E[1..5] ellglobalred(E)[1] E.disc Em=ellminimalmodel(E); Em[1..5] Em.disc t=ellminimaltwist(E) Et=ellminimalmodel(ellinit(elltwist(E,t))); Et[1..5] ellglobalred(Et)[1] Et.disc E=ellinit([0,1,1,-7,5]); ellratpoints(E,100) ellrank(E) E = ellinit([-289,1]); ellrank(E) E = ellinit([-157^2,0]); lfunorderzero(E) P = ellheegner(E) E=ellinit([0,1,1,-7,5]); lfunorderzero(E) P = ellheegner(E) ellisoncurve(E,P) [L,M]=ellisomat(E); M \\ isogeny matrix [e2,iso2,isod2]=L[2] E2 = ellinit(e2); P2 = ellisogenyapply(iso2,P) ellisoncurve(E2,P2) ellheight(E2,P2)/ellheight(E,P) Q = ellisogenyapply(isod2,P2) ellmul(E,P,3) nf = nfinit(a^2-5); phi = (1+a)/2; E = ellinit([1,phi+1,phi,phi,0],nf); E.j E.disc N = ellglobalred(E)[1] tor = elltors(E) \\ Z/8Z [pr1, pr2] = idealprimedec(nf,31); elllocalred(E,pr1) \\ multiplicative reduction ellap(E,pr1) \\ -1: non-split elllocalred(E,pr2) \\ good reduction E2 = ellinit(E, pr2); \\ reduction of E mod pr2 E2.j ellap(E2) ellgroup(E2) \\ Z/24Z