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)#
Bases:
sage.categories.morphism.Morphism
A set-theoretic map between AbelianGroups.
- class sage.groups.abelian_gps.abelian_group_morphism.AbelianGroupMorphism(G, H, genss, imgss)#
Bases:
sage.categories.morphism.Morphism
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)
- image(S)#
Return the image of the subgroup
S
by the morphism.This only works for finite groups.
INPUT:
S
– a subgroup of the domain groupG
EXAMPLES:
sage: G = AbelianGroup(2,[2,3],names="xy") sage: x,y = G.gens() sage: subG = G.subgroup([x]) sage: H = AbelianGroup(3,[2,3,4],names="abc") sage: a,b,c = H.gens() sage: phi = AbelianGroupMorphism(G,H,[x,y],[a,b]) sage: phi.image(subG) Multiplicative Abelian subgroup isomorphic to C2 generated by {a}
- 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([ ]) sage: H = AbelianGroup(3,[2,2,2],names="abc") sage: a,b,c = H.gens() sage: G = AbelianGroup(2,[2,2],names="x") sage: x,y = G.gens() sage: phi = AbelianGroupMorphism(G,H,[x,y],[a,a]) sage: phi.kernel() Group([ f1*f2 ])
- sage.groups.abelian_gps.abelian_group_morphism.is_AbelianGroupMorphism(f)#