A subgroup scheme G of an elliptic curve E is a subscheme of E defined by a univariate polynomial ψ and closed under the group law on E. The points of G are those points of E whose x-coordinate is a root of ψ. All elliptic curves are considered to be subgroup schemes with defining polynomial ψ = 0.
Creates the subgroup scheme of the subgroup scheme G defined by the univariate polynomial f. No checking is done to ensure that the rational points of the result actually do form a group under the addition law. Note that G can be an elliptic curve.
Returns the subgroup scheme of n-torsion points of the subgroup scheme G. Note that G can be an elliptic curve.
Returns the category of elliptic curve subgroup schemes, SchGrpEll.
Returns the elliptic curve E of which G is a subgroup scheme.
Returns the base ring of the subgroup scheme G; this is the same as the base ring of its curve.
Returns the univariate polynomial that defines G as a subscheme of its curve.
Returns true if and only if G1 and G2 are subgroup schemes of the same elliptic curve and are defined by equal polynomials.
The logical negation of eq.
The order of the group of rational points on the subgroup scheme G.
The factorisation of the order of the group of rational points on the subgroup scheme G.
The indexed set of rational points of the subgroup scheme G over its base ring.
> K<w> := GF(7, 2); > P<t> := PolynomialRing(K); > E := EllipticCurve([K | 1, 3]); > G := SubgroupScheme(E, (t-4)*(t-5)*(t-6)); > G; Subgroup scheme of E defined by x^3 + 6*x^2 + 4*x + 6 > Points(G); {@ (0 : 1 : 0), (6 : 1 : 1), (6 : 6 : 1), (4 : 1 : 1), (4 : 6 : 1), (5 : 0 : 1) @}The points of order 3 form a further subgroup.
> [ Order(P) : P in $1 ]; [ 1, 3, 3, 6, 6, 2 ] > G2 := SubgroupScheme(G, t - 6); > G2; Subgroup scheme of E defined by x + 1 > Points(G2); {@ (0 : 1 : 0), (6 : 1 : 1), (6 : 6 : 1) @}We can find this subgroup another way, as the intersection of the 15-torsion points of E and G.
> G3 := TorsionSubgroupScheme(E, 15); > #G3; 15 > G4 := SubgroupScheme(G3, DefiningSubschemePolynomial(G)); > G4; Subgroup scheme of E defined by x + 1 > G2 eq G4; true