Documentation

TauCeti.AlgebraicGeometry.EllipticCurve.Projective.CoordinateRing

The homogeneous coordinate ring of a Weierstrass curve #

For a Weierstrass curve W' over a commutative ring R, this file defines the homogeneous coordinate ring

R[X, Y, Z] ⧸ (Y²Z + a₁XYZ + a₃YZ² - (X³ + a₂X²Z + a₄XZ² + a₆Z³))

of the projective cubic, graded by total degree. Its Proj is the projective Weierstrass model WeierstrassCurve.projModel of TauCeti/AlgebraicGeometry/EllipticCurve/Scheme/ProjModel.lean. The grading is induced from the grading of R[X, Y, Z] by total degree, using TauCeti.GradedAlgebra.gradedAlgebraQuotientPiece.

Main definitions #

Main results #

References #

The Weierstrass polynomial Y²Z + a₁XYZ + a₃YZ² - (X³ + a₂X²Z + a₄XZ² + a₆Z³) in projective coordinates is homogeneous of degree 3.

@[reducible, inline]

The homogeneous coordinate ring R[X, Y, Z] ⧸ (W'(X, Y, Z)) of the projective Weierstrass cubic.

Equations
Instances For

    The ideal generated by the Weierstrass polynomial is homogeneous for the grading of R[X, Y, Z] by total degree.

    noncomputable def WeierstrassCurve.Projective.grading {R : Type u_1} [CommRing R] (W' : Projective R) (n : ℕ) :

    The grading of the homogeneous coordinate ring by total degree: the degree-n part is the image of the homogeneous polynomials of degree n.

    Equations
    Instances For

      Membership in a graded piece of the homogeneous coordinate ring is being the class of a homogeneous polynomial of that degree.

      The class of a homogeneous polynomial of degree n lies in the degree-n part.

      The homogeneous coordinate ring is of finite type over its degree-zero part.

      The degree-zero part of the homogeneous coordinate ring is the base ring: the Weierstrass polynomial has no constant term, so no nonzero constant is a multiple of it, and the degree-zero polynomials are the constants.

      noncomputable def WeierstrassCurve.Projective.gradingZeroEquiv {R : Type u_1} [CommRing R] (W' : Projective R) :
      R ≃ₐ[R] ↥(W'.grading 0)

      The degree-zero part of the homogeneous coordinate ring is isomorphic to the base ring.

      Equations
      Instances For
        @[simp]
        @[reducible, inline]
        noncomputable abbrev WeierstrassCurve.Projective.coord {R : Type u_1} [CommRing R] (W' : Projective R) (i : Fin 3) :

        The class of the homogeneous coordinate Xᵢ in the homogeneous coordinate ring.

        Equations
        Instances For
          theorem WeierstrassCurve.Projective.coord_mem_grading {R : Type u_1} [CommRing R] (W' : Projective R) (i : Fin 3) :
          W'.coord i ∈ W'.grading 1

          Each homogeneous coordinate has degree one.

          The irrelevant ideal of the homogeneous coordinate ring is generated by the three coordinates: every homogeneous element of positive degree is the class of a polynomial without constant term.

          Evaluation of the homogeneous coordinate ring at the point [0 : 1 : 0].

          Equations
          Instances For

            The base ring acts faithfully on the homogeneous coordinate ring, as on the affine coordinate ring WeierstrassCurve.Affine.CoordinateRing.

            noncomputable def WeierstrassCurve.Projective.evalHom {R : Type u_1} [CommRing R] (W' : Projective R) {S : Type u_2} [CommRing S] (g : R →+* S) {P : Fin 3 → S} (hP : (W'.map g).Equation P) :

            Evaluation of the homogeneous coordinate ring at a solution P of the projective Weierstrass equation of W'.map g, for a ring homomorphism g : R →+* S: the ring homomorphism R[X₀, X₁, X₂] ⧸ (W'(X₀, X₁, X₂)) →+* S that is g on R and sends the class of Xᵢ to Pᵢ.

            Equations
            Instances For
              @[simp]
              theorem WeierstrassCurve.Projective.evalHom_mk {R : Type u_1} [CommRing R] (W' : Projective R) {S : Type u_2} [CommRing S] (g : R →+* S) {P : Fin 3 → S} (hP : (W'.map g).Equation P) (p : MvPolynomial (Fin 3) R) :

              evalHom sends the class of a polynomial p to its value p(P), the coefficients of p being mapped to S by g.

              theorem WeierstrassCurve.Projective.evalHom_comp_algebraMap {R : Type u_1} [CommRing R] (W' : Projective R) {S : Type u_2} [CommRing S] (g : R →+* S) {P : Fin 3 → S} (hP : (W'.map g).Equation P) :

              evalHom restricts to g on the base ring R.

              theorem WeierstrassCurve.Projective.evalHom_comp_coord {R : Type u_1} [CommRing R] (W' : Projective R) {S : Type u_2} [CommRing S] (g : R →+* S) {P : Fin 3 → S} (hP : (W'.map g).Equation P) :
              ⇑(W'.evalHom g hP) ∘ W'.coord = P

              evalHom sends the class of each coordinate Xᵢ to Pᵢ.

              theorem WeierstrassCurve.Projective.map_evalHom {R : Type u_1} [CommRing R] (W' : Projective R) {S : Type u_2} [CommRing S] (g : R →+* S) {P : Fin 3 → S} (hP : (W'.map g).Equation P) :
              (W'.map (algebraMap R W'.CoordinateRing)).map (W'.evalHom g hP) = W'.map g

              Pushing the curve over the homogeneous coordinate ring forward along evalHom gives the curve W'.map g.

              theorem WeierstrassCurve.Projective.ringHom_ext {R : Type u_1} [CommRing R] (W' : Projective R) {S : Type u_2} [CommRing S] {f₁ f₂ : W'.CoordinateRing →+* S} (h₁ : f₁.comp (algebraMap R W'.CoordinateRing) = f₂.comp (algebraMap R W'.CoordinateRing)) (h₂ : ⇑f₁ ∘ W'.coord = ⇑f₂ ∘ W'.coord) :
              f₁ = f₂

              Two ring homomorphisms out of the homogeneous coordinate ring are equal when they agree on the base ring and on the classes of the coordinates.

              theorem WeierstrassCurve.Projective.eq_evalHom {R : Type u_1} [CommRing R] (W' : Projective R) {S : Type u_2} [CommRing S] (g : R →+* S) {P : Fin 3 → S} (hP : (W'.map g).Equation P) {f : W'.CoordinateRing →+* S} (h₁ : f.comp (algebraMap R W'.CoordinateRing) = g) (h₂ : ⇑f ∘ W'.coord = P) :
              f = W'.evalHom g hP

              evalHom is the only ring homomorphism out of the homogeneous coordinate ring that restricts to g on R and sends the class of each coordinate Xᵢ to Pᵢ.

              The classes of the homogeneous coordinates form a solution of the Weierstrass equation over the homogeneous coordinate ring.

              Over a nontrivial ring, the solution given by the classes of the homogeneous coordinates is nonzero.