43.7 Kernel

Kernel( hom )

Kernel returns the kernel of the homomorphism hom. The kernel is usually returned as a source, though in some cases it might be returned as a proper set.

The kernel is the set of elements that are mapped hom to the identity element of hom.range, i.e., to hom.range.identity if hom is a group homomorphism, and to hom.range.zero if hom is a ring or field homomorphism. The kernel is a substructure of hom.source.

    gap> g := Group( (1,2,3,4), (2,4), (5,6,7) );;  g.name := "g";;
    gap> p4 := MappingByFunction( g, g, x -> x^4 );
    MappingByFunction( g, g, function ( x )
        return x ^ 4;
    end )
    gap> Kernel( p4 );
    Subgroup( g, [ (1,2,3,4), (1,4)(2,3) ] )
    gap> p5 := MappingByFunction( g, g, x -> x^5 );
    MappingByFunction( g, g, function ( x )
        return x ^ 5;
    end )
    gap> Kernel( p5 );
    Subgroup( g, [  ] ) 

Kernel first tests if the field hom.kernel is bound. If the field is bound it returns its value. Otherwise it calls hom.source.operations.Kernel( hom ), remembers the returned value in hom.kernel, and returns it.

The functions usually called this way from the dispatcher are KernelGroupHomomorphism and KernelFieldHomomorphism (see KernelGroupHomomorphism, KernelFieldHomomorphism).

Previous Up Top
Index

GAP 3.4.4
April 1997