I've been working off-and-on the past two years to implement finitely-generated abelian groups in a unified way that makes it easy to create and maintain specialized versions of these groups (in large part for instructional purposes).
We have the multiplicative AbelianGroup() which seems hard-coded to use powers of symbols as its elements. We also have AdditiveAbelianGroup() which works well, but does not allow for subgroups. Loeffler, Cremona, Stankewicz, Palmieri and Bradshaw built AdditiveAbelianGroup on top of Stein's code for finitely-generated modules over PIDs, which is an excellent approach, and the one I'd like to extend, but in a more general fashion. I'd like to eventually propose a working alternative that we could transition to gradually and smoothly. The code for categories, parents and elements, along with Simon King's excellent tutorials make this much easier than it was a couple years ago. However, I've reached the head-banging stage on a couple sticky points, primarily the element constructor and trying to override the additive operations in the modules to create multiplicative groups that pass the TestSuite(). So I'm trolling for some knowledgeable help with getting over a couple humps on this one. Suppose you know the parent/element, category, coercion/conversion, and morphism concepts well but hate writing doctests. Here's the deal: advise me and I'll happily do the dirty work. More details on the ticket, plus a heavily documented patch containing many functional doctests. http://trac.sagemath.org/sage_trac/ticket/9773 Thanks, Rob -- -- To post to this group, send an email to [email protected] To unsubscribe from this group, send an email to [email protected] For more options, visit this group at http://groups.google.com/group/sage-devel URL: http://www.sagemath.org
