22.4 Homomorphisms of abelian groups

Module: sage.groups.abelian_gps.abelian_group_morphism

Homomorphisms of abelian groups

TODO: * there must be a homspace first * there should be hom and Hom methods in abelian group

Author: David Joyner (2006-03-03): initial version

Module-level Functions

is_AbelianGroupMorphism( f)

Class: AbelianGroupMap

class AbelianGroupMap
A set-theoretic map between AbelianGroups.
AbelianGroupMap( self, parent)

Special Functions: __init__,$ \,$ _repr_type

Class: AbelianGroupMorphism

class AbelianGroupMorphism
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.

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

Author: David Joyner (2-2006)

AbelianGroupMorphism( self, G, H, genss, imgss)

Functions: codomain,$ \,$ domain,$ \,$ image,$ \,$ kernel,$ \,$ range

image( self, J)

Only works for finite groups.

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

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( self)

Only works for finite groups.

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

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([  ])'

Special Functions: __call__,$ \,$ __init__,$ \,$ _gap_init_,$ \,$ _repr_type

__call__( self, g)

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

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

_gap_init_( self)

Only works for finite groups.

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])'

Class: AbelianGroupMorphism_id

class AbelianGroupMorphism_id
Return the identity homomorphism from X to itself.

AbelianGroupMorphism_id( self, X)

Special Functions: __init__,$ \,$ _repr_defn

See About this document... for information on suggesting changes.