Weierstrass equations of elliptic curves #
This file defines the structure of an elliptic curve as a nonsingular Weierstrass curve given by a Weierstrass equation, which is mathematically accurate in many cases but also good for computation.
Mathematical background #
Let S
be a scheme. The actual category of elliptic curves over S
is a large category, whose
objects are schemes E
equipped with a map E → S
, a section S → E
, and some axioms (the map
is smooth and proper and the fibres are geometrically-connected one-dimensional group varieties). In
the special case where S
is the spectrum of some commutative ring R
whose Picard group is zero
(this includes all fields, all PIDs, and many other commutative rings) it can be shown (using a lot
of algebro-geometric machinery) that every elliptic curve E
is a projective plane cubic isomorphic
to a Weierstrass curve given by the equation $Y^2 + a_1XY + a_3Y = X^3 + a_2X^2 + a_4X + a_6$ for
some $a_i$ in R
, and such that a certain quantity called the discriminant of E
is a unit in R
.
If R
is a field, this quantity divides the discriminant of a cubic polynomial whose roots over a
splitting field of R
are precisely the $X$-coordinates of the non-zero 2-torsion points of E
.
Main definitions #
WeierstrassCurve
: a Weierstrass curve over a commutative ring.WeierstrassCurve.Δ
: the discriminant of a Weierstrass curve.WeierstrassCurve.ofJ0
,WeierstrassCurve.ofJ1728
,WeierstrassCurve.ofJ
: Weierstrass curves whose $j$-invariants are $0$, $1728$ and $j\neq 0,1728$, respectively.WeierstrassCurve.VariableChange
: a change of variables of Weierstrass curves.WeierstrassCurve.variableChange
: the Weierstrass curve induced by a change of variables.WeierstrassCurve.baseChange
: the Weierstrass curve base changed over an algebra.WeierstrassCurve.twoTorsionPolynomial
: the 2-torsion polynomial of a Weierstrass curve.WeierstrassCurve.polynomial
: the polynomial associated to a Weierstrass curve.WeierstrassCurve.equation
: the Weierstrass equation of a Weierstrass curve.WeierstrassCurve.nonsingular
: the nonsingular condition at a point on a Weierstrass curve.WeierstrassCurve.CoordinateRing
: the coordinate ring of a Weierstrass curve.WeierstrassCurve.FunctionField
: the function field of a Weierstrass curve.WeierstrassCurve.CoordinateRing.basis
: the power basis of the coordinate ring overR[X]
.EllipticCurve
: an elliptic curve over a commutative ring.EllipticCurve.j
: the j-invariant of an elliptic curve.EllipticCurve.ofJ0
,EllipticCurve.ofJ1728
,EllipticCurve.ofJ'
: elliptic curves whose $j$-invariants are $0$, $1728$ and $j\neq 0,1728$, respectively.EllipticCurve.ofJ
: an elliptic curve over a field $F$, whose $j$-invariant equal to $j$.
Main statements #
WeierstrassCurve.twoTorsionPolynomial_disc
: the discriminant of a Weierstrass curve is a constant factor of the cubic discriminant of its 2-torsion polynomial.WeierstrassCurve.nonsingular_of_Δ_ne_zero
: a Weierstrass curve is nonsingular at every point if its discriminant is non-zero.WeierstrassCurve.CoordinateRing.instIsDomainCoordinateRing
: the coordinate ring of a Weierstrass curve is an integral domain.WeierstrassCurve.CoordinateRing.degree_norm_smul_basis
: the degree of the norm of an element in the coordinate ring in terms of the power basis.EllipticCurve.nonsingular
: an elliptic curve is nonsingular at every point.EllipticCurve.variableChange_j
: the j-invariant of an elliptic curve is invariant under an admissible linear change of variables.EllipticCurve.ofJ_j
: the $j$-invariant ofEllipticCurve.ofJ
is equal to $j$.
Implementation notes #
The definition of elliptic curves in this file makes sense for all commutative rings R
, but it
only gives a type which can be beefed up to a category which is equivalent to the category of
elliptic curves over the spectrum $\mathrm{Spec}(R)$ of R
in the case that R
has trivial Picard
group $\mathrm{Pic}(R)$ or, slightly more generally, when its 12-torsion is trivial. The issue is
that for a general ring R
, there might be elliptic curves over $\mathrm{Spec}(R)$ in the sense of
algebraic geometry which are not globally defined by a cubic equation valid over the entire base.
References #
- [N Katz and B Mazur, Arithmetic Moduli of Elliptic Curves][katz_mazur]
- [P Deligne, Courbes Elliptiques: Formulaire (d'après J. Tate)][deligne_formulaire]
- [J Silverman, The Arithmetic of Elliptic Curves][silverman2009]
Tags #
elliptic curve, weierstrass equation, j invariant
Weierstrass curves #
- a₁ : R
The
a₁
coefficient of a Weierstrass curve. - a₂ : R
The
a₂
coefficient of a Weierstrass curve. - a₃ : R
The
a₃
coefficient of a Weierstrass curve. - a₄ : R
The
a₄
coefficient of a Weierstrass curve. - a₆ : R
The
a₆
coefficient of a Weierstrass curve.
A Weierstrass curve $Y^2 + a_1XY + a_3Y = X^3 + a_2X^2 + a_4X + a_6$ with parameters $a_i$.
Instances For
Standard quantities #
The b₂
coefficient of a Weierstrass curve.
Instances For
The b₄
coefficient of a Weierstrass curve.
Instances For
The b₆
coefficient of a Weierstrass curve.
Instances For
The b₈
coefficient of a Weierstrass curve.
Instances For
The c₄
coefficient of a Weierstrass curve.
Instances For
The c₆
coefficient of a Weierstrass curve.
Instances For
The discriminant Δ
of a Weierstrass curve. If R
is a field, then this polynomial vanishes
if and only if the cubic curve cut out by this equation is singular. Sometimes only defined up to
sign in the literature; we choose the sign used by the LMFDB. For more discussion, see
the LMFDB page on discriminants.
Instances For
The Weierstrass curve $Y^2 + Y = X^3$. It is of $j$-invariant $0$ if it is an elliptic curve.
Instances For
The Weierstrass curve $Y^2 = X^3 + X$. It is of $j$-invariant $1728$ if it is an elliptic curve.
Instances For
The Weierstrass curve $Y^2 + (j - 1728)XY = X^3 - 36(j - 1728)^3X - (j - 1728)^5$. It is of $j$-invariant $j$ if it is an elliptic curve.
Instances For
Variable changes #
- u : Rˣ
The
u
coefficient of an admissible linear change of variables, which must be a unit. - r : R
The
r
coefficient of an admissible linear change of variables. - s : R
The
s
coefficient of an admissible linear change of variables. - t : R
The
t
coefficient of an admissible linear change of variables.
An admissible linear change of variables of Weierstrass curves defined over a ring R
.
It consists of a tuple $(u,r,s,t)$ of elements in $R$, with $u$ invertible.
As a matrix, it is $\begin{pmatrix}
u^2 & 0 & r \cr
u^2s & u^3 & t \cr
0 & 0 & 1
\end{pmatrix}$.
Instances For
The identity linear change of variables. As a matrix, it is just identity matrix.
Instances For
The composition of two linear change of variables. As matrices, it is just matrix multiplcation.
Instances For
The inverse of a linear change of variables. As a matrix, it is just matrix inverse.
Instances For
The Weierstrass curve over R
induced by an admissible linear change of variables
$(X, Y) \mapsto (u^2X + r, u^3Y + u^2sX + t)$ for some $u \in R^\times$ and some $r, s, t \in R$.
Instances For
Base changes #
The Weierstrass curve over R
base changed to A
.
Instances For
The change of variables over R
base changed to A
.
Instances For
2-torsion polynomials #
A cubic polynomial whose discriminant is a multiple of the Weierstrass curve discriminant. If
W
is an elliptic curve over a field R
of characteristic different from 2, then its roots over a
splitting field of R
are precisely the $X$-coordinates of the non-zero 2-torsion points of W
.
Instances For
The notation Y
for X
in the PolynomialPolynomial
scope.
Instances For
The notation R[X][Y]
for R[X][X]
in the PolynomialPolynomial
scope.
Instances For
Weierstrass equations #
The polynomial $W(X, Y) := Y^2 + a_1XY + a_3Y - (X^3 + a_2X^2 + a_4X + a_6)$ associated to a
Weierstrass curve W
over R
. For ease of polynomial manipulation, this is represented as a term
of type R[X][X]
, where the inner variable represents $X$ and the outer variable represents $Y$.
For clarity, the alternative notations Y
and R[X][Y]
are provided in the PolynomialPolynomial
scope to represent the outer variable and the bivariate polynomial ring R[X][X]
respectively.
Instances For
The proposition that an affine point $(x, y)$ lies in W
. In other words, $W(x, y) = 0$.
Instances For
Nonsingularity of Weierstrass curves #
The partial derivative $W_X(X, Y)$ of $W(X, Y)$ with respect to $X$.
TODO: define this in terms of Polynomial.derivative
.
Instances For
The partial derivative $W_Y(X, Y)$ of $W(X, Y)$ with respect to $Y$.
TODO: define this in terms of Polynomial.derivative
.
Instances For
The proposition that an affine point $(x, y)$ on W
is nonsingular.
In other words, either $W_X(x, y) \ne 0$ or $W_Y(x, y) \ne 0$.
Instances For
A Weierstrass curve is nonsingular at every point if its discriminant is non-zero.
Ideals in the coordinate ring #
The coordinate ring $R[W] := R[X, Y] / \langle W(X, Y) \rangle$ of W
.
Instances For
The function field $R(W) := \mathrm{Frac}(R[W])$ of W
.
Instances For
An element of the coordinate ring R[W]
of W
over R
.
Instances For
The class of the element $X - x$ in $R[W]$ for some $x \in R$.
Instances For
The class of the element $Y - y(X)$ in $R[W]$ for some $y(X) \in R[X]$.
Instances For
The ideal $\langle X - x \rangle$ of $R[W]$ for some $x \in R$.
Instances For
The ideal $\langle Y - y(X) \rangle$ of $R[W]$ for some $y(X) \in R[X]$.
Instances For
The ideal $\langle X - x, Y - y(X) \rangle$ of $R[W]$ for some $x \in R$ and $y(X) \in R[X]$.
Instances For
The coordinate ring as an R[X]
-algebra #
The $R$-algebra isomorphism from $R[W] / \langle X - x, Y - y(X) \rangle$ to $R[X, Y] / \langle X - x, Y - y(X) \rangle$ provided that $W(x, y(x)) = 0$.
Instances For
The $R$-algebra isomorphism from $R[W] / \langle X - x, Y - y(X) \rangle$ to $R$ obtained by evaluation at $y(X)$ and at $x$ provided that $W(x, y(x)) = 0$.
Instances For
The basis ${1, Y}$ for the coordinate ring $R[W]$ over the polynomial ring $R[X]$.
Instances For
Norms on the coordinate ring #
Elliptic curves #
- a₁ : R
- a₂ : R
- a₃ : R
- a₄ : R
- a₆ : R
- Δ' : Rˣ
The discriminant
Δ'
of an elliptic curve overR
, which is given as a unit inR
. - coe_Δ' : ↑s.Δ' = WeierstrassCurve.Δ s.toWeierstrassCurve
The discriminant of
E
is equal to the discriminant ofE
as a Weierstrass curve.
An elliptic curve over a commutative ring. Note that this definition is only mathematically accurate for certain rings whose Picard group has trivial 12-torsion, such as a field or a PID.
Instances For
The j-invariant j
of an elliptic curve, which is invariant under isomorphisms over R
.
Instances For
When $3$ is invertible, $Y^2 + Y = X^3$ is an elliptic curve.
It is of $j$-invariant $0$ (see EllipticCurve.ofJ0_j
).
Instances For
When $2$ is invertible, $Y^2 = X^3 + X$ is an elliptic curve.
It is of $j$-invariant $1728$ (see EllipticCurve.ofJ1728_j
).
Instances For
When $j$ and $j - 1728$ are both invertible,
$Y^2 + (j - 1728)XY = X^3 - 36(j - 1728)^3X - (j - 1728)^5$ is an elliptic curve.
It is of $j$-invariant $j$ (see EllipticCurve.ofJ'_j
).
Instances For
For any element $j$ of a field $F$, there exists an elliptic curve over $F$
with $j$-invariant equal to $j$ (see EllipticCurve.ofJ_j
).
Its coefficients are given explicitly (see EllipticCurve.ofJ0
, EllipticCurve.ofJ1728
and EllipticCurve.ofJ'
).
Instances For
Variable changes #
The elliptic curve over R
induced by an admissible linear change of variables
$(X, Y) \mapsto (u^2X + r, u^3Y + u^2sX + t)$ for some $u \in R^\times$ and some $r, s, t \in R$.
When R
is a field, any two Weierstrass equations isomorphic to E
are related by this.
Instances For
Base changes #
The elliptic curve over R
base changed to A
.