Opened 14 years ago
Closed 13 years ago
#4290 closed defect (fixed)
[with patch, positive review] function to construct an Elliptic Curve from a plane curve of genus one (using Magma)
Reported by: | L J P Kilford | Owned by: | Craig Citro |
---|---|---|---|
Priority: | minor | Milestone: | sage-4.1 |
Component: | algebraic geometry | Keywords: | |
Cc: | Merged in: | sage-4.1.alpha0 | |
Authors: | Lloyd Kilford, John Cremona | Reviewers: | Nick Alexander |
Report Upstream: | N/A | Work issues: | |
Branch: | Commit: | ||
Dependencies: | Stopgaps: |
Description
This is a function to turn plane curves of genus 1 with a known point into objects of type EllipticCurve?. It relies on MAGMA (as does EllipticCurve_from_cubic) but will add a little functionality. Here is an example of how it works:
sage: x,y,z=MPolynomialRing(QQ,Integer(3),'xyz').gens() # optional sage: C=Curve(x^4+x^2*y^2-z^4) sage: P=C(1,0,1) sage: E=EllipticCurve_from_plane_curve(C,P) sage: E Elliptic Curve defined by y^2 = x^3 + 4*x over Rational Field
Attachments (3)
Change History (13)
Changed 14 years ago by
Attachment: | EllipticCurve_from_plane_curve.sage added |
---|
comment:1 Changed 14 years ago by
Owner: | changed from William Stein to Craig Citro |
---|
comment:2 Changed 14 years ago by
Summary: | stopgap function to turn plane curves of genus one into elliptic curves → [with patch; needs review] stopgap function to turn plane curves of genus one into elliptic curves |
---|
comment:3 Changed 14 years ago by
Summary: | [with patch; needs review] stopgap function to turn plane curves of genus one into elliptic curves → [with patch; with review, needs work] stopgap function to turn plane curves of genus one into elliptic curves |
---|
The "patch" isn't a patch, it's just a function defined in Sage. Secondly, there is already a function that does almost the same as this in sage/schemes/elliptic_curves/constructor.py .
So what needs to be done (Lloyd!) is to (1) Explain briefly how this function differs from the existing one, and why it is better, and also (2) actually make a patch.
If Lloyd convinces me of (1) then I'll happily do (2).
comment:4 Changed 14 years ago by
The current Sage function only converts cubics into elliptic curves, but MAGMA can do quite a bit more than that. My function can also cope with other genus one curves such as x^{4+x}2*y^{2-z}4 which is not cubic. Possibly the current function should be tweaked slightly so that it can do both cubic and non-cubic examples.
comment:5 Changed 14 years ago by
Summary: | [with patch; with review, needs work] stopgap function to turn plane curves of genus one into elliptic curves → [with patch; needs work] stopgap function to turn plane curves of genus one into elliptic curves |
---|
Anything going on with this patch? It has been sitting around for 4 months :(.
Cheers,
Michael
Changed 14 years ago by
Attachment: | trac_4290.patch added |
---|
Patch based on the above, based on 3.4.1.rc0
comment:6 Changed 14 years ago by
Summary: | [with patch; needs work] stopgap function to turn plane curves of genus one into elliptic curves → [with new patch; needs review] function to construct an Elliptic Curve from a plane curve of genus one (using Magma) |
---|
I have made a proper patch based on Lloyd's function (based on 3.4.1.rc0), which also fixes his function so that it works when the variable names are something other than 'x','y','z' (which it did not before).
You might think that this function makes the existing EllipicCurve_from_cubic redundant; it nearly does, but that function takes a homogeneous polynomial while this one takes an actual curve. It would probably be better to combine these when all this is rewritten in Sage.
I added the new function to all.py so that it is in the global namespace. I am not sure what the convention is here, given that it is an optional-only function requiring magma! Also I have nto tested my patch o na machine without magma since I don't have one handy :)
comment:7 Changed 14 years ago by
Summary: | [with new patch; needs review] function to construct an Elliptic Curve from a plane curve of genus one (using Magma) → [with new patch; needs work] function to construct an Elliptic Curve from a plane curve of genus one (using Magma) |
---|
The doctests should be marked:
# optional - magma
so when one does
sage -t -only_optional=magma
they get run.
Changed 13 years ago by
Attachment: | trac_4290-rebase.patch added |
---|
Replaces previous; rebased to 4.0.1
comment:8 Changed 13 years ago by
Summary: | [with new patch; needs work] function to construct an Elliptic Curve from a plane curve of genus one (using Magma) → [with new patch; needs review] function to construct an Elliptic Curve from a plane curve of genus one (using Magma) |
---|
The new patch replaces previous ones. It marks the doctests as William asked; testing then revealed bugs which have been fixed. Also rebased to 4.0.1 and the docstrings properly ReSTified to the reference manual page looks good.
comment:9 Changed 13 years ago by
Authors: | → Lloyd Kilford, John Cremona |
---|---|
Reviewers: | → Nick Alexander |
Summary: | [with new patch; needs review] function to construct an Elliptic Curve from a plane curve of genus one (using Magma) → [with patch, positive review] function to construct an Elliptic Curve from a plane curve of genus one (using Magma) |
Works well for me. Pity it requires magma :(
comment:10 Changed 13 years ago by
Merged in: | → sage-4.1.alpha0 |
---|---|
Resolution: | → fixed |
Status: | new → closed |
implementation of EllipticCurve_from_plane_curve