Description
<this was first reported on the sage-devel google group:
https://groups.google.com/g/sage-devel/c/s0B7OqpB0KU/m/18eHSiRWAAAJ ;
as requested I'm opening this ticket>
I am running into an issue with computing isogeny classes of elliptic curves over number fields.
Here is what I entered:
K.<a> = QuadraticField(4569)
myJ = 46969655/32768
E = EllipticCurve(j=K(myJ))
C = E.isogeny_class()
This raises a KeyError
in the first instance, which seems to be handled via a direct call to IsogenyClass_EC_NumberField
, but this then raises a ValueError: Cannot convert infinity or NaN to Sage Integer
. See the above linked discussion for the full stacktrace.
This error has occurred on sage-9.4 on a system whose uname -a
is Linux LEGENDRE 5.4.0-91-generic #102-Ubuntu SMP Fri Nov 5 16:31:28 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
, as well as on sage-9.7-beta5 on Linux Barinder 5.4.0-121-generic #137-Ubuntu SMP Wed Jun 15 13:33:07 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
.
Changing the field K to many other quadratic fields does not yield any error. However I did also notice this error with many j-invariants in QuadraticField(6537)
, so it somehow seems to be base-field dependent.
Two issues are fixed in this ticket: (1) computing the isogeny class could fail for a curve defined by a non-integral model; (2) precision was not handled well in scaling equations by units.
CC: @JohnCremona
Component: elliptic curves
Keywords: isogeny-classes
Author: John Cremona
Branch/Commit: 783dbc3
Reviewer: David Lowry-Duda
Issue created by migration from https://trac.sagemath.org/ticket/34174