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)[source]#
Bases:
UniqueRepresentation
,Parent
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[source]#
Bases:
ElementWrapper
- ambient()[source]#
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
>>> from sage.all import * >>> PJ3 = groups.misc.PureCactus(Integer(3)) # needs sage.rings.number_field >>> PJ3.ambient() # needs sage.rings.number_field Cactus Group with 3 fruit
- defining_morphism()[source]#
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
>>> from sage.all import * >>> PJ3 = groups.misc.PureCactus(Integer(3)) # needs sage.rings.number_field >>> 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()[source]#
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() ((),)
>>> from sage.all import * >>> S2 = SymmetricGroup(Integer(2)) >>> S3 = SymmetricGroup(Integer(3)) >>> H = Hom(S3, S2) >>> phi = H(S2.__call__) >>> from sage.groups.kernel_subgroup import KernelSubgroup >>> K = KernelSubgroup(phi) >>> K.gens() ((),)
- lift(x)[source]#
Lift
x
to the ambient group ofself
.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
>>> from sage.all import * >>> PJ3 = groups.misc.PureCactus(Integer(3)) # needs sage.rings.number_field >>> PJ3.lift(PJ3.an_element()).parent() # needs sage.rings.number_field Cactus Group with 3 fruit
- retract(x)[source]#
Convert
x
to an element ofself
.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
>>> from sage.all import * >>> # needs sage.rings.number_field >>> J3 = groups.misc.Cactus(Integer(3)) >>> s12,s13,s23 = J3.group_generators() >>> PJ3 = groups.misc.PureCactus(Integer(3)) >>> elt = PJ3.retract(s23*s12*s23*s13); elt s[2,3]*s[1,2]*s[2,3]*s[1,3] >>> elt.parent() is PJ3 True