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