#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 pbruin):

 Replying to [comment:15 defeo]:
 > > - the group of points `E(K)` (or more generally `E(L)` for an
 extension `L` of `K`), which does not care about the group structure but
 is the parent of (the Sage objects representing the) ''K''-rational points
 of ''E'' (type `SchemeHomset_points_abelian_variety_field`);
 > > - if ''K'' is a finite field, there is also `E.abelian_group()`, which
 returns an object of type `AdditiveAbelianGroupWrapper`.
 >
 > I haven't dug enough into the way Sage represents groups, but do these
 two objects need to be different ? If groups in Sage need to have
 explicitly set generators, then obviously yes: we don't want to compute
 generators unless the user asks us to.
 > But if a group can be represented abstractly (by its elements and an
 algorithm for the group operation), then it seems to me that these two
 should be the same, with the generators computed lazily when the user asks
 for them.
 But don't you then run into the same difficulty with unique representation
 that we now have for elliptic curves, namely caching non-canonical data
 inside a canonical object?  If you keep the two objects (i.e. the abstract
 group vs. the generators) separate, then it is clear that the way for the
 user to remember a choice of generators is to store the result of
 `E.abelian_group()` as opposed to the result of `E(K)`.

 Also, I would say it is conceptually better to keep them separate, since
 the `AdditiveAbelianGroupWrapper` is actually not a group at all, but a
 homomorphism from some "standard" Abelian group (product of cyclic groups)
 to another group, in this case `E(K)`.

--
Ticket URL: <http://trac.sagemath.org/ticket/11474#comment:16>
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.

Reply via email to