#17293: Taking the dual of a negated isogeny raises an error
-----------------------------------+------------------------
       Reporter:  pbruin           |        Owner:
           Type:  defect           |       Status:  new
       Priority:  minor            |    Milestone:  sage-6.4
      Component:  elliptic curves  |   Resolution:
       Keywords:  isogeny dual     |    Merged in:
        Authors:                   |    Reviewers:
Report Upstream:  N/A              |  Work issues:
         Branch:                   |       Commit:
   Dependencies:                   |     Stopgaps:
-----------------------------------+------------------------
Description changed by pbruin:

Old description:

> 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
> }}}

New description:

 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()
 False
 }}}

--

--
Ticket URL: <http://trac.sagemath.org/ticket/17293#comment:1>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica, 
and MATLAB

-- 
You received this message because you are subscribed to the Google Groups 
"sage-trac" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/sage-trac.
For more options, visit https://groups.google.com/d/optout.

Reply via email to