On May 5, 6:13 am, Nils Bruin <nbr...@sfu.ca> wrote: > Does anybody know the current state-of-the-art in sage to compute with > finitely generated Z-modules (i.e., finitely generated abelian > groups)? The operations I would be looking for are > - sums, intersections and quotients of/by submodules > - homomorphisms between Z-modules > - computing kernel and image of a homomorphism as submodules > - computing images and pre-images of elements under homomorphisms
if Smith normal form machinery is available (e.g. one can use one from GAP) this should be doable. Designing an interface seems to be a challenge (many people tried :)) In GAP, there is also AbelianPcpGroup (i.e. Abelian Power-commutator- presented Group) that can be used, although I don't know how efficient it is. It certainly can do everything on the list above. E.g. gap> a0:=AbelianPcpGroup(3,[0,0,0]); # Z^3 Pcp-group with orders [ 0, 0, 0 ] gap> a:=Subgroup(a0,[a0.1*a0.2^-1,a0.3]); Pcp-group with orders [ 0, 0 ] gap> b:=Subgroup(a0,[a.1*a.2^-1,a.1^-1*a.2^-1]); Pcp-group with orders [ 0, 0 ] gap> a/b; Pcp-group with orders [ 2 ] gap> > The categories AbelianGroup (which is multiplicative but still > describes as isomorphic to something that is written additively) and > AdditiveAbelianGroup do not seem to have homomorphisms implemented for > them ... -- 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