A mapping map is represented by a record with the following components
isGeneralMapping
:true
, indicating that this is a general mapping.
source
:
range
:The following entries are optional. The functions with the corresponding names will generally test if they are present. If they are then their value is simply returned. Otherwise the functions will perform the computation and add those fields to those record for the next time.
isMapping
:true
if map is a single valued mapping and false
otherwise.
isInjective
isSurjective
isBijection
isHomomorphism
isMonomorphism
isEpimorphism
isIsomorphism
isEndomorphism
isAutomorphism
:true
if map has the corresponding property and false
otherwise.
preImage
:map.source
of elements pre that are
actually mapped to at least one element, i.e., for which
Images( map, pre )
is nonempty.
image
:map.range
of the elements img that
are actually values of the mapping, i.e., for which
PreImages( map, img )
is nonempty.
inverseMapping
:map.range
to map.source
that maps each element
img to the set PreImages( map, img )
.
The following entry is optional. It must be bound only if the inverse of map is indeed a single valued mapping.
inverseFunction
:The following entry is optional. It must be bound only if map is a homomorphism.
kernel
:map.source
that are mapped to the
identity element of map.range
.
GAP 3.4.4