The isomorphism of point groups induced by a change of variables #
An admissible change of variables C : VariableChange R over a commutative ring induces a
bijection (C • W).toAffine.Point ≃ W.toAffine.Point of nonsingular points, sending
(x, y) to (u²x + r, u³y + u²sx + t) and fixing the point at infinity, with inverse
induced by C⁻¹. Over a field it is a group isomorphism. No ellipticity hypothesis is needed,
so this applies to the nonsingular points of singular Weierstrass curves as well.
Main definitions and results #
WeierstrassCurve.Affine.Point.equivVariableChange: the bijection of nonsingular points, over a commutative ring.WeierstrassCurve.Affine.Point.equivVariableChange_someandWeierstrassCurve.Affine.Point.equivVariableChange_symm_some: the forward and inverse coordinate formulas;WeierstrassCurve.Affine.Point.equivVariableChange_zeroandWeierstrassCurve.Affine.Point.equivVariableChange_symm_zero: both fix the point at infinity. All four are tagged@[simp].WeierstrassCurve.Affine.Point.addEquivVariableChange: the group isomorphism over a field with decidable equality, whose underlying functions are given byWeierstrassCurve.Affine.Point.coe_addEquivVariableChangeandWeierstrassCurve.Affine.Point.coe_addEquivVariableChange_symm.WeierstrassCurve.pointEquivVariableChange: forWandCover a commutative ringRand a fieldLoverR, the group isomorphism between the points overLofC • Wand ofW, that is((C • W).baseChange L).toAffine.Point ≃+ (W.baseChange L).toAffine.Point, with its coordinate lemmaspointEquivVariableChange_someandpointEquivVariableChange_symm_some.
These maps identify the point groups of different Weierstrass models and, in particular, a quadratic twist with its original curve over a splitting field.
References #
Adapted from the FLT project (ImperialCollegeLondon/FLT,
FLT/Mathlib/AlgebraicGeometry/EllipticCurve/Affine/Point.lean at commit bc2fe8ff7396,
FLT PR #1088, Apache 2.0), by Michael Stoll and Claude.
The bijection (C • W).Point ≃ W.Point of nonsingular points induced by the admissible
change of variables (x, y) ↦ (u²x + r, u³y + u²sx + t), with inverse coming from C⁻¹.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The forward coordinate formula for the change-of-variables bijection.
The change-of-variables bijection fixes the point at infinity.
The inverse of the change-of-variables bijection fixes the point at infinity.
The inverse coordinate formula, given by the inverse change of variables.
The group isomorphism (C • W).Point ≃+ W.Point induced by the admissible change of
variables; its underlying bijection is equivVariableChange.
Equations
- WeierstrassCurve.Affine.Point.addEquivVariableChange W C = { toEquiv := WeierstrassCurve.Affine.Point.equivVariableChange W C, map_add' := ⋯ }
Instances For
The group isomorphism addEquivVariableChange has underlying function
equivVariableChange.
The inverse of the group isomorphism addEquivVariableChange has underlying function the
inverse of equivVariableChange.
Curves over a ring and their points over a field #
The points over L of C • W and of W are identified by a change of variables C over
R: the group isomorphism (x, y) ↦ (u²x + r, u³y + u²sx + t) between the points of their base
changes to a field L. It is WeierstrassCurve.Affine.Point.addEquivVariableChange for the base
change of C to L, read on the base change of C • W.
Equations
- W.pointEquivVariableChange L C = (AddEquiv.cast ⋯).trans (WeierstrassCurve.Affine.Point.addEquivVariableChange (W.baseChange L) (C.baseChange L))
Instances For
What the identification pointEquivVariableChange does to a point given by coordinates: it is
the change of variables C, base changed to L.
What the inverse of the identification pointEquivVariableChange does to a point given by
coordinates: it is the change of variables C⁻¹, base changed to L.