#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.