Each elliptic curve E has associated with it a family of point sets of E indexed by coefficient rings. These point sets, not E, are the objects in which points lie. If K is the base ring of E and L is some extension of K then the elements of the point set E(L) comprise all points lying on E whose coordinates are in L.
There is a distinguished point set E(K) of E which is called the base point set of E. Many intrinsics (such as #, or TorsionSubgroup), strictly speaking, only make sense when applied to point sets; as a convenience, when E is passed to these functions the behaviour is the same as if the base point set E(K) were passed instead. It is important to remember, however, that E and E(K) are different objects and will not always behave in the same manner.
The above statements are equally valid if the elliptic curve E is replaced by some subgroup scheme G. Moreover, the types of the point sets of G and E are the same, and similarly for points. (They may be distinguished by checking the type of the scheme of which they are point sets.)
Given an elliptic curve E (or a subgroup scheme thereof) and an extension L of its base ring, this function returns a point set whose elements are points on E with coefficients in L.
Given an elliptic curve E (or a subgroup scheme thereof) and a map m from the base ring of E to a field L, this function returns a point set whose elements are points on E with coefficients in L. The map is retained to permit coercions between point sets.
Given a point set H of an elliptic curve, returns the category SetPtEll of point sets of elliptic curves.
Returns the associated scheme (either an elliptic curve or a subgroup scheme) of which H is a point set.
Returns the associated elliptic curve that contains Scheme(H).
Returns the ring that contains the coordinates of points in H.
Returns whether the two point sets are equal. That is, whether the point sets have equal coefficient rings and elliptic curves (subgroup schemes).
The logical negation of eq.
> K := GF(5); > E := EllipticCurve([K | 1, 0]); > H := E(K); > H; Set of points of E with coordinates in GF(5) > H2 := E(GF(5, 2)); > H2; Set of points of E with coordinates in GF(5^2)We note that although these are point sets of the same curve, they are not equal because the rings are not equal.
> Scheme(H) eq Scheme(H2); true > Ring(H) eq Ring(H2); false > H eq H2; falseSimilarly, we see that a point set of a subgroup scheme is not the same object as the point set of the curve because the schemes are different.
> P<t> := PolynomialRing(K); > G := SubgroupScheme(E, t - 2); > HG := G(K); > Scheme(HG) eq Scheme(H); false > Ring(HG) eq Ring(H); true > HG eq H; falseAlso note that the scheme and the parent curve of point sets of G are different:
> Scheme(HG); Subgroup scheme of E defined by x + 3 > Curve(HG); Elliptic Curve defined by y^2 = x^3 + x over GF(5)