TODO:
AUTHORS:
A set-theoretic map between AbelianGroups.
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:
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
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])'
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])
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([ ])'
Return the identity homomorphism from X to itself.
EXAMPLES: