E=ellinit([a4,a6]); E=ellinit([a1,a2,a3,a4,a6]); e = ellfromeqn(a*x^2+y^2 - (1+d*x^2*y^2)) e = ellfromj(3) E = ellinit(e); E.j E.disc u = ffgen([2^33+17,2],'u); E = ellinit(ellfromj(u+17),u); 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 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) \\ generators of E(F_q) ellorder(E,G1) w = ellweilpairing(E,G1,G2,d1) \\ Weil pairing of P and Q of order o fforder(w) et = elltwist(E) Et = ellinit(et); ellap(E) ellap(Et) E = ellinit([0,1,1,-2,0]); E.j E.disc N = ellglobalred(E)[1] tor = elltors(E) \\ trivial lfunorderzero(E) G = ellgenerators(E) \\ with elldata G = [[-1,1],[0,0]]; \\ without elldata tam = elltamagawa(E) reg = matdet(ellheightmatrix(E,G)); bsd = (E.omega[1]*tam)*reg L1 = lfun(E,1,2)/2! ellmoddegree(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]); lfunorderzero(E) P = ellheegner(E) elltors(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) \\ multliplicative 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 emb = [ellinit(subst(lift(E),a,r))|r<-nf.roots]; per = emb[1].omega[1]*emb[2].omega[1]; tam = elltamagawa(E) bsd = (per*tam) / (tor[1]^2*sqrt(abs(nf.disc))) L1 = lfun(E,1)