43.2 IsMonomorphism

IsMonomorphism( map )

IsMonomorphism returns true if the mapping map is a monomorphism and false otherwise. Signals an error if map is a multi valued mapping.

A mapping is a monomorphism if it is an injective homomorphism (see IsInjective, IsHomomorphism).

    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> IsMonomorphism( p4 );
    false
    gap> p5 := MappingByFunction( g, g, x -> x^5 );
    MappingByFunction( g, g, function ( x )
        return x ^ 5;
    end )
    gap> IsMonomorphism( p5 );
    true 

IsMonomorphism first test if the flag map.isMonomorphism is bound. If the flag is bound, it returns this value. Otherwise it calls map.operations.IsMonomorphism( map ), remembers the returned value in map.isMonomorphism, and returns it.

The default function called this way is MappingOps.IsMonomorphism, which calls the functions IsInjective and IsHomomorphism, and returns the logical and of the results. This function is seldom overlaid, because all the interesting work is done in IsInjective and IsHomomorphism.

Previous Up Top Next
Index

GAP 3.4.4
April 1997