Commit 2026-04-28 09:59 04e84bf9

View on Github →

feat(AlgebraicGeometry/EllipticCurve): improve API for maps and base changes (#36328) Dot notation for concrete Weierstrass curves (Affine/Jacobian/Projective) does not quite work on W : WeierstrassCurve F even though they're all abbreviations of WeierstrassCurve, which is annoying for functions that return WeierstrassCurves (currently just map, baseChange, and variableChange). For instance, for an A : Affine F, the expression A.baseChange K is a WeierstrassCurve K rather than an Affine K, so (A.baseChange K).polynomial will not work since polynomial is a function of Affine K rather than WeierstrassCurve K; instead we have to do (A.baseChange K).toAffine.polynomial, which is wordy. This PR introduces abbreviations Affine/Jacobian/Projective.map/baseChange to get around this, and introduces scoped notations W/K, where the slashes are given by \textf. The notation W⟮K⟯ for (W.baseChange K)Point seems to be useless so far and can now be replaced by (W/K).Point.

Estimated changes