The modular curves X_0(N) parametrize elliptic curves together with the structure of a cyclic isogeny, or equivalently, a cyclic subgroup scheme of the N-torsion of the elliptic curve. Since the algorithm specifying the isogeny implements an elliptic surface over the modular curve, singularities of the chosen surface may obstruct the construction of the corresponding isogeny.
Given an elliptic curve E and a point P on some X_0(N) corresponding to a cyclic level structure on E, returns an isogeny f: E -> F corresponding to P. The isogeny is defined by the formulae of Velu such that the pull-back of the invariant differential of F is the invariant differential on E.
Given an elliptic curve E and a point P on some X_0(N) corresponding to a cyclic level structure on E, returns the subgroup scheme of E parameterized by X_0(N).
> A2 := AffineSpace(RationalField(),2); > X0 := ModularCurve(A2,"Canonical",7); > K0<u,j> := FunctionField(X0); > j; (u^8 + 28*u^7 + 322*u^6 + 1904*u^5 + 5915*u^4 + 8624*u^3 + 4018*u^2 + 748*u + 49)/uWe can now create an elliptic curve with this j-invariant and compute the corresponding subgroup scheme.
> E := EllipticCurveFromjInvariant(j);
> ModuliPoints(X0,E);
[ (u, (u^8 + 28*u^7 + 322*u^6 + 1904*u^5 + 5915*u^4 + 8624*u^3 +
4018*u^2 + 748*u + 49)/u) ]
> P := $1[1];
> SubgroupScheme(E,P);
Subgroup of E defined by x^3 + (-1/4*u^4 - 9/2*u^3 - 115/4*u^2 -
129/2*u - 49/4)/(u^4 + 14*u^3 + 63*u^2 + 70*u - 7)*x^2 +
(1/48*u^8 + 3/4*u^7 + 269/24*u^6 + 268/3*u^5 + 19315/48*u^4 +
2968/3*u^3 + 9095/8*u^2 + 4309/12*u + 539/16)/(u^8 + 28*u^7 +
322*u^6 + 1904*u^5 + 5915*u^4 + 8624*u^3 + 4018*u^2 - 980*u +
49)*x + (-1/1728*u^12 - 1/32*u^11 - 47/64*u^10 - 8593/864*u^9 -
24767/288*u^8 - 142429/288*u^7 - 1096207/576*u^6 - 1378861/288*u^5 -
2136671/288*u^4 - 5444417/864*u^3 - 1377511/576*u^2 - 116185/288*u
- 43169/1728)/(u^12 + 42*u^11 + 777*u^10 + 8246*u^9 + 54810*u^8 +
233730*u^7 + 628425*u^6 + 999306*u^5 + 801738*u^4 + 159838*u^3 -
93639*u^2 + 10290*u - 343)
We now replay the same computation for the Atkin model for X_0(7).
> X0 := ModularCurve(A2,"Atkin",7);
> K0<u,j> := FunctionField(X0);
> j;
j
> E := EllipticCurveFromjInvariant(j);
> P := X0![u,j];
> SubgroupScheme(E,P);
Subgroup of E defined by x^3 + (7/4*u^9 + 1757/4*u^8 +
7819*u^7 - 73353*u^6 - 4884663/2*u^5 - 21811713/2*u^4 +
105047903*u^3 - 2*u^2*j + 1015540783*u^2 - 316*u*j +
8498533055/4*u - 2906*j - 4282204275/4)/(u^9 - 497*u^8 - 20532*u^7
- 81388*u^6 + 4746950*u^5 + 56167290*u^4 - 1279028*u^3 -
2650748588*u^2 - 11224313439*u - 8626202865)*x^2 + (11/16*u^13
+ 16939/48*u^12 + 1284239/24*u^11 + 50935457/24*u^10 +
1264382699/48*u^9 - 12214042943/48*u^8 - 124732865851/12*u^7 -
2/3*u^6*j - 1166543120669/12*u^6 - 1120/3*u^5*j +
839150370599/48*u^5 - 149162/3*u^4*j + 327535918621885/48*u^4 -
5354480/3*u^3*j + 409332919681469/8*u^3 - 81934006/3*u^2*j +
3407781609403081/24*u^2 - 573898352/3*u*j + 507049332829455/16*u -
506125770*j - 5872301570153475/16)/(u^13 - 989*u^12 + 201198*u^11
+ 21056034*u^10 + 657230331*u^9 + 6165550233*u^8 - 88238124492*u^7
- 2578695909108*u^6 - 20624257862361*u^5 + 1318238025445*u^4 +
1038081350842750*u^3 + 6551865190346034*u^2 + 15514646620480317*u
+ 9981405213700095)*x + (881/12096*u^17 + 687419/12096*u^16 +
8205629/504*u^15 + 390913160/189*u^14 + 49705687373/432*u^13 +
452515233571/144*u^12 + 2547613976705/72*u^11 - 37/504*u^10*j -
70616178199583/252*u^10 - 14107/252*u^9*j -
9780643994119277/672*u^9 - 8407621/504*u^8*j -
1169550002628136235/6048*u^8 - 129828949/63*u^7*j -
1332327646113277991/1512*u^7 - 4054218179/36*u^6*j +
127346633518027259/18*u^6 - 59532587759/18*u^5*j +
57066137174776820885/432*u^5 - 2072116237295/36*u^4*j +
377501715837964912373/432*u^4 - 38734075973053/63*u^3*j +
1408654650164439479513/504*u^3 - 2001461342219281/504*u^2*j +
70839088386805558805/28*u^2 - 399602464019187/28*u*j -
3877734333962296889325/448*u - 1229361350588865/56*j -
8491275377159013948375/448)/(u^17 - 1481*u^16 + 664992*u^15 -
55683056*u^14 - 13999885052*u^13 - 854937578868*u^12 -
24503558413296*u^11 - 316596143942688*u^10 + 692774466143310*u^9 +
87641547175946290*u^8 + 1328002620135144640*u^7 +
8491254793740345168*u^6 - 3391803340001770028*u^5 -
462587327970641785700*u^4 - 3479022140596534545648*u^3 -
12353559598789551006912*u^2 - 20875996991798942070951*u -
11549513916988021024785)