Integral points of an integral Weierstrass equation #
An integral point is an affine rational point whose two coordinates come from ℤ. The equation
is kept over ℤ, so negation preserves integral points even when the model is not short. A finite
search over a box of integer coordinates gives a certificate for every point in that box. No
finiteness assertion is made for the set of all integral points.
The set depends on the integral equation, rather than only on its rational isomorphism class. A
change of variables C over ℤ, so with u = ±1 and r, s, t ∈ ℤ, identifies the rational points
of C • W and of W by (x, y) ↦ (u²x + r, u³y + u²sx + t)
(WeierstrassCurve.pointEquivVariableChange with L = ℚ), and this identification restricts to a
bijection between their integral points
(WeierstrassCurve.bijOn_pointEquivVariableChange_integralPoints).
The restriction to changes of variables over ℤ matters: the scaling (x, y) ↦ (u²x, u³y) with
|u| > 1 identifies the rational points too, but not the integral ones, since a point (X, Y) of
W corresponds to (X / u², Y / u³).
References #
- J. Silverman, The Arithmetic of Elliptic Curves, III.1 and III.2.
An integral solution of the affine Weierstrass equation determines a rational point.
Equations
Instances For
The affine coordinates of the rational point constructed from an integral solution.
The affine rational points with both coordinates integral. The point at infinity is excluded.
Equations
Instances For
A rational affine point is integral exactly when it comes from an integer solution of the Weierstrass equation.
Every integral solution gives an integral point.
The point at infinity, denoted by 0, is not an affine integral point.
Integral points are stable under the group inverse because
-(x,y) = (x,-y-a₁x-a₃) has integral coordinates.
Negation preserves and reflects integrality of affine points.
The quadratic Weierstrass equation bounds the absolute yCoord by its linear and constant
coefficients. This makes a search bounded only in xCoord finite.
Integer coordinate pairs with |x| ≤ B that solve the Weierstrass equation. This is a
computable finite search: the ordinate bound makes each inner interval finite.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The finite set of rational integral points with |x| ≤ B, obtained by evaluating the
bounded integer-coordinate search.
Equations
- W.boundedIntegralPoints B = Finset.image (fun (p : ↥(W.boundedIntegralSolutions B)) => W.pointOfIntegralSolution (↑p).1 (↑p).2 ⋯) (W.boundedIntegralSolutions B).attach
Instances For
Membership in the finite search result is exactly integrality and the abscissa bound.
Every point returned by the bounded search is integral.
The bounded searches exhaust the integral points. A claimed complete list below an abscissa
bound can therefore be checked by comparing it with boundedIntegralPoints.
Changes of variables over ℤ #
The identification pointEquivVariableChange sends the rational point of an integral solution
(x, y) of C • W to that of the integral solution (u²x + r, u³y + u²sx + t) of W.
The inverse of pointEquivVariableChange sends the rational point of an integral solution
(x, y) of W to that of the integral solution of C • W given by the coordinates of C⁻¹.
A change of variables over ℤ preserves and reflects integrality: a rational point of
C • W is integral exactly when its image under pointEquivVariableChange is an integral point
of W.
A change of variables over ℤ is a bijection on integral points: the identification
pointEquivVariableChange of the rational points of C • W and of W maps the integral points
of C • W bijectively onto those of W.