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([101,2],'u); E = ellinit([10,81*u+94],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) ellorder(E,G1) w = ellweilpairing(E,G1,G2,d1) fforder(w) t = elltatepairing(E,G2,G1,d2)^((101^2-1)/d2) fforder(t) e = random(d1); S = ellmul(E,P,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 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 ellbsd(E)*reg L1 = lfun(E,1,2)/2! 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) hyperellratpoints(x^6+x+1,100) \\ y^2 = x^6+x+1 (19/20)^6+(19/20)+1-(13109/8000)^2 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) E=ellinit("11a1"); ellglobalred(E)[1] E=ellinit([3,4]); ellidentify(E) ellconvertname("1440i1") ellsearch(27) forell(E,1,50,print(E)) 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 om = E.omega per = om[1][1]*om[2][1]; tam = elltamagawa(E) bsd = (per*tam) / (tor[1]^2*sqrt(abs(nf.disc))) ellbsd(E) L1 = lfun(E,1)