NaturalHomomorphism( G, F )
NaturalHomomorphism
returns the natural homomorphism of the group G
into the factor group F. F must be a factor group, i.e., the result
of FactorGroup(H,N)
(see FactorGroup) or H/N
(see
Operations for Groups), and G must be a subgroup of H.
Mathematically the factor group H/N consists of the cosets of N, and the natural homomorphism phi maps each element h of H to the coset N h. Note that in GAP the representation of factor group elements is unspecified, but they are never cosets (see IsRightCoset), because cosets are domains and not group elements in GAP. Thus the natural homomorphism is the only connection between a group and one of its factorgroups.
G is the source of the natural homomorphism phi, F is its range. Note that because G may be a proper subgroup of the group H of which F is a factor group phi need not be surjective, i.e., the image of phi may be a proper subgroup of F. The kernel of phi is of course the intersection of N and G.
gap> s4 := Group( (1,2), (1,2,3,4) );; gap> v4 := Subgroup( s4, [ (1,2)(3,4), (1,3)(2,4) ] );; gap> v4.name := "v4";; gap> phi := NaturalHomomorphism( s4, s4/v4 );; gap> (1,2,3) ^ phi; FactorGroupElement( v4, (2,4,3) ) gap> PreImages( phi, last ); (v4*(2,4,3)) gap> (1,2,3) in last; true gap> rho := > NaturalHomomorphism( Subgroup( s4, [ (1,2), (1,2,3) ] ), s4/v4 );; gap> Kernel( rho ); Subgroup( Group( (1,2), (1,2,3,4) ), [ ] ) gap> IsIsomorphism( rho ); true
NaturalHomomorphism
calls
F.operations.NaturalHomomorphism( G, F )
and returns that value.
The default function called this way is GroupOps.NaturalHomomorphism
.
The homomorphism constructed this way has the operations record
NaturalHomomorphismOps
. It computes the image of an element g of G
by calling FactorGroupElement( N, g )
, the preimages of an factor
group element f as Coset( Kernel(phi), f.element.representative
)
, and the kernel by computing Intersection( G, N )
. Look under
NaturalHomomorphism in the index to see for which groups this function
is overlaid.
GAP 3.4.4