Basic Examples (5) 
Embed CyclicGroup[2] in CyclicGroup[4] via (12)↦(13)(24):
Click on + to reveal more information about the homomorphism. For example, ϕ is injective but not surjective. Obtain the underlying mapping:
Retrieve the domain or co-domain of a homomorphism:
Find the kernel of this homomorphism, indeed the kernel is singleton thus ϕ is an embedding:
This is the trivial group:
Find the image group:
Try to specify an invalid homomorphism:
The package efficiently works with large groups. For example, here is the identity homomorphism from SymmetricGroup[10] to itself:
Its image and kernel groups:
Scope (2) 
Specify the homomorphism using an association:
Build the homomorphism:
This is the identity homomorphism (an isomorphism, since it is both injective and surjective):
Specify an endomorphism (from G to itself):
Applications (3) 
Construct the sign homomorphism from SymmetricGroup[4] to CyclicGroup[2]:
Odd generators must map to (12):
Find all even permutations:
Confirm that there are exactly 12 even permutations:
Quotient DihedralGroup[3] by CyclicGroup[2] sending all rotations to ε and reflections to (12):
Again, kernel is all 3 rotations:
For an AbelianGroup to itself, the map x↦xk is a homomorphism:
Its kernel:
Properties and Relations (4) 
GroupHomomorphism preserves operation:
GroupHomomorphism preserves inverses:
The specified images of generators must belong to G2:
Applying the homomorphism to an arbitrary object returns unevaluated:
Replace x by an element:
Possible Issues (3) 
Consider the homomorphism from SymmetricGroup[3] to CyclicGroup[6]:
We mapped an order 2 generator to order 2 element, and 3 to 3. This violates the group relations of SymmetricGroup[3]. Consider for example:
But: