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

Reply via email to