-
-
Notifications
You must be signed in to change notification settings - Fork 660
Closed
Milestone
Description
With Sage 9.5.rc3:
sage: E = EllipticCurve(GF(71^2), [5,5])
sage: phi = E.isogeny(E.lift_x(0))
sage: E1 = E.change_weierstrass_model(9,8,7,6)
sage: phi = phi * E1.isomorphism_to(E)
sage: P = E1.lift_x(1)
sage: P in phi.domain()
True
sage: phi(P)
---------------------------------------------------------------------------
# ...
~/prg/sage/src/sage/schemes/elliptic_curves/ell_curve_isogeny.py in _call_(self, P)
1182 outP = (tempX, tempY)
1183
-> 1184 return self.__E2(outP)
1185
1186 def __getitem__(self, i):
# ...
TypeError: Coordinates [46, 3*z2 + 44, 1] do not define a point on Elliptic Curve defined by y^2 = x^3 + 5*x + 5 over Finite Field in z2 of size 71^2
The reason is the following code in EllipticCurveIsogeny.__compute_via_velu()
:
a1 = self.__E1.a1()
a3 = self.__E1.a3()
Here, .__E1
is the same as .domain()
, but the Vélu formulas compute the "inner" isogeny. Thus, these should be the a1,a3
constants of the pre-isomorphism codomain.
CC: @JohnCremona @categorie @defeo
Component: elliptic curves
Author: Lorenz Panny
Branch/Commit: 3b823d0
Reviewer: John Cremona, Frédéric Chapoton
Issue created by migration from https://trac.sagemath.org/ticket/33214