Fwd: [sage-edu] Abelian Groups: comments and suggestions

Skip to first unread message

John Cremona

May 3, 2012, 5:48:55 PM5/3/12
to SAGE devel, sage-a...@googlegroups.com
I cannot post to sage-devel so am sending this to a couple of other groups.

---------- Forwarded message ----------
From: John Cremona <john.c...@gmail.com>
Date: 3 May 2012 22:47
Subject: Re: [sage-edu] Abelian Groups: comments and suggestions
To: Rob Beezer <goo...@beezer.cotse.net>
Cc: sage...@googlegroups.com, David Joyner <wdjo...@gmail.com>

Don't forget that we do have things like

sage: E = EllipticCurve('11a1')
sage: T = E.torsion_subgroup()
sage: T.element_class
<class 'sage.groups.additive_abelian.additive_abelian_wrapper.EllipticCurveTorsionSubgroup_with_category.element_class'>
sage: T
Torsion Subgroup isomorphic to Z/5 associated to the Elliptic Curve
defined by y^2 + y = x^3 - x^2 - 10*x - 20 over Rational Field
sage: O = T(0)
sage: type(O)
<class 'sage.groups.additive_abelian.additive_abelian_wrapper.EllipticCurveTorsionSubgroup_with_category.element_class'>

using the abelian group wrapper for the PID modules code.  It's
already used in quite a few places.


On 3 May 2012 21:52, Rob Beezer <goo...@beezer.cotse.net> wrote:
> On Thursday, March 15, 2012 1:50:08 PM UTC-7, William Stein wrote:
>> It would be good if somebody rewrote abelian groups from scratch
>> taking into account your comments above.  Personally, I would probably
>> make the user interface be similar to Magma's abelian groups, which is
>> pretty well thought out, and will make it easier for people (like me)
>> to use both Sage and Magma:
> (Been away for a while and missed this thread.)
> Agreed.  I might be the 7th attempt.  I started this once, and then when I
> came back to it a year later, the category code had changed so much that it
> needed a severe rewrite (which I may have lost).  But I have support this
> summer for exactly this task and a good idea of how to attack it.
> Mike O'S - I'll take your comments into account and would love further
> feedback.  First attempt is at:
> http://trac.sagemath.org/sage_trac/ticket/9773
> General strategy:  extend a good idea of Cremona and others (iirc) to build
> on William's code for finitely generated modules over PID's.  A lot of
> things (like forming a subgroup, nee submodule) then come for free.
> I wanted to build one abstract class, then extend it into additive and
> multiplicative flavors.  These would then be suitable for building generic
> cyclic groups, the group of units mod n, the multiplicative subgroup of a
> finite field, etc, etc.
> Rob
Reply all
Reply to author
0 new messages