#3416: Weierstrass form and Jacobian for cubics and certain other genus-one
curves
------------------------------------------------------------------------------+
Reporter: moretti |
Owner: was
Type: enhancement |
Status: needs_review
Priority: major |
Milestone: sage-5.7
Component: elliptic curves |
Resolution:
Keywords: nagell, weierstrass, cubic, elliptic curves, editor_wstein |
Work issues:
Report Upstream: N/A |
Reviewers: John Cremona, Marco Streng, Nils Bruin
Authors: Niels Duif, Volker Braun |
Merged in:
Dependencies: #12553, #13084, #13458 |
Stopgaps:
------------------------------------------------------------------------------+
Comment (by mstreng):
Thanks for all the work! I have not looked at it in detail, but do have a
few comments:
* The following worked without the patch (using Magma), but gives a
`ZeroDivisionError` with the patch: (see also [comment:27 here])
> {{{
> sage: P.<x,y,z> = QQ[]
> sage: EllipticCurve_from_cubic(x^3+y^3+z^3, [-1,0,1])
> …
> ZeroDivisionError:
> }}}
That is because the code this patch is built on is incomplete (it misses
a few such cases).
* There is a backwards incompatibility in `EllipticCurve_from_cubic`.
Input:
{{{
sage: P.<X,Y,Z> = QQ[]
sage: EllipticCurve_from_cubic(X^3+Y^3+Z^3, [1,-1,0])
}}}
Output: an elliptic curve without the patch, a morphism with the patch
* Why not add a "morphism" parameter to `EllipticCurve` too? That way,
`EllipticCurve_from_cubic` is not needed at all. This will make the global
namespace smaller (leading to smaller startup times and less confusion on
which function to use when). And as an added bonus, it allows a smooth
deprecation of `EllipticCurve_from_cubic`, rather than the backwards
incompatibility mentioned above.
* When I do
{{{
sage: Jacobian?
}}}
I get
{{{
...
Source File:
/scratch/tsg250/sage-5.5.rc0/devel/sage/sage/misc/lazy_import.so
...
* A polynomial, see "Jacobian_of_equation()" for details.
* A curve, see "Jacobian_of_curve()" for details.
}}}
But "{{{Jacobian_of_equation?}}}" and "{{{Jacobian_of_curve?}}}" don't
work, because they are not in the global namespace. And it takes some
effort to find out that
{{{
sage: sage.schemes.elliptic_curves.jacobian.Jacobian_of_curve?
}}}
works, unless someone first tells me that `Jacobian_of_curve` is in
`sage.schemes.elliptic_curves.jacobian`.
--
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/3416#comment:59>
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?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.