Since no one has emailed intelligent comments yet, I'll add my own not-so-intelligent but hopefully encouraging ones below:-)
On Wed, Aug 27, 2008 at 3:18 PM, John Cremona <[EMAIL PROTECTED]> wrote: > > Currently in Sage, AbelianGroups are all multiplicative. There's a > TODO in abelian_groups.py which asks to implement additive groups. > > As I got fed up with this sort of thing: > > sage: E=EllipticCurve('11a1') > sage: T=E.torsion_subgroup() > sage: list(T) > [1, P, P^2, P^3, P^4] > > (where it should be something like [0,P,2*P,3*P,4*P] ), I started to > try to adapt abelian_group.py to allow for multiplicative groups. > I had some success (after changing just that file, all the original > doctests still passed, since I had it take the group operation to be > multiplication by default). Agreed, this definitely needs fixing. > > But then I found that AbelianGroupElement was derived from > MultiplicativeGroupElement which in turn is derived from > MonoidElement, while AdditiveGroupElement is derived from > ModuleElement. These two do have a common ancestor, plain Element. > I think will make it hard to write common code for additive group > elements and multiplicative group elements. I don't see the problem here. It seems to me that the only problem would arise if you are building a method which maps a group (G,*) to a group (G,+) (in which case maybe you get something circular), but I don't see why this is needed. I may be totally naive about this though. > > I think it might work to use MultiplicativeGroupElement even when the > operation is addition, but that would seem rather perverse. But it is > perhaps notable that AdditiveGroupElement is hardly ever used in Sage: > the only places are ine the definition of EllipticCurvePoint_field and > JacobianMorphism_divisor_class_field. > > I would welcome some comments on what we might do about this. In the > meantime I'll try to get AbelianGroupElements to behave additively > even though they are derived from MultiplicativeGroupElements. I'm not convinced this is the "right" procedure, but if it works and is well-documented then that is better than nothing! > > Relevant still-open tickets are: > > #1849: [with patch (part 1 of 2); not ready for review] rewrite abelian groups > -- showing that William did a whole lot of work on this back in > January/February (I remember, we were working in the same room at the > time) which was not completed; > > and > > #3127: [duplicate] abelian groups (are lame?) -- bug in comparison of > subgroups ... > -- which is closed, but contains the comment from William: > WARNINGS: > > 1. David Roe is recently rumored to be rewriting abelian groups. > 2. I recently rewrote abelian groups but my patch rotted: #1849 > 3. There are other known problems with subgroups of abelian groups: #2272 > > > John > > > > --~--~---------~--~----~------------~-------~--~----~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://www.sagemath.org -~----------~----~----~----~------~----~------~--~---