#11474: Elliptic curves should be unique parent structures
-----------------------------------+--------------------------
Reporter: SimonKing | Owner: cremona
Type: defect | Status: needs_info
Priority: major | Milestone: sage-6.2
Component: elliptic curves | Resolution:
Keywords: unique parent | Merged in:
Authors: Simon King | Reviewers:
Report Upstream: N/A | Work issues:
Branch: | Commit:
Dependencies: | Stopgaps:
-----------------------------------+--------------------------
Comment (by cremona):
Replying to [comment:18 sbesnier]:
> Considering the EC part, we already have almost what we want isn't it?
>
> Let `E=EllipticCurve(whatever)`, we "only" have to:
> * make `E` unique : it is already almost done by Simon's patch,
although this patch maintains the gens in `E`. Meanwhile, the files had
been edited for other reasons; will nevertheless the automatic tools work
or might I manually edit the files thanks to the diff in order to reuse
Simon's work?
Don't use the patch as it is: for a start Sage no longer uses patches but
git branches, and also as the patch is 3 years old it certainly will not
apply cleanly. What will be needed is a new git branch based on the
current development branch (also known as version 6.2.beta8) onto which
the same changes as made by the patch are applied. You can try to use
Sage's methods for converting patches to git branches, but it would be a
miracle if that worked on a 3-year-old patch! If you are nervous, someone
else might do this step for you. Then after committing Simon's changes in
the new branch you can add your changes, make a new commit, and everyone
will be able to try it out.
> * turn `E(K)` into an actual group
> * extend the support of `E.abelian_group(K)` when K is a number field
(and move the method in E(K)?)
> * move `.rank()`, `.gens()` and other non-canonical methods/attribute
to `E.abelian_group(K)
>
> John wrote:
> >And as well as the easy map from the abstract group to the concrete
point set (using known generators) we must also provide the harder map in
the reverse direction, which is a form of elliptic logarithm.
>
> I'm not sure to see the point. You would like to have the map `E(K) ->
E.abelian_group()` which calculate calculate the generators, and also the
map `E.abelian_group() -> E (or E(K)?)` which calculates the a-invariants
of E (or anything which determines E uniquely) from the generators?
My point is that somewhere there has to be code which, given a point and
known generators, expresses that point as a Z-linear combination of the
generators. Assuming that E.abelian_group was an abstract abelian group,
this code would be used in mapping from E(K) to it.
>
--
Ticket URL: <http://trac.sagemath.org/ticket/11474#comment:19>
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.