#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.