---------- contents ---------- ecff.m contains the following intrinsics LocalInformation(E::CrvEll[FldFunG], v::PlcFunElt) -> Tup,CrvEll LocalInformation(E::CrvEll[FldFun]) -> SeqEnum Conductor(E::CrvEll[FldFunG]) -> DivFunElt TamagawaNumber(E::CrvEll[FldFunG],v::PlcFunElt) -> RngIntElt TamagawaNumbers(E::CrvEll[FldFunG]) -> SeqEnum BadPlaces(E::CrvEll[FldFunG]) -> . Reduction(E::CrvEll[FldFunG],v::PlcFunElt) -> CrvEll EllNp(E::CrvEll[FldFunG],v::PlcFunElt) -> RngIntElt TorsionSubgroup(E::CrvEll[FldFunG]) -> GrpAb, Map note that Height is already defined for CrvEll[FldFunG] by Martine Girard in ht.ff.m ------------------- bugs and problems ------------------- It does not accept EllipticCurves over k(T), i.e. FldFunRat, it needs to be an extension of it, i.e. FldFun, even a trivial will do. (see example 1 below) Reduction (and hence EllNp) seems not to work for infinite places. ----------- example 1 ----------- > k := GF(11); > R := FunctionField(k); > P := PolynomialRing(R); > F := FunctionField(S-T); > E := EllipticCurve([1 +S, S ,S ,0,0]); > P := E ! [0,0] ; > 5 * P ; (0 : 1 : 0) > BadPlaces(E); [ (1/T), (T), (T + 1), (T + 10) ] > v := BadPlaces(E)[3]; > TamagawaNumber(E,v); 1 > TamagawaNumbers(E); [ 5, 5, 1, 1 ] > Conductor(E); (1/T) + (T) + (T + 1) + (T + 10) > lred, Emin := LocalInformation(E,v); > lred; <(T + 1), 1, 1, 1, I1> > LocalInformation(E); [ <(1/T), 5, 1, 5, I5>, <(T), 5, 1, 5, I5>, <(T + 1), 1, 1, 1, I1>, <(T + 10), 1, 1, 1, I1> ] > G, i := TorsionSubgroup(E); G; > G; Abelian Group isomorphic to Z/5 Defined on 1 generator Relations: 5*G.1 = 0 > #G; 5 > i(G.1); (0 : 0 : 1) > Height(P); 0 ----------- example 2 ----------- > k := GF(11); > R := FunctionField(k); > P := PolynomialRing(R); > F := FunctionField(S^2 - T^6- T - 1); > F; Algebraic function field defined over Univariate rational function field over GF(11) by S^2 + 10*T^6 + 10*T + 10 > Genus(F); 2 > E := EllipticCurve([ 0,0,0, S, S^2]); > BadPlaces(E); [ (T^2 + 2*T + 6, S), (T^2 + 6*T + 10, S + 3), (T^3 + 3*T^2 + 2*T + 4, S), (T^3 + 9*T^2 + 7*T + 9, S + 3), (T + 6, S), (T + 7, S + 3) ] > v := BadPlaces(E)[3]; > TamagawaNumber(E,v); 2 > TamagawaNumbers(E); [ 2, 1, 2, 1, 2, 1 ] > Conductor(E); 2*(T^2 + 2*T + 6, S) + (T^2 + 6*T + 10, S + 3) + 2*(T^3 + 3*T^2 + 2*T + 4, S) + (T^3 + 9*T^2 + 7*T + 9, S + 3) + 2*(T + 6, S) + (T + 7, S + 3) > lred, Emin := LocalInformation(E,v); > lred; <(T^3 + 3*T^2 + 2*T + 4, S), 3, 2, 2, III> > Emin; Elliptic Curve defined by y^2 = x^3 + S*x + (T^6 + T + 1) over F > LocalInformation(E); [ <(T^2 + 2*T + 6, S), 3, 2, 2, III>, <(T^2 + 6*T + 10, S + 3), 1, 1, 1, I1>, <(T^3 + 3*T^2 + 2*T + 4, S), 3, 2, 2, III>, <(T^3 + 9*T^2 + 7*T + 9, S + 3), 1, 1, 1, I1>, <(1/T, 1/T^3*S + (T + 1)/T), 0, 0, 1, I0>, <(1/T, 1/T^3*S + (10*T + 1)/T), 0, 0, 1, I0>, <(T + 6, S), 3, 2, 2, III>, <(T + 7, S + 3), 1, 1, 1, I1> ] > G, i := TorsionSubgroup(E); > G; Abelian Group of order 1 Defined on 1 generator Relations: G.1 = 0 ----------- example 3 ----------- // a curve with 11 -torsion, Silverman II, page 190. > k := GF(5); > R := FunctionField(k); > P := PolynomialRing(R); > F := FunctionField(S^2 -S -T^3 + T^2); > F; Algebraic function field defined over Univariate rational function field over GF(5) by S^2 + 4*S + 4*T^3 + T^2 > Genus(F); 1 > E := EllipticCurve([S*T+T-S^2, S*(S-1)*(S-T)*T, S*(S-1)*(S-T)*T^2,0,0]); > P := E ! [0,0] ; > 11*P; (0 : 1 : 0) > BadPlaces(E); [ (1/T, 1/T^2*S), (T, S + T), (T, S + T + 4), (T + 4, S), (T + 4, S + 4), (T^5 + 2*T^4 + 4*T^2 + 3*T + 1, S + 3*T^4 + 3*T^3 + 4*T^2 + 3*T) ] > v := BadPlaces(E)[3]; > TamagawaNumber(E,v); 11 > TamagawaNumbers(E); [ 11, 11, 11, 11, 11, 1 ] > Conductor(E); (1/T, 1/T^2*S) + (T, S + T) + (T, S + T + 4) + (T + 4, S) + (T + 4, S + 4) + (T^5 + 2*T^4 + 4*T^2 + 3*T + 1, S + 3*T^4 + 3*T^3 + 4*T^2 + 3*T) > lred, Emin := LocalInformation(E,v); > lred; <(T, S + T + 4), 11, 1, 11, I11> > Emin; Elliptic Curve defined by y^2 + ((T + 4)*S + (4*T^3 + T^2 + T))*x*y + ((T^5 + 4*T^4)*S + (4*T^6 + T^5))*y = x^3 + ((T^4 + 4*T^3)*S + (4*T^5 + T^4))*x^2 over F > LocalInformation(E); [ <(1/T, 1/T^2*S), 11, 1, 11, I11>, <(T, S + T), 11, 1, 11, I11>, <(T, S + T + 4), 11, 1, 11, I11>, <(T + 4, S), 11, 1, 11, I11>, <(T + 4, S + 4), 11, 1, 11, I11>, <(T^5 + 2*T^4 + 4*T^2 + 3*T + 1, S + 3*T^4 + 3*T^3 + 4*T^2 + 3*T), 1, 1, 1, I1> ] > G, i := TorsionSubgroup(E); G; > G; Abelian Group isomorphic to Z/11 Defined on 1 generator Relations: 11*G.1 = 0 ----------- example 4 ----------- // a curve with a point of infinite order, Silverman II, page 189. > k := GF(101); > R := FunctionField(k); > P := PolynomialRing(R); > F := FunctionField(S-T); > F; Algebraic function field defined over Univariate rational function field over GF(101) by S + 100*T > Genus(F); 0 > E := EllipticCurve([0,0,0,-S^2,S^2]); > P := E ! [S,S] ; > Height(P); 1/3 > 2*P; (T^2 + 99*T : 100*T^3 + 3*T^2 + 100*T : 1) > 3*P; ((T^3 + 99*T^2 + 98*T + 4)/(T^2 + 95*T + 9) : (3*T^4 + 86*T^3 + 21*T^2 + 92*T + 8)/(T^3 + 92*T^2 + 27*T + 74) : 1) > BadPlaces(E); [ (1/T), (T), (T^2 + 69) ] > v := BadPlaces(E)[3]; > TamagawaNumber(E,v); 1 > TamagawaNumbers(E); [ 4, 3, 1 ] > Conductor(E); 2*(1/T) + 2*(T) + (T^2 + 69) > lred, Emin := LocalInformation(E,v); > lred; <(T^2 + 69), 1, 1, 1, I1> > Emin; Elliptic Curve defined by y^2 = x^3 + 55*x^2 + (100*T^2 + 32)*x + (50*T^2 + 16) over F > LocalInformation(E); [ <(1/T), 6, 2, 4, I0*>, <(T), 4, 2, 3, IV>, <(T^2 + 69), 1, 1, 1, I1> ] > G, i := TorsionSubgroup(E); > G; Abelian Group of order 1 Defined on 1 generator Relations: G.1 = 0