Documentation

TauCeti.Analysis.SpecialFunctions.Elliptic.LatticeClassification

The lattice of a complex elliptic curve #

For a period lattice Λ, the point map z ↦ (℘(z), ℘'(z) / 2) descends to a group isomorphism ℂ / Λ ≃+ E_Λ(ℂ) onto the points of the Weierstrass curve E_Λ : y² = x³ - (g₂ / 4) x - g₃ / 4 (PeriodPair.weierstrassPointEquiv), and rescaling Λ by c changes E_Λ by the change of variables with u = c (PeriodPair.weierstrassCurve_eq_smul_of_lattice_eq). This file proves the converse: every complex elliptic curve arises from a lattice, unique up to homothety. The pair of invariants (g₂, g₃), or equivalently the Weierstrass curve itself, determines the lattice exactly; a change of variables between lattice curves recovers the exact rescaling.

Every lattice is homothetic to ℤ τ + ℤ with τ ∈ ℍ, and the j-invariant of E_{ℤ τ + ℤ} is the modular invariant j(τ), which takes every complex value (TauCeti.ModularForm.j_surjective). Over the algebraically closed field ℂ, elliptic curves with the same j-invariant are related by a change of variables (WeierstrassCurve.exists_variableChange_of_j_eq), so every elliptic curve E over ℂ is a change of variables of some E_{ℤ τ + ℤ}, and E(ℂ) ≃+ ℂ / Λ for a lattice Λ. For a curve in the short form y² = x³ - (a / 4) x - b / 4 the change of variables is a rescaling, which gives the uniformization theorem: whenever a³ - 27 b² ≠ 0 there is a lattice with g₂ = a and g₃ = b.

The lattice is determined by the curve up to homothety: two lattices give isomorphic curves, or just curves with the same j-invariant, exactly when they are homothetic. This follows from the fact that j(τ) = j(τ') exactly when τ' ∈ SL(2, ℤ) τ (TauCeti.ModularGroup.j_eq_j_iff), since the lattice of γ τ is (c τ + d)⁻¹ (ℤ τ + ℤ).

Main results #

References #

Homothetic lattices #

The j-invariant classifies lattices up to homothety: E_Λ and E_{Λ'} have the same j-invariant exactly when Λ' = c Λ for some c ∈ ℂˣ.

Isomorphic curves come from homothetic lattices: E_{Λ'} is a change of variables of E_Λ exactly when Λ' = c Λ for some c ∈ ℂˣ.

theorem PeriodPair.lattice_smul_eq_self_of_g₃_eq_zero {L : PeriodPair} (h : L.g₃ = 0) {c : ℂˣ} (hc : ↑c ^ 4 = 1) :

A lattice with g₃ = 0 has complex multiplication by i: it is preserved by every fourth root of unity. Indeed j = 1728, so the lattice is homothetic to ℤ i + ℤ.

theorem PeriodPair.lattice_smul_eq_self_of_g₂_eq_zero {L : PeriodPair} (h : L.g₂ = 0) {c : ℂˣ} (hc : ↑c ^ 6 = 1) :

A lattice with g₂ = 0 has complex multiplication by ρ: it is preserved by every sixth root of unity. Indeed j = 0, so the lattice is homothetic to ℤ ρ + ℤ.

Period-lattice recovery: a lattice is determined by its invariants g₂ and g₃.

Changes of variables between lattice curves are rescalings: if a change of variables C takes E_Λ to E_{Λ'}, then Λ' = u Λ for the scaling factor u of C.

A lattice is determined by its Weierstrass curve.

Every complex elliptic curve comes from a lattice #

Every elliptic curve over ℂ comes from a lattice: it is a change of variables of the Weierstrass curve y² = x³ - (g₂ / 4) x - g₃ / 4 of ℤ τ + ℤ for some τ ∈ ℍ, namely any τ with j(τ) = j(E).

Every elliptic curve over ℂ is the image of the Weierstrass curve of a lattice under a change of variables with scaling factor u = 1.

The complex points of every elliptic curve over ℂ are a quotient of ℂ by a lattice: as an additive group, E(ℂ) ≃+ ℂ / Λ for some period lattice Λ.

theorem PeriodPair.exists_g₂_g₃_eq {a b : ℂ} (hab : a ^ 3 - 27 * b ^ 2 ≠ 0) :
∃ (L : PeriodPair), L.g₂ = a ∧ L.g₃ = b

The uniformization theorem: for all a, b ∈ ℂ with a³ - 27 b² ≠ 0 there is a lattice Λ with g₂(Λ) = a and g₃(Λ) = b.