Skip to content

fix random doctest failure in EllipticCurveHom_velusqrt #34467

@yyyyx4

Description

@yyyyx4

As reported in #34303 comment:25, EllipticCurveHom_velusqrt accidentally computes an irrational isogeny for curves defined over GF(3) with 7 rational points. The reason is that the computation internally requires a point lying outside the kernel, which only in this one specific case will be defined over a cubic instead of a quadratic extension. This in turn implies the linear factors in the numerator of the isogeny won't match up in conjugate pairs, causing the problem.

Quick fix: Simply restrict the implementation to degrees ≥ 9. Since the older EllipticCurveIsogeny implementation is much faster for degrees this small anyway, this restriction won't be a problem for any remotely realistic code.

CC: @antonio-rojas

Component: elliptic curves

Author: Lorenz Panny

Branch/Commit: 467eda5

Reviewer: Kwankyu Lee

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

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions