Back in 2008 there was a discussion of the elementary_divisors function for abelian groups. While it's not universal, most group theory and algebra books define the elementary divisors of a finite abelian group G to be a list of prime powers such that G is isomorphic to the direct product of cyclic groups of order {p_i}^{n_i}, while the invariants are integers m_1,m_2,...,m_k such that m_i | m_{i+1}, and G is isomorphic to the direct product of cyclic groups of order m_i. For example, right now we have this:
sage: G=AbelianGroup([6,10]) sage: G.elementary_divisors() [2, 30] sage: G.invariants() [6, 10] For additive abelian groups there is no elementary_divisors function, but invariants does the right thing: sage: H=AdditiveAbelianGroup([6,10]) sage: H.invariants() (2, 30) I'm writing code to implement difference sets, and I would like to implement elementary_divisors and invariants for both types of abelian groups, having them behave the same way. As long as I'm doing this, I'd like to change the meaning of invariants and elementary_divisors for AbelianGroup. Are there objections to doing that? Dan Gordon -- To post to this group, send an email to sage-devel@googlegroups.com To unsubscribe from this group, send an email to sage-devel+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sage-devel URL: http://www.sagemath.org