Opened 8 years ago

Closed 8 years ago

#17293 closed defect (fixed)

Taking the dual of a negated isogeny raises an error

Reported by: Peter Bruin Owned by:
Priority: minor Milestone: sage-6.4
Component: elliptic curves Keywords: isogeny dual
Cc: Merged in:
Authors: Peter Bruin Reviewers: Frédéric Chapoton
Report Upstream: N/A Work issues:
Branch: f40eb90 (Commits, GitHub, GitLab) Commit: f40eb909f4545d5c99288dbe33bbac1dc17bc4e5
Dependencies: Stopgaps:

Status badges

Description (last modified by Peter Bruin)

In the following example, taking the dual works for the isogeny phi but fails for the negated isogeny psi:

sage: k.<s> = QuadraticField(2)
sage: E = EllipticCurve(k, [-3*s*(4 + 5*s), 2*s*(2 + 14*s + 11*s^2)])
sage: phi = E.isogenies_prime_degree(3)[0]
sage: psi = -phi
sage: phi.dual()
Isogeny of degree 3 from Elliptic Curve defined by y^2 = x^3 + (108*s-270)*x + (-1296*s+1512) over Number Field in s with defining polynomial x^2 - 2 to Elliptic Curve defined by y^2 = x^3 + (-12*s-30)*x + (48*s+56) over Number Field in s with defining polynomial x^2 - 2
sage: psi.dual()
Traceback (most recent call last):
NameError: global name 'E0' is not defined

There is also a (trivial) bug that causes the dual to remain cached if the isogeny is changed by precomposing or postcomposing with an isomorphism (which is the way negation is implemented):

sage: -(phi.dual()) == (-phi).dual()                                          

Change History (4)

comment:1 Changed 8 years ago by Peter Bruin

Description: modified (diff)

comment:2 Changed 8 years ago by Peter Bruin

Authors: Peter Bruin
Branch: u/pbruin/17293-isogeny_dual_negate
Commit: f40eb909f4545d5c99288dbe33bbac1dc17bc4e5
Status: newneeds_review

comment:3 Changed 8 years ago by Frédéric Chapoton

Reviewers: Frédéric Chapoton
Status: needs_reviewpositive_review


comment:4 Changed 8 years ago by Volker Braun

Branch: u/pbruin/17293-isogeny_dual_negatef40eb909f4545d5c99288dbe33bbac1dc17bc4e5
Resolution: fixed
Status: positive_reviewclosed
Note: See TracTickets for help on using tickets.