I found the FGP_Module to be the most useful implementation of finitely 
generated Z-modules:

sage: M = ZZ^2
sage: Q = M / M.span([ 2*M.gen(0) ]); Q
Finitely generated module V/W over Integer Ring with invariants (2, 0)
sage: type(Q)
<class 'sage.modules.fg_pid.fgp_module.FGP_Module_class_with_category'>
sage: [ q.additive_order() for q in Q.gens() ]
[2, +Infinity]

Homs work, too:

sage: N = ZZ^1
sage: Q.hom([0,N.gen(0)])
Morphism from module over Integer Ring with invariants (2, 0) to module with 
invariants (0,) that sends the generators to [(0), (1)]

-- 
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

Reply via email to