Isomorphism of point groups induced by a change of variables #
This file is ported from Michael Stoll's Apache-2.0 EllipticCurves project at commit
3f8c39c0fc4c0fd0a40e693aa2a9bbda08d9ee1f.
Mathlib's affine Point API provides the group homomorphism induced by a change of the base
field for a fixed Weierstrass curve, but not the isomorphism of Mordell--Weil groups induced by
an admissible change of variables between two different curves. For
C : WeierstrassCurve.VariableChange F, the admissible change
(x, y) ↦ (u²x + r, u³y + u²sx + t)
gives the group isomorphism
WeierstrassCurve.Affine.Point.equivVariableChange : (C • W).Point ≃+ W.Point.
Its inverse is the explicit change of variables C⁻¹.
Transformation of the group-law formulae under a change of variables #
The image of a pair of points under the change of variables satisfies the y₁ = -y₂
degeneracy condition only if the original pair does.
A point (x, y) lies on C • W if and only if (u²x + r, u³y + u²sx + t) lies on W.
The induced isomorphism of point groups #
The underlying point map of the change of variables, sending 0 to 0.
Equations
- One or more equations did not get rendered due to their size.
- WeierstrassCurve.Affine.Point.mapVariableChangeFun W C WeierstrassCurve.Affine.Point.zero = WeierstrassCurve.Affine.Point.zero
Instances For
Transport of the affine point group along an equality of Weierstrass curves.
Equations
Instances For
The group homomorphism induced by the admissible change of variables.
Equations
- WeierstrassCurve.Affine.Point.mapVariableChange W C = { toFun := WeierstrassCurve.Affine.Point.mapVariableChangeFun W C, map_zero' := ⋯, map_add' := ⋯ }
Instances For
The point-group isomorphism induced by the admissible change of variables.
Equations
- One or more equations did not get rendered due to their size.