Skip to content

clean up ell_curve_isogeny.py #33619

@yyyyx4

Description

@yyyyx4

The core of the elliptic-curve isogeny functionality in Sage is from #5976 — almost 13 years old! — and quite a few things in the EllipticCurveIsogeny class look somewhat dated by now.

In this patch, we make an effort to clean up ell_curve_isogeny.py. Besides plenty of style improvements, the main changes are:

  • The documentation used to claim that only normalized, cyclic isogenies are supported. This is false for most of the codebase; these limitations only apply to a few selected algorithms (Kohel's formulas, Starks).

  • The EllipticCurveIsogeny class contained some unused member variables, and some whose design choices seemed a bit random at times. I've streamlined the fields used to store the data of EllipticCurveIsogeny; among other things, this means we can unify the implementation of .degree() for all EllipticCurveHom children.

  • The degree parameter for the isogeny_codomain method was unused; I've removed it.

  • The split_kernel_polynomial() function appears to be equivalent to calling .radical() on the polynomial, which also seems a little bit faster.

  • The .n() method only raised a NotImplementedError, but simply letting the call fall through to the parent class also fails gracefully. I've thus removed the specialized implementation.

  • The .get_{pre,post}_isomorphism() methods won't really make sense once the corresponding (already deprecated) setters are removed. I added a remark to that effect.

Depends on #33582
Depends on #33214

CC: @shumow @JohnCremona @categorie @defeo @fchapoton @tscrim @videlec @slel @seblabbe

Component: elliptic curves

Author: Lorenz Panny

Branch/Commit: 2833869

Reviewer: John Cremona, Kwankyu Lee

Issue created by migration from https://trac.sagemath.org/ticket/33619

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions