The short Weierstrass curve y² = x³ + a x + b packaged as a WeierstrassCurve.
Instances For
The bivariate Weierstrass polynomial Y² − (X³ + aX + b), viewed in k[X][Y].
Instances For
Our hand-written Weierstrass polynomial agrees with the mathlib affine defining polynomial.
The Weierstrass polynomial is monic of degree two in Y.
The Weierstrass polynomial has Y-degree exactly two.
No polynomial in X can be a root of the Weierstrass polynomial, by
degree-counting: X³ + aX + b has odd degree and so is not a square.
The Weierstrass polynomial is irreducible in k[X][Y], hence the cubic
defines an integral plane curve.
Alternative proof of irreducibility, via the mathlib affine Weierstrass API.
The coordinate ring k[X][Y]/(Y² − X³ − aX − b) of the affine Weierstrass
curve is an integral domain.
Ring equivalence between our coordinate ring and the mathlib affine
coordinate ring, transporting via weierstrass_eq_polynomial.
Instances For
Smoothness via the Jacobian criterion: at any point on the curve, the two
partial derivatives 2y and 3x² + a cannot vanish simultaneously when the
discriminant is non-zero.
Equivalent formulation of the Jacobian smoothness criterion: at any curve point, at least one of the two partial derivatives is non-zero.
Smoothness of the elliptic curve: every point on the short Weierstrass
curve is nonsingular when Δ ≠ 0 (i.e. char k ≠ 2 and 4a³ + 27b² ≠ 0).
Characterization of nonsingularity in terms of the defining equation and the explicit Jacobian non-vanishing condition.