fix random doctest failure in EllipticCurveHom_velusqrt
As reported in comment:25:ticket:34303, 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.
Change History (8)
Cc: 
Antonio Rojas added

Status: 
new →
needs_review

Commit: 
087231256a165b382cea178396daf9e43f1021f8 →
467eda55e5ff8ea839cb5cdf06915eb0fc482b9a

Reviewers: 
→ Kwankyu Lee

Status: 
needs_review →
positive_review

Priority: 
minor →
critical

Milestone: 
sage9.7 →
sage9.8

Branch: 
public/increase_velusqrt_minimum_degree_to_9 →
467eda55e5ff8ea839cb5cdf06915eb0fc482b9a

Resolution: 
→ fixed

Status: 
positive_review →
closed

How about adding a doctest for this problematic case with an explanation and a link to this ticket?