The category of elliptic curves (over a field or a PID) #
We give a working definition of elliptic curves which is mathematically accurate in many cases, and 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 group varieties
of dimension one). In the special case where S
is Spec R
for some commutative ring R
whose Picard group is trivial (this includes all fields, all principal ideal domains, and many
other commutative rings) then it can be shown (using rather a lot of algebro-geometric machinery)
that every elliptic curve is, up to isomorphism, a projective plane cubic defined by
the equation y² + a₁xy + a₃y = x³ + a₂x² + a₄x + a₆
, with aᵢ : R
, and such that
the discriminant of the aᵢ is a unit in R
.
Some more details of the construction can be found on pages 66-69 of N. Katz and B. Mazur, Arithmetic moduli of elliptic curves or pages 53-56 of P. Deligne, Courbes elliptiques: formulaire d'après J. Tate.
Warning #
The definition 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 Spec R
in the case that R
has trivial Picard group 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 Spec R
in the sense of algebraic geometry which are not
globally defined by a cubic equation valid over the entire base.
TODO #
Define the R
-points (or even A
-points if A
is an R
-algebra). Care will be needed at infinity
if R
is not a field. Define the group law on the R
-points. Prove associativity (hard).
The discriminant of an elliptic curve given by the long Weierstrass equation
y² + a₁xy + a₃y = x³ + a₂x² + a₄x + a₆
. If R
is a field, then this polynomial vanishes iff 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.
- a₁ : R
- a₂ : R
- a₃ : R
- a₄ : R
- a₆ : R
- Δ : Rˣ
- Δ_eq : ↑(self.Δ) = EllipticCurve.Δ_aux self.a₁ self.a₂ self.a₃ self.a₄ self.a₆
The category of elliptic curves over R
(note that this definition is only mathematically
correct for certain rings R
with Pic(R)[12] = 0
, for example if R
is a field or a PID).
Instances for EllipticCurve
- EllipticCurve.has_sizeof_inst
- EllipticCurve.inhabited
Standard quantities #
2
-torsion polynomials #
The polynomial whose roots over a splitting field of R
are the 2
-torsion points of the
elliptic curve when R
is a field of characteristic different from 2
, and whose discriminant
happens to be a multiple of the discriminant of the elliptic curve.
Equations
- E.two_torsion_polynomial A = {a := 4, b := ⇑(algebra_map R A) E.b₂, c := 2 * ⇑(algebra_map R A) E.b₄, d := ⇑(algebra_map R A) E.b₆}
Changes of variables #
The elliptic curve over R
induced by an admissible linear change of variables
(x, y) ↦ (u²x + r, u³y + u²sx + t)
for some u ∈ Rˣ
and some r, s, t ∈ R
.
When R
is a field, any two isomorphic long Weierstrass equations are related by this.
Equations
- E.change_of_variable u r s t = {a₁ := ↑u⁻¹ * (E.a₁ + 2 * s), a₂ := ↑u⁻¹ ^ 2 * (E.a₂ - s * E.a₁ + 3 * r - s ^ 2), a₃ := ↑u⁻¹ ^ 3 * (E.a₃ + r * E.a₁ + 2 * t), a₄ := ↑u⁻¹ ^ 4 * (E.a₄ - s * E.a₃ + 2 * r * E.a₂ - (t + r * s) * E.a₁ + 3 * r ^ 2 - 2 * s * t), a₆ := ↑u⁻¹ ^ 6 * (E.a₆ + r * E.a₄ + r ^ 2 * E.a₂ + r ^ 3 - t * E.a₃ - t ^ 2 - r * t * E.a₁), Δ := u⁻¹ ^ 12 * E.Δ, Δ_eq := _}