# Kernel Subgroups#

The kernel of a homomorphism implemented as a subgroup.

AUTHORS:

• Travis Scrimshaw (1-2023): Initial version

class sage.groups.kernel_subgroup.KernelSubgroup(morphism)#

The kernel (normal) subgroup.

Let $$\phi : G \to H$$ be a group homomorphism. The kernel $$K = \{\phi(g) = 1 | g \in G\}$$ is a normal subgroup of $$G$$.

class Element#

Bases: ElementWrapper

ambient()#

Return the ambient group of self.

EXAMPLES:

sage: PJ3 = groups.misc.PureCactus(3)                                       # needs sage.rings.number_field
sage: PJ3.ambient()                                                         # needs sage.rings.number_field
Cactus Group with 3 fruit

defining_morphism()#

Return the defining morphism of self.

EXAMPLES:

sage: PJ3 = groups.misc.PureCactus(3)                                       # needs sage.rings.number_field
sage: PJ3.defining_morphism()                                               # needs sage.rings.number_field
Conversion via _from_cactus_group_element map:
From: Cactus Group with 3 fruit
To:   Symmetric group of order 3! as a permutation group

gens()#

Return the generators of self.

EXAMPLES:

sage: S2 = SymmetricGroup(2)
sage: S3 = SymmetricGroup(3)
sage: H = Hom(S3, S2)
sage: phi = H(S2.__call__)
sage: from sage.groups.kernel_subgroup import KernelSubgroup
sage: K = KernelSubgroup(phi)
sage: K.gens()
((),)

lift(x)#

Lift x to the ambient group of self.

EXAMPLES:

sage: PJ3 = groups.misc.PureCactus(3)                                       # needs sage.rings.number_field
sage: PJ3.lift(PJ3.an_element()).parent()                                   # needs sage.rings.number_field
Cactus Group with 3 fruit

retract(x)#

Convert x to an element of self.

EXAMPLES:

sage: # needs sage.rings.number_field
sage: J3 = groups.misc.Cactus(3)
sage: s12,s13,s23 = J3.group_generators()
sage: PJ3 = groups.misc.PureCactus(3)
sage: elt = PJ3.retract(s23*s12*s23*s13); elt
s[2,3]*s[1,2]*s[2,3]*s[1,3]
sage: elt.parent() is PJ3
True