Homomorphisms of abelian groups

TODO:

  • there must be a homspace first
  • there should be hom and Hom methods in abelian group

AUTHORS:

  • David Joyner (2006-03-03): initial version
class sage.groups.abelian_gps.abelian_group_morphism.AbelianGroupMap(parent)

A set-theoretic map between AbelianGroups.

__init__(parent)
__weakref__
list of weak references to the object (if defined)
_repr_type()
class sage.groups.abelian_gps.abelian_group_morphism.AbelianGroupMorphism(G, H, genss, imgss)

Some python code for wrapping GAP’s GroupHomomorphismByImages function for abelian groups. Returns “fail” if gens does not generate self or if the map does not extend to a group homomorphism, self - other.

EXAMPLES:

sage: G = AbelianGroup(3,[2,3,4],names="abc"); G
Multiplicative Abelian Group isomorphic to C2 x C3 x C4
sage: a,b,c = G.gens()
sage: H = AbelianGroup(2,[2,3],names="xy"); H
Multiplicative Abelian Group isomorphic to C2 x C3
sage: x,y = H.gens()
sage: from sage.groups.abelian_gps.abelian_group_morphism import AbelianGroupMorphism
sage: phi = AbelianGroupMorphism(H,G,[x,y],[a,b])

AUTHORS:

  • David Joyner (2006-02)
__call__(g)

Some python code for wrapping GAP’s Images function but only for permutation groups. Returns an error if g is not in G.

EXAMPLES:

sage: H = AbelianGroup(3, [2,3,4], names="abc")
sage: a,b,c = H.gens()
sage: G = AbelianGroup(2, [2,3], names="xy")
sage: x,y = G.gens()
sage: phi = AbelianGroupMorphism(G,H,[x,y],[a,b])
sage: phi(y*x)
a*b
sage: phi(y^2)
b^2
__init__(G, H, genss, imgss)
_gap_init_()

Only works for finite groups.

EXAMPLES:

sage: G = AbelianGroup(3,[2,3,4],names="abc"); G
Multiplicative Abelian Group isomorphic to C2 x C3 x C4
sage: a,b,c = G.gens()
sage: H = AbelianGroup(2,[2,3],names="xy"); H
Multiplicative Abelian Group isomorphic to C2 x C3
sage: x,y = H.gens()
sage: phi = AbelianGroupMorphism(H,G,[x,y],[a,b])
sage: phi._gap_init_()
'phi := GroupHomomorphismByImages(G,H,[x, y],[a, b])'
_repr_type()
codomain()
domain()
image(J)

Only works for finite groups.

J must be a subgroup of G. Computes the subgroup of H which is the image of J.

EXAMPLES:

sage: G = AbelianGroup(2,[2,3],names="xy")
sage: x,y = G.gens()
sage: H = AbelianGroup(3,[2,3,4],names="abc")
sage: a,b,c = H.gens()
sage: phi = AbelianGroupMorphism(G,H,[x,y],[a,b])
kernel()

Only works for finite groups.

TODO: not done yet; returns a gap object but should return a Sage group.

EXAMPLES:

sage: H = AbelianGroup(3,[2,3,4],names="abc"); H
Multiplicative Abelian Group isomorphic to C2 x C3 x C4
sage: a,b,c = H.gens()
sage: G = AbelianGroup(2,[2,3],names="xy"); G
Multiplicative Abelian Group isomorphic to C2 x C3
sage: x,y = G.gens()
sage: phi = AbelianGroupMorphism(G,H,[x,y],[a,b])
sage: phi.kernel()
'Group([  ])'
range()
class sage.groups.abelian_gps.abelian_group_morphism.AbelianGroupMorphism_id(X)

Return the identity homomorphism from X to itself.

EXAMPLES:

__init__(X)
_repr_defn()
sage.groups.abelian_gps.abelian_group_morphism.is_AbelianGroupMorphism(f)

Previous topic

Abelian group elements

Next topic

Basic functionality for dual groups of finite multiplicative Abelian groups

This Page