Skip to content

.multiplication_by_m_isogeny() fails for negative m #34727

@yyyyx4

Description

@yyyyx4
sage: EllipticCurve([5,5]).multiplication_by_m_isogeny(-1)
# ...
AssertionError: bug in multiplication_by_m_isogeny()
sage: EllipticCurve([5,5]).multiplication_by_m_isogeny(-2)
# ...
NotImplementedError: Kohel's algorithm currently only supports cyclic isogenies (except for [2])
sage: EllipticCurve([5,5]).multiplication_by_m_isogeny(-3)
# ...
ValueError: n must be a positive integer (or -1 or -2)

All of these are because .multiplication_by_m_isogeny() calls .torsion_polynomial() with m, which may be negative, rather than abs(m). As the last error message indicates, the values -1 and -2 additionally have special meaning for .torsion_polynomial(), which made debugging a bit more confusing...

Component: elliptic curves

Author: Lorenz Panny

Branch/Commit: a6e99a7

Reviewer: Frédéric Chapoton

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

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions