# 6.16 Mapping Functions for Field Homomorphisms

This section describes how the mapping functions defined in chapter Mappings are implemented for field homomorphisms. Those functions not mentioned here are implemented by the default functions described in the respective sections.

`IsInjective( hom )`

Always returns `true` (see KernelFieldHomomorphism).

`IsSurjective( hom )`

The field homomorphism hom is surjective if the size of the image `Size( Image( hom ) )` is equal to the size of the range ```Size( hom.range )```.

`hom1 = hom2`

The two field homomorphism hom1 and hom2 are are equal if the have the same source and range and if the images of the generators of the source under hom1 and hom2 are equal.

`Image( hom )`
`Image( hom, H )`
`Images( hom, H )`

The image of a subfield under a field homomorphism is computed by computing the images of a set of generators of the subfield, and the result is the subfield generated by those images.

`PreImage( hom )`
`PreImage( hom, H )`
`PreImages( hom, H )`

The preimages of a subfield under a field homomorphism are computed by computing the preimages of all the generators of the subfield, and the result is the subfield generated by those elements.

Look in the index under IsInjective, IsSurjective, Image, Images, PreImage, PreImages, and equality to see for which field homomorphisms these functions are overlaid.

GAP 3.4.4
April 1997