Description
This ticket is the obvious next step after #32388: We move lots of code from EllipticCurveIsogeny
to EllipticCurveHom
, and implement the missing EllipticCurveHom
methods in WeierstrassIsomorphism
.
This should make WeierstrassIsomorphism
close to indistinguishable from EllipticCurveIsogeny
.
All the really new code is in weierstrass_morphism.py
and should be straightforward. The other changes are just moving things around and some small tweaks that shouldn't cause any observable changes in behaviour.
(The only "real" dependency is #32388. I've merged the others into this branch too because it made sense, but in principle this could be rebased on top of #32388 alone if one of the others gets stalled for some reason.)
Depends on #32388
Depends on #32430
Depends on #32495
Depends on #32490
CC: @defeo @JohnCremona
Component: elliptic curves
Keywords: isogenies, refactoring
Author: Lorenz Panny
Branch/Commit: 444330c
Reviewer: John Cremona
Issue created by migration from https://trac.sagemath.org/ticket/32502