Nonsingular rational points on Weierstrass curves #
This file defines the type of nonsingular rational points on a Weierstrass curve over a field and proves that it forms an abelian group under a geometric secant-and-tangent process.
Mathematical background #
Let W
be a Weierstrass curve over a field F
. A rational point on W
is simply a point
$[X:Y:Z]$ defined over F
in the projective plane satisfying the homogeneous cubic equation
$Y^2Z + a_1XYZ + a_3YZ^2 = X^3 + a_2X^2Z + a_4XZ^2 + a_6Z^3$. Any such point either lies in the
affine chart $Z \ne 0$ and satisfies the Weierstrass equation obtained by replacing $X/Z$ with $X$
and $Y/Z$ with $Y$, or is the unique point at infinity $0 := [0:1:0]$ when $Z = 0$. With this new
description, a nonsingular rational point on W
is either $0$ or an affine point $(x, y)$ where
the partial derivatives $W_X(X, Y)$ and $W_Y(X, Y)$ do not vanish simultaneously. For a field
extension K
of F
, a K
-rational point is simply a rational point on W
base changed to K
.
The set of nonsingular rational points forms an abelian group under a secant-and-tangent process.
- The identity rational point is
0
. - Given a nonsingular rational point
P
, its negation-P
is defined to be the unique third point of intersection betweenW
and the line through0
andP
. Explicitly, ifP
is $(x, y)$, then-P
is $(x, -y - a_1x - a_3)$. - Given two points
P
andQ
, their additionP + Q
is defined to be the negation of the unique third point of intersection betweenW
and the lineL
throughP
andQ
. Explicitly, letP
be $(x_1, y_1)$ and letQ
be $(x_2, y_2)$.- If $x_1 = x_2$ and $y_1 = -y_2 - a_1x_2 - a_3$, then
L
is vertical andP + Q
is0
. - If $x_1 = x_2$ and $y_1 \ne -y_2 - a_1x_2 - a_3$, then
L
is the tangent ofW
atP = Q
, and has slope $\ell := (3x_1^2 + 2a_2x_1 + a_4 - a_1y_1) / (2y_1 + a_1x_1 + a_3)$. - Otherwise $x_1 \ne x_2$, then
L
is the secant ofW
throughP
andQ
, and has slope $\ell := (y_1 - y_2) / (x_1 - x_2)$. In the latter two cases, the $X$-coordinate ofP + Q
is then the unique third solution of the equation obtained by substituting the line $Y = \ell(X - x_1) + y_1$ into the Weierstrass equation, and can be written down explicitly as $x := \ell^2 + a_1\ell - a_2 - x_1 - x_2$ by inspecting the $X^2$ terms. The $Y$-coordinate ofP + Q
, after applying the final negation that maps $Y$ to $-Y - a_1X - a_3$, is precisely $y := -(\ell(x - x_1) + y_1) - a_1x - a_3$. The group law on this set is then uniquely determined by these constructions.
- If $x_1 = x_2$ and $y_1 = -y_2 - a_1x_2 - a_3$, then
Main definitions #
WeierstrassCurve.Point
: the type of nonsingular rational points on a Weierstrass curveW
.WeierstrassCurve.Point.add
: the addition of two nonsingular rational points onW
.
Main statements #
WeierstrassCurve.Point.instAddCommGroupPoint
: the type of nonsingular rational points onW
forms an abelian group under addition.
Notations #
W⟮K⟯
: the group of nonsingular rational points onW
base changed toK
.
References #
[J Silverman, The Arithmetic of Elliptic Curves][silverman2009]
Tags #
elliptic curve, rational point, group law
Polynomials associated to nonsingular rational points on a Weierstrass curve #
The polynomial $-Y - a_1X - a_3$ associated to negation.
Instances For
The $Y$-coordinate of the negation of an affine point in W
.
This depends on W
, and has argument order: $x_1$, $y_1$.
Instances For
The polynomial $L(X - x_1) + y_1$ associated to the line $Y = L(X - x_1) + y_1$, with a slope of $L$ that passes through an affine point $(x_1, y_1)$.
This does not depend on W
, and has argument order: $x_1$, $y_1$, $L$.
Instances For
The polynomial obtained by substituting the line $Y = L*(X - x_1) + y_1$, with a slope of $L$
that passes through an affine point $(x_1, y_1)$, into the polynomial $W(X, Y)$ associated to W
.
If such a line intersects W
at another point $(x_2, y_2)$, then the roots of this polynomial are
precisely $x_1$, $x_2$, and the $X$-coordinate of the addition of $(x_1, y_1)$ and $(x_2, y_2)$.
This depends on W
, and has argument order: $x_1$, $y_1$, $L$.
Instances For
The $X$-coordinate of the addition of two affine points $(x_1, y_1)$ and $(x_2, y_2)$ in W
,
where the line through them is not vertical and has a slope of $L$.
This depends on W
, and has argument order: $x_1$, $x_2$, $L$.
Instances For
The $Y$-coordinate, before applying the final negation, of the addition of two affine points $(x_1, y_1)$ and $(x_2, y_2)$, where the line through them is not vertical and has a slope of $L$.
This depends on W
, and has argument order: $x_1$, $x_2$, $y_1$, $L$.
Instances For
The $Y$-coordinate of the addition of two affine points $(x_1, y_1)$ and $(x_2, y_2)$ in W
,
where the line through them is not vertical and has a slope of $L$.
This depends on W
, and has argument order: $x_1$, $x_2$, $y_1$, $L$.
Instances For
The type of nonsingular rational points on a Weierstrass curve #
- zero: {R : Type u} → [inst : CommRing R] → {W : WeierstrassCurve R} → WeierstrassCurve.Point W
- some: {R : Type u} → [inst : CommRing R] → {W : WeierstrassCurve R} → {x y : R} → WeierstrassCurve.nonsingular W x y → WeierstrassCurve.Point W
A nonsingular rational point on a Weierstrass curve W
over R
. This is either the point at
infinity WeierstrassCurve.Point.zero
or an affine point WeierstrassCurve.Point.some
$(x, y)$
satisfying the equation $y^2 + a_1xy + a_3y = x^3 + a_2x^2 + a_4x + a_6$ of W
.
Instances For
For an algebraic extension S
of R
, The type of nonsingular S
-rational points on W
.
Instances For
The negation of an affine point in W
lies in W
.
The negation of a nonsingular affine point in W
is nonsingular.
The negation of a nonsingular rational point.
Given a nonsingular rational point P
, use -P
instead of neg P
.
Instances For
Slopes of lines through nonsingular rational points on a Weierstrass curve #
The slope of the line through two affine points $(x_1, y_1)$ and $(x_2, y_2)$ in W
.
If $x_1 \ne x_2$, then this line is the secant of W
through $(x_1, y_1)$ and $(x_2, y_2)$,
and has slope $(y_1 - y_2) / (x_1 - x_2)$. Otherwise, if $y_1 \ne -y_1 - a_1x_1 - a_3$,
then this line is the tangent of W
at $(x_1, y_1) = (x_2, y_2)$, and has slope
$(3x_1^2 + 2a_2x_1 + a_4 - a_1y_1) / (2y_1 + a_1x_1 + a_3)$. Otherwise, this line is vertical,
and has undefined slope, in which case this function returns the value 0.
This depends on W
, and has argument order: $x_1$, $x_2$, $y_1$, $y_2$.
Instances For
The addition law on nonsingular rational points on a Weierstrass curve #
The addition of two affine points in W
on a sloped line,
before applying the final negation that maps $Y$ to $-Y - a_1X - a_3$, lies in W
.
The addition of two affine points in W
on a sloped line lies in W
.
The addition of two nonsingular affine points in W
on a sloped line,
before applying the final negation that maps $Y$ to $-Y - a_1X - a_3$, is nonsingular.
The addition of two nonsingular affine points in W
on a sloped line is nonsingular.
The addition of two nonsingular rational points.
Given two nonsingular rational points P
and Q
, use P + Q
instead of add P Q
.
Instances For
The axioms for nonsingular rational points on a Weierstrass curve #
The non-zero fractional ideal $\langle X - x, Y - y \rangle$ of $F(W)$ for some $x, y \in F$.
Instances For
The set function mapping an affine point $(x, y)$ of W
to the class of the non-zero fractional
ideal $\langle X - x, Y - y \rangle$ of $F(W)$ in the class group of $F[W]$.
Instances For
The group homomorphism mapping an affine point $(x, y)$ of W
to the class of the non-zero
fractional ideal $\langle X - x, Y - y \rangle$ of $F(W)$ in the class group of $F[W]$.
Instances For
Nonsingular rational points on a base changed Weierstrass curve #
The function from W⟮F⟯
to W⟮K⟯
induced by a base change from F
to K
.
Instances For
The group homomorphism from W⟮F⟯
to W⟮K⟯
induced by a base change from F
to K
.
Instances For
Rational points on an elliptic curve #
An affine point on an elliptic curve E
over R
.