Documentation

TauCeti.AlgebraicGeometry.EllipticCurve.Scheme.Neg

The negation morphism of the projective Weierstrass model #

Let W be a Weierstrass curve over a commutative ring R. The change of variables negVariableChange W = ⟨-1, 0, -a₁, -a₃⟩ fixes W, so the isomorphism projModelVariableChangeIso W (negVariableChange W) it induces is, through negVariableChange W • W = W, an automorphism of the projective Weierstrass model projModel W: the negation morphism projModelNeg W, [X : Y : Z] ↦ [X : -Y - a₁X - a₃Z : Z]. It is an involution over Spec R fixing the zero section, which on points with homogeneous coordinates P is Mathlib's negation WeierstrassCurve.Projective.neg, [P₀ : P₁ : P₂] ↦ [P₀ : -P₁ - a₁P₀ - a₃P₂ : P₂], and it commutes with base change and with the isomorphisms induced by changes of variables. No ellipticity is needed.

Since every pointed isomorphism of projective models over the same base is induced by a change of variables (WeierstrassCurve.existsUnique_eq_eqToHom_comp_projModelVariableChangeIso_hom), negation commutes with every morphism of projective models that carries the zero section to the zero section and is a base change square. This makes the negation of an elliptic curve over a scheme independent of the local Weierstrass equations used to define it.

Main definitions #

Main results #

References #

Provenance #

Adapted from AINTLIB (github.com/CBirkbeck/AINTLIB, Apache-2.0) at commit c3415f32a313e19ace43e05479aeaa0d56ca287a, file projects/ModularCurves/ModularCurves/EllipticCurve/GroupLawConstruction.lean, declarations negVec, negGradedQuot, negModelHom, negModelHom_π, negModelHom_negModelHom, negModelHom_zero and negModelHom_specPoints. Here the morphism is the isomorphism WeierstrassCurve.projModelVariableChangeIso induced by the change of variables negVariableChange, in place of Proj of the source's substitution negVec; the zero section is fixed because every such isomorphism preserves it, in place of the source's rescaling automorphism allNegGradedQuot; and the points are those of projModelPoint, for an arbitrary ring homomorphism g : R →+* S and a solution with a unit coordinate, in place of the source's field points matched with W.toAffine.Point.

The negation morphism [X : Y : Z] ↦ [X : -Y - a₁X - a₃Z : Z] of the projective Weierstrass model, (x, y) ↦ (x, -y - a₁x - a₃) on the affine part: the isomorphism projModel (negVariableChange W • W) ≅ projModel W induced by the change of variables negVariableChange W, read on projModel W through negVariableChange W • W = W. It acts on homogeneous coordinates by Projective.neg (projModelPoint_projModelNeg).

Instances For
    @[simp]

    The negation morphism fixes the zero section: [0 : 1 : 0] ↦ [0 : -1 : 0] = [0 : 1 : 0].

    The negation morphism is an isomorphism, being an involution.

    @[simp]

    The negation morphism is its own inverse.

    theorem WeierstrassCurve.projModelPoint_projModelNeg {R : Type u} [CommRing R] (W : WeierstrassCurve R) {S : Type u} [CommRing S] {g : R →+* S} {P : Fin 3 → S} {hP : (W.toProjective.map g).Equation P} {i : Fin 3} (hi : IsUnit (P i)) {j : Fin 3} (hj : IsUnit ((W.toProjective.map g).neg P j)) :

    The negation morphism sends the point projModelPoint W g hP hi with homogeneous coordinates P to the point with homogeneous coordinates Projective.neg P = [P₀ : -P₁ - a₁P₀ - a₃P₂ : P₂], the negation for the curve W.map g, defined through any chart D₊(Xⱼ) on which (Projective.neg P)ⱼ is a unit. Negation fixes P₀ and P₂ (Projective.neg_X, Projective.neg_Z), so for j ≠ 1 the hypothesis hj says that Pⱼ is a unit.

    The negation morphism sends the point projModelPoint W g hP hi with homogeneous coordinates P to the point with homogeneous coordinates Projective.neg P = [P₀ : -P₁ - a₁P₀ - a₃P₂ : P₂], the negation for the curve W.map g, defined through any chart D₊(Xⱼ) on which (Projective.neg P)ⱼ is a unit. Negation fixes P₀ and P₂ (Projective.neg_X, Projective.neg_Z), so for j ≠ 1 the hypothesis hj says that Pⱼ is a unit.

    @[simp]

    The negation morphism sends the point [x : y : 1] with values in R to the point [x : -y - a₁x - a₃ : 1], the negative of (x, y) on the affine curve.

    @[simp]

    The negation morphism sends the point [x : y : 1] with values in R to the point [x : -y - a₁x - a₃ : 1], the negative of (x, y) on the affine curve.

    Over a point s of Spec R, the point [x₂ : y₂ : 1] is [x₁ : y₁ : 1] or its negative exactly when x₂ ≡ x₁ modulo s.

    @[simp]

    The negation morphism commutes with base change: negation on projModel (W.map f) followed by the base change morphism projModel (W.map f) ⟶ projModel W along f : R →+* R' is the base change morphism followed by negation on projModel W.

    @[simp]

    The negation morphism commutes with base change: negation on projModel (W.map f) followed by the base change morphism projModel (W.map f) ⟶ projModel W along f : R →+* R' is the base change morphism followed by negation on projModel W.

    @[simp]

    The negation morphism commutes with the isomorphism projModel (C • W) ≅ projModel W induced by a change of variables C: negation on projModel (C • W) followed by the isomorphism is the isomorphism followed by negation on projModel W.

    @[simp]

    The negation morphism commutes with the isomorphism projModel (C • W) ≅ projModel W induced by a change of variables C: negation on projModel (C • W) followed by the isomorphism is the isomorphism followed by negation on projModel W.

    Negation commutes with pointed isomorphisms. An isomorphism e : projModel W ≅ projModel W' of projective Weierstrass models over Spec R, carrying the zero section to the zero section, carries the negation morphism of W to that of W'.

    Negation commutes with pointed cartesian morphisms. Let F : projModel W ⟶ projModel W' be a morphism of projective Weierstrass models over R and R', lying over ψ : Spec R ⟶ Spec R', such that the square formed by F, the structure morphisms and ψ is a pullback square, and carrying the zero section to the zero section. Then F carries the negation morphism of W to that of W'.

    An automorphism of the projective model fixing two suitable points is the identity. Let e : projModel W ⟶ projModel W be an automorphism over Spec R, given as a cartesian square over the identity, which fixes the zero section and the points [x₁ : y₁ : 1] and [x₂ : y₂ : 1]. If x₁ - x₂ and y₁ - (-y₁ - a₁x₁ - a₃) are units, then e is the identity. Over a field, the conditions say that the two points are distinct from each other and from the negative of the first point, and that the first point is not its own negative.