#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 nbruin):
Replying to [comment:62 was]:
> Another possibility (which is easy in Python) is to enhance objects with
extra structure. For example,
>
> {{{
> sage: K.<a,b> = NumberField([x^2+1,x^3-2]); K
> Number Field in a with defining polynomial x^2 + 1 over its base field
> sage: L.<c> = K.absolute_field(); L
> Number Field in c with defining polynomial x^6 + 3*x^4 + 4*x^3 + 3*x^2 -
12*x + 5
> sage: L.structure()
> (Isomorphism map:
> From: Number Field in c with defining polynomial x^6 + 3*x^4 + 4*x^3 +
3*x^2 - 12*x + 5
> To: Number Field in a with defining polynomial x^2 + 1 over its base
field, Isomorphism map:
> From: Number Field in a with defining polynomial x^2 + 1 over its base
field
> To: Number Field in c with defining polynomial x^6 + 3*x^4 + 4*x^3 +
3*x^2 - 12*x + 5)
> }}}
Aren't elliptic curves parents as well? That means they're unique. That
makes it difficult to hang such information off them, because it means
that all this structure information must be part of the constructor input.
The natural implementation of a lot of these constructors would be via a
factory function that will punt to `EllipticCurve([a1,a2,a3,a4,a6])` to
actually create the elliptic curve, so at the moment of "unique
instantiation" the extra data isn't naturally available.
You can't go scribbling into fields on this elliptic curve because you
risk overwriting information another constructor has already put there and
which might still be relied upon elsewhere in the code.
I'm starting to doubt that having unique parents is such a good design
decision. Making one of the most complex objects in your system immutable
complicates a lot of things.
--
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/3416#comment:64>
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.