
| Current Path : /usr/share/gap/doc/ref/ |
Linux ift1.ift-informatik.de 5.4.0-216-generic #236-Ubuntu SMP Fri Apr 11 19:53:21 UTC 2025 x86_64 |
| Current File : //usr/share/gap/doc/ref/chap32.txt |
[1X32 [33X[0;0YMappings[133X[101X
[33X[0;0YA [13Xmapping[113X in [5XGAP[105X is what is called a [21Xfunction[121X in mathematics. [5XGAP[105X also
implements [13Xgeneralized mappings[113X in which one element might have several
images, these can be imagined as subsets of the cartesian product and are
often called [21Xrelations[121X.[133X
[33X[0;0YMost operations are declared for general mappings and therefore this manual
often refers to [21X(general) mappings[121X, unless you deliberately need the
generalization you can ignore the [21Xgeneral[121X bit and just read it as [21Xmappings[121X.[133X
[33X[0;0YA [13Xgeneral mapping[113X [22XF[122X in [5XGAP[105X is described by its source [22XS[122X, its range [22XR[122X, and a
subset [22XRel[122X of the direct product [22XS × R[122X, which is called the underlying
relation of [22XF[122X. [22XS[122X, [22XR[122X, and [22XRel[122X are generalized domains (see [14X12.4[114X). The
corresponding attributes for general mappings are [2XSource[102X ([14X32.3-8[114X), [2XRange[102X
([14X32.3-7[114X), and [2XUnderlyingRelation[102X ([14X32.3-9[114X).[133X
[33X[0;0YNote that general mappings themselves are [13Xnot[113X domains. One reason for this
is that two general mappings with same underlying relation are regarded as
equal only if also the sources are equal and the ranges are equal. Other,
more technical, reasons are that general mappings and domains have different
basic operations, and that general mappings are arithmetic objects
(see [14X32.6[114X); both should not apply to domains.[133X
[33X[0;0YEach element of an underlying relation of a general mapping lies in the
category of direct product elements (see [2XIsDirectProductElement[102X ([14X32.1-1[114X)).[133X
[33X[0;0YFor each [22Xs ∈ S[122X, the set [22X{ r ∈ R | (s,r) ∈ Rel }[122X is called the set of [13Ximages[113X
of [22Xs[122X. Analogously, for [22Xr ∈ R[122X, the set [22X{ s ∈ S | (s,r) ∈ Rel }[122X is called the
set of [13Xpreimages[113X of [22Xr[122X.[133X
[33X[0;0YThe [13Xordering[113X of general mappings via [10X<[110X is defined by the ordering of source,
range, and underlying relation. Specifically, if the source and range
domains of [3Xmap1[103X and [3Xmap2[103X are the same, then one considers the union of the
preimages of [3Xmap1[103X and [3Xmap2[103X as a strictly ordered set. The smaller of [3Xmap1[103X
and [3Xmap2[103X is the one whose image is smaller on the first point of this
sequence where they differ.[133X
[33X[0;0YFor mappings which preserve an algebraic structure a [13Xkernel[113X is defined.
Depending on the structure preserved the operation to compute this kernel is
called differently, see Section [14X32.7[114X.[133X
[33X[0;0YSome technical details of general mappings are described in section [14X32.13[114X.[133X
[1X32.1 [33X[0;0YIsDirectProductElement (Filter)[133X[101X
[1X32.1-1 IsDirectProductElement[101X
[33X[1;0Y[29X[2XIsDirectProductElement[102X( [3Xobj[103X ) [32X Category[133X
[33X[0;0Y[2XIsDirectProductElement[102X is a subcategory of the meet of [2XIsDenseList[102X ([14X21.1-2[114X),
[2XIsMultiplicativeElementWithInverse[102X ([14X31.14-13[114X), [2XIsAdditiveElementWithInverse[102X
([14X31.14-7[114X), and [2XIsCopyable[102X ([14X12.6-1[114X), where the arithmetic operations
(addition, zero, additive inverse, multiplication, powering, one, inverse)
are defined componentwise.[133X
[33X[0;0YNote that each of these operations will cause an error message if its result
for at least one component cannot be formed.[133X
[33X[0;0YFor an object in the filter [2XIsDirectProductElement[102X, [2XShallowCopy[102X ([14X12.7-1[114X)
returns a mutable plain list with the same entries. The sum and the product
of a direct product element and a list in [2XIsListDefault[102X ([14X21.12-3[114X) is the
list of sums and products, respectively. The sum and the product of a direct
product element and a non-list is the direct product element of
componentwise sums and products, respectively.[133X
[1X32.2 [33X[0;0YCreating Mappings[133X[101X
[1X32.2-1 GeneralMappingByElements[101X
[33X[1;0Y[29X[2XGeneralMappingByElements[102X( [3XS[103X, [3XR[103X, [3Xelms[103X ) [32X function[133X
[33X[0;0Yis the general mapping with source [3XS[103X and range [3XR[103X, and with underlying
relation consisting of the collection [3Xelms[103X of direct product elements.[133X
[1X32.2-2 [33X[0;0YMappingByFunction[133X[101X
[33X[1;0Y[29X[2XMappingByFunction[102X( [3XS[103X, [3XR[103X, [3Xfun[103X[, [3Xinvfun[103X] ) [32X function[133X
[33X[1;0Y[29X[2XMappingByFunction[102X( [3XS[103X, [3XR[103X, [3Xfun[103X, [3Xfalse[103X, [3Xprefun[103X ) [32X function[133X
[33X[0;0Y[2XMappingByFunction[102X returns a mapping [10Xmap[110X with source [3XS[103X and range [3XR[103X, such that
each element [22Xs[122X of [3XS[103X is mapped to the element [3Xfun[103X[22X( s )[122X, where [3Xfun[103X is a [5XGAP[105X
function.[133X
[33X[0;0YIf the argument [3Xinvfun[103X is bound then [10Xmap[110X is a bijection between [3XS[103X and [3XR[103X, and
the preimage of each element [22Xr[122X of [3XR[103X is given by [3Xinvfun[103X[22X( r )[122X, where [3Xinvfun[103X is
a [5XGAP[105X function.[133X
[33X[0;0YIf five arguments are given and the fourth argument is [9Xfalse[109X then the [5XGAP[105X
function [3Xprefun[103X can be used to compute a single preimage also if [10Xmap[110X is not
bijective.[133X
[33X[0;0YThe mapping returned by [2XMappingByFunction[102X lies in the filter
[2XIsNonSPGeneralMapping[102X ([14X32.14-1[114X), see [14X32.14[114X.[133X
[1X32.2-3 InverseGeneralMapping[101X
[33X[1;0Y[29X[2XInverseGeneralMapping[102X( [3Xmap[103X ) [32X attribute[133X
[33X[0;0YThe [13Xinverse general mapping[113X of a general mapping [3Xmap[103X is the general mapping
whose underlying relation (see [2XUnderlyingRelation[102X ([14X32.3-9[114X)) contains a pair
[22X(r,s)[122X if and only if the underlying relation of [3Xmap[103X contains the pair [22X(s,r)[122X.[133X
[33X[0;0YSee the introduction to Chapter [14X32[114X for the subtleties concerning the
difference between [2XInverseGeneralMapping[102X and [2XInverse[102X ([14X31.10-8[114X).[133X
[33X[0;0YNote that the inverse general mapping of a mapping [3Xmap[103X is in general only a
general mapping. If [3Xmap[103X knows to be bijective its inverse general mapping
will know to be a mapping. In this case also [10XInverse( [3Xmap[103X[10X )[110X works.[133X
[1X32.2-4 RestrictedInverseGeneralMapping[101X
[33X[1;0Y[29X[2XRestrictedInverseGeneralMapping[102X( [3Xmap[103X ) [32X attribute[133X
[33X[0;0YThe [13Xrestricted inverse general mapping[113X of a general mapping [3Xmap[103X is the
general mapping whose underlying relation (see [2XUnderlyingRelation[102X ([14X32.3-9[114X))
contains a pair [22X(r,s)[122X if and only if the underlying relation of [3Xmap[103X contains
the pair [22X(s,r)[122X, and whose domain is restricted to the image of [3Xmap[103X and whose
range is the domain of [3Xmap[103X.[133X
[1X32.2-5 CompositionMapping[101X
[33X[1;0Y[29X[2XCompositionMapping[102X( [3Xmap1[103X, [3Xmap2[103X, [3X...[103X ) [32X function[133X
[33X[0;0Y[2XCompositionMapping[102X allows one to compose arbitrarily many general mappings,
and delegates each step to [2XCompositionMapping2[102X ([14X32.2-6[114X).[133X
[33X[0;0YAdditionally, the properties [2XIsInjective[102X ([14X32.3-4[114X) and [2XIsSingleValued[102X
([14X32.3-2[114X) are maintained; if the source of the [22Xi+1[122X-th general mapping is
identical to the range of the [22Xi[122X-th general mapping, also [2XIsTotal[102X ([14X32.3-1[114X)
and [2XIsSurjective[102X ([14X32.3-5[114X) are maintained. (So one should not call
[2XCompositionMapping2[102X ([14X32.2-6[114X) directly if one wants to maintain these
properties.)[133X
[33X[0;0YDepending on the types of [3Xmap1[103X and [3Xmap2[103X, the returned mapping might be
constructed completely new (for example by giving domain generators and
their images, this is for example the case if both mappings preserve the
same algebraic structures and [5XGAP[105X can decompose elements of the source of
[3Xmap2[103X into generators) or as an (iterated) composition
(see [2XIsCompositionMappingRep[102X ([14X32.2-7[114X)).[133X
[1X32.2-6 CompositionMapping2[101X
[33X[1;0Y[29X[2XCompositionMapping2[102X( [3Xmap2[103X, [3Xmap1[103X ) [32X operation[133X
[33X[1;0Y[29X[2XCompositionMapping2General[102X( [3Xmap2[103X, [3Xmap1[103X ) [32X function[133X
[33X[0;0Y[2XCompositionMapping2[102X returns the composition of [3Xmap2[103X and [3Xmap1[103X, this is the
general mapping that maps an element first under [3Xmap1[103X, and then maps the
images under [3Xmap2[103X.[133X
[33X[0;0Y(Note the reverse ordering of arguments in the composition via the
multiplication [2X\*[102X ([14X31.12-1[114X).[133X
[33X[0;0Y[2XCompositionMapping2General[102X is the method that forms a composite mapping with
two constituent mappings. (This is used in some algorithms.)[133X
[1X32.2-7 IsCompositionMappingRep[101X
[33X[1;0Y[29X[2XIsCompositionMappingRep[102X( [3Xmap[103X ) [32X Representation[133X
[33X[0;0YMappings in this representation are stored as composition of two mappings,
(pre)images of elements are computed in a two-step process. The constituent
mappings of the composition can be obtained via
[2XConstituentsCompositionMapping[102X ([14X32.2-8[114X).[133X
[1X32.2-8 ConstituentsCompositionMapping[101X
[33X[1;0Y[29X[2XConstituentsCompositionMapping[102X( [3Xmap[103X ) [32X function[133X
[33X[0;0YIf [3Xmap[103X is stored in the representation [2XIsCompositionMappingRep[102X ([14X32.2-7[114X) as
composition of two mappings [3Xmap1[103X and [3Xmap2[103X, this function returns the two
constituent mappings in a list [10X[ [3Xmap1[103X[10X, [3Xmap2[103X[10X ][110X.[133X
[1X32.2-9 ZeroMapping[101X
[33X[1;0Y[29X[2XZeroMapping[102X( [3XS[103X, [3XR[103X ) [32X operation[133X
[33X[0;0YA zero mapping is a total general mapping that maps each element of its
source to the zero element of its range.[133X
[33X[0;0Y(Each mapping with empty source is a zero mapping.)[133X
[1X32.2-10 IdentityMapping[101X
[33X[1;0Y[29X[2XIdentityMapping[102X( [3XD[103X ) [32X attribute[133X
[33X[0;0Yis the bijective mapping with source and range equal to the collection [3XD[103X,
which maps each element of [3XD[103X to itself.[133X
[1X32.2-11 [33X[0;0YEmbedding[133X[101X
[33X[1;0Y[29X[2XEmbedding[102X( [3XS[103X, [3XT[103X ) [32X operation[133X
[33X[1;0Y[29X[2XEmbedding[102X( [3XS[103X, [3Xi[103X ) [32X operation[133X
[33X[0;0Yreturns the embedding of the domain [3XS[103X in the domain [3XT[103X, or in the second
form, some domain indexed by the positive integer [3Xi[103X. The precise natures of
the various methods are described elsewhere: for Lie algebras, see [2XLieFamily[102X
([14X64.1-3[114X); for group products, see [14X49.6[114X for a general description, or for
examples see [14X49.1[114X for direct products, [14X49.2[114X for semidirect products, or [14X49.4[114X
for wreath products; or for magma rings see [14X65.3[114X.[133X
[1X32.2-12 [33X[0;0YProjection[133X[101X
[33X[1;0Y[29X[2XProjection[102X( [3XS[103X, [3XT[103X ) [32X operation[133X
[33X[1;0Y[29X[2XProjection[102X( [3XS[103X, [3Xi[103X ) [32X operation[133X
[33X[1;0Y[29X[2XProjection[102X( [3XS[103X ) [32X operation[133X
[33X[0;0Yreturns the projection of the domain [3XS[103X onto the domain [3XT[103X, or in the second
form, some domain indexed by the positive integer [3Xi[103X, or in the third form
some natural quotient domain of [3XS[103X. Various methods are defined for group
products; see [14X49.6[114X for a general description, or for examples see [14X49.1[114X for
direct products, [14X49.2[114X for semidirect products, [14X49.3[114X for subdirect products,
or [14X49.4[114X for wreath products.[133X
[1X32.2-13 RestrictedMapping[101X
[33X[1;0Y[29X[2XRestrictedMapping[102X( [3Xmap[103X, [3Xsubdom[103X ) [32X operation[133X
[33X[0;0YIf [3Xsubdom[103X is a subdomain of the source of the general mapping [3Xmap[103X, this
operation returns the restriction of [3Xmap[103X to [3Xsubdom[103X.[133X
[1X32.3 [33X[0;0YProperties and Attributes of (General) Mappings[133X[101X
[1X32.3-1 IsTotal[101X
[33X[1;0Y[29X[2XIsTotal[102X( [3Xmap[103X ) [32X property[133X
[33X[0;0Yis [9Xtrue[109X if each element in the source [22XS[122X of the general mapping [3Xmap[103X has
images, i.e., [22Xs^[3Xmap[103X ≠ ∅[122X for all [22Xs ∈ S[122X, and [9Xfalse[109X otherwise.[133X
[1X32.3-2 IsSingleValued[101X
[33X[1;0Y[29X[2XIsSingleValued[102X( [3Xmap[103X ) [32X property[133X
[33X[0;0Yis [9Xtrue[109X if each element in the source [22XS[122X of the general mapping [3Xmap[103X has at
most one image, i.e., [22X|s^[3Xmap[103X| ≤ 1[122X for all [22Xs ∈ S[122X, and [9Xfalse[109X otherwise.[133X
[33X[0;0YEquivalently, [10XIsSingleValued( [3Xmap[103X[10X )[110X is [9Xtrue[109X if and only if the preimages of
different elements in [22XR[122X are disjoint.[133X
[1X32.3-3 IsMapping[101X
[33X[1;0Y[29X[2XIsMapping[102X( [3Xmap[103X ) [32X filter[133X
[33X[0;0YA [13Xmapping[113X [3Xmap[103X is a general mapping that assigns to each element [10Xelm[110X of its
source a unique element [10XImage( [3Xmap[103X[10X, elm )[110X of its range.[133X
[33X[0;0YEquivalently, the general mapping [3Xmap[103X is a mapping if and only if it is
total and single-valued (see [2XIsTotal[102X ([14X32.3-1[114X), [2XIsSingleValued[102X ([14X32.3-2[114X)).[133X
[1X32.3-4 IsInjective[101X
[33X[1;0Y[29X[2XIsInjective[102X( [3Xmap[103X ) [32X property[133X
[33X[0;0Yis [9Xtrue[109X if the images of different elements in the source [22XS[122X of the general
mapping [3Xmap[103X are disjoint, i.e., [22Xx^[3Xmap[103X ∩ y^[3Xmap[103X = ∅[122X for [22Xx ≠ y ∈ S[122X, and [9Xfalse[109X
otherwise.[133X
[33X[0;0YEquivalently, [10XIsInjective( [3Xmap[103X[10X )[110X is [9Xtrue[109X if and only if each element in the
range of [3Xmap[103X has at most one preimage in [22XS[122X.[133X
[1X32.3-5 IsSurjective[101X
[33X[1;0Y[29X[2XIsSurjective[102X( [3Xmap[103X ) [32X property[133X
[33X[0;0Yis [9Xtrue[109X if each element in the range [22XR[122X of the general mapping [3Xmap[103X has
preimages in the source [22XS[122X of [3Xmap[103X, i.e., [22X{ s ∈ S ∣ x ∈ s^[3Xmap[103X } ≠ ∅[122X for all [22Xx
∈ R[122X, and [9Xfalse[109X otherwise.[133X
[1X32.3-6 IsBijective[101X
[33X[1;0Y[29X[2XIsBijective[102X( [3Xmap[103X ) [32X property[133X
[33X[0;0YA general mapping [3Xmap[103X is [13Xbijective[113X if and only if it is an injective and
surjective mapping (see [2XIsMapping[102X ([14X32.3-3[114X), [2XIsInjective[102X ([14X32.3-4[114X),
[2XIsSurjective[102X ([14X32.3-5[114X)).[133X
[1X32.3-7 Range[101X
[33X[1;0Y[29X[2XRange[102X( [3Xmap[103X ) [32X attribute[133X
[33X[0;0YThe range of a general mapping.[133X
[1X32.3-8 Source[101X
[33X[1;0Y[29X[2XSource[102X( [3Xmap[103X ) [32X attribute[133X
[33X[0;0YThe source of a general mapping.[133X
[1X32.3-9 UnderlyingRelation[101X
[33X[1;0Y[29X[2XUnderlyingRelation[102X( [3Xmap[103X ) [32X attribute[133X
[33X[0;0YThe [13Xunderlying relation[113X of a general mapping [3Xmap[103X is the domain of pairs
[22X(s,r)[122X, with [22Xs[122X in the source and [22Xr[122X in the range of [3Xmap[103X (see [2XSource[102X ([14X32.3-8[114X),
[2XRange[102X ([14X32.3-7[114X)), and [22Xr ∈[122X [10XImagesElm( [3Xmap[103X[10X, [110X[22Xs[122X[10X )[110X.[133X
[33X[0;0YEach element of the underlying relation is represented by a direct product
element (see [2XIsDirectProductElement[102X ([14X32.1-1[114X)).[133X
[1X32.3-10 UnderlyingGeneralMapping[101X
[33X[1;0Y[29X[2XUnderlyingGeneralMapping[102X( [3Xmap[103X ) [32X attribute[133X
[33X[0;0Yattribute for underlying relations of general mappings[133X
[1X32.4 [33X[0;0YImages under Mappings[133X[101X
[1X32.4-1 ImagesSource[101X
[33X[1;0Y[29X[2XImagesSource[102X( [3Xmap[103X ) [32X attribute[133X
[33X[0;0Yis the set of images of the source of the general mapping [3Xmap[103X.[133X
[33X[0;0Y[2XImagesSource[102X delegates to [2XImagesSet[102X ([14X32.4-4[114X), it is introduced only to store
the image of [3Xmap[103X as attribute value.[133X
[1X32.4-2 ImagesRepresentative[101X
[33X[1;0Y[29X[2XImagesRepresentative[102X( [3Xmap[103X, [3Xelm[103X ) [32X operation[133X
[33X[0;0YIf [3Xelm[103X is an element of the source of the general mapping [3Xmap[103X then
[2XImagesRepresentative[102X returns either a representative of the set of images of
[3Xelm[103X under [3Xmap[103X or [9Xfail[109X, the latter if and only if [3Xelm[103X has no images under
[3Xmap[103X.[133X
[33X[0;0YAnything may happen if [3Xelm[103X is not an element of the source of [3Xmap[103X.[133X
[1X32.4-3 ImagesElm[101X
[33X[1;0Y[29X[2XImagesElm[102X( [3Xmap[103X, [3Xelm[103X ) [32X operation[133X
[33X[0;0YIf [3Xelm[103X is an element of the source of the general mapping [3Xmap[103X then [2XImagesElm[102X
returns the set of all images of [3Xelm[103X under [3Xmap[103X.[133X
[33X[0;0YAnything may happen if [3Xelm[103X is not an element of the source of [3Xmap[103X.[133X
[1X32.4-4 ImagesSet[101X
[33X[1;0Y[29X[2XImagesSet[102X( [3Xmap[103X, [3Xelms[103X ) [32X operation[133X
[33X[0;0YIf [3Xelms[103X is a subset of the source of the general mapping [3Xmap[103X then [2XImagesSet[102X
returns the set of all images of [3Xelms[103X under [3Xmap[103X.[133X
[33X[0;0YThe result will be either a proper set or a domain. Anything may happen if
[3Xelms[103X is not a subset of the source of [3Xmap[103X.[133X
[1X32.4-5 ImageElm[101X
[33X[1;0Y[29X[2XImageElm[102X( [3Xmap[103X, [3Xelm[103X ) [32X operation[133X
[33X[0;0YIf [3Xelm[103X is an element of the source of the total and single-valued mapping
[3Xmap[103X then [2XImageElm[102X returns the unique image of [3Xelm[103X under [3Xmap[103X.[133X
[33X[0;0YAnything may happen if [3Xelm[103X is not an element of the source of [3Xmap[103X.[133X
[1X32.4-6 [33X[0;0YImage[133X[101X
[33X[1;0Y[29X[2XImage[102X( [3Xmap[103X ) [32X function[133X
[33X[1;0Y[29X[2XImage[102X( [3Xmap[103X, [3Xelm[103X ) [32X function[133X
[33X[1;0Y[29X[2XImage[102X( [3Xmap[103X, [3Xcoll[103X ) [32X function[133X
[33X[0;0Y[10XImage( [3Xmap[103X[10X )[110X is the [13Ximage[113X of the general mapping [3Xmap[103X, i.e., the subset of
elements of the range of [3Xmap[103X that are actually values of [3Xmap[103X. [13XNote[113X that in
this case the argument may also be multi-valued.[133X
[33X[0;0Y[10XImage( [3Xmap[103X[10X, [3Xelm[103X[10X )[110X is the image of the element [3Xelm[103X of the source of the
mapping [3Xmap[103X under [3Xmap[103X, i.e., the unique element of the range to which [3Xmap[103X
maps [3Xelm[103X. This can also be expressed as [3Xelm[103X[10X^[110X[3Xmap[103X. Note that [3Xmap[103X must be total
and single valued, a multi valued general mapping is not allowed (see [2XImages[102X
([14X32.4-7[114X)).[133X
[33X[0;0Y[10XImage( [3Xmap[103X[10X, [3Xcoll[103X[10X )[110X is the image of the subset [3Xcoll[103X of the source of the
mapping [3Xmap[103X under [3Xmap[103X, i.e., the subset of the range to which [3Xmap[103X maps
elements of [3Xcoll[103X. [3Xcoll[103X may be a proper set or a domain. The result will be
either a proper set or a domain. Note that in this case [3Xmap[103X may also be
multi-valued. (If [3Xcoll[103X and the result are lists then the positions of
entries do in general [13Xnot[113X correspond.)[133X
[33X[0;0Y[2XImage[102X delegates to [2XImagesSource[102X ([14X32.4-1[114X) when called with one argument, and
to [2XImageElm[102X ([14X32.4-5[114X) resp. [2XImagesSet[102X ([14X32.4-4[114X) when called with two
arguments.[133X
[33X[0;0YIf the second argument is not an element or a subset of the source of the
first argument, an error is signalled.[133X
[1X32.4-7 [33X[0;0YImages[133X[101X
[33X[1;0Y[29X[2XImages[102X( [3Xmap[103X ) [32X function[133X
[33X[1;0Y[29X[2XImages[102X( [3Xmap[103X, [3Xelm[103X ) [32X function[133X
[33X[1;0Y[29X[2XImages[102X( [3Xmap[103X, [3Xcoll[103X ) [32X function[133X
[33X[0;0Y[10XImages( [3Xmap[103X[10X )[110X is the [13Ximage[113X of the general mapping [3Xmap[103X, i.e., the subset of
elements of the range of [3Xmap[103X that are actually values of [3Xmap[103X.[133X
[33X[0;0Y[10XImages( [3Xmap[103X[10X, [3Xelm[103X[10X )[110X is the set of images of the element [3Xelm[103X of the source of
the general mapping [3Xmap[103X under [3Xmap[103X, i.e., the set of elements of the range to
which [3Xmap[103X maps [3Xelm[103X.[133X
[33X[0;0Y[10XImages( [3Xmap[103X[10X, [3Xcoll[103X[10X )[110X is the set of images of the subset [3Xcoll[103X of the source of
the general mapping [3Xmap[103X under [3Xmap[103X, i.e., the subset of the range to which
[3Xmap[103X maps elements of [3Xcoll[103X. [3Xcoll[103X may be a proper set or a domain. The result
will be either a proper set or a domain. (If [3Xcoll[103X and the result are lists
then the positions of entries do in general [13Xnot[113X correspond.)[133X
[33X[0;0Y[2XImages[102X delegates to [2XImagesSource[102X ([14X32.4-1[114X) when called with one argument, and
to [2XImagesElm[102X ([14X32.4-3[114X) resp. [2XImagesSet[102X ([14X32.4-4[114X) when called with two
arguments.[133X
[33X[0;0YIf the second argument is not an element or a subset of the source of the
first argument, an error is signalled.[133X
[1X32.5 [33X[0;0YPreimages under Mappings[133X[101X
[1X32.5-1 PreImagesRange[101X
[33X[1;0Y[29X[2XPreImagesRange[102X( [3Xmap[103X ) [32X attribute[133X
[33X[0;0Yis the set of preimages of the range of the general mapping [3Xmap[103X.[133X
[33X[0;0Y[2XPreImagesRange[102X delegates to [2XPreImagesSet[102X ([14X32.5-5[114X), it is introduced only to
store the preimage of [3Xmap[103X as attribute value.[133X
[1X32.5-2 PreImagesElm[101X
[33X[1;0Y[29X[2XPreImagesElm[102X( [3Xmap[103X, [3Xelm[103X ) [32X operation[133X
[33X[0;0YIf [3Xelm[103X is an element of the range of the general mapping [3Xmap[103X then
[2XPreImagesElm[102X returns the set of all preimages of [3Xelm[103X under [3Xmap[103X.[133X
[33X[0;0YAnything may happen if [3Xelm[103X is not an element of the range of [3Xmap[103X.[133X
[1X32.5-3 PreImageElm[101X
[33X[1;0Y[29X[2XPreImageElm[102X( [3Xmap[103X, [3Xelm[103X ) [32X operation[133X
[33X[0;0YIf [3Xelm[103X is an element of the range of the injective and surjective general
mapping [3Xmap[103X then [2XPreImageElm[102X returns the unique preimage of [3Xelm[103X under [3Xmap[103X.[133X
[33X[0;0YAnything may happen if [3Xelm[103X is not an element of the range of [3Xmap[103X.[133X
[1X32.5-4 PreImagesRepresentative[101X
[33X[1;0Y[29X[2XPreImagesRepresentative[102X( [3Xmap[103X, [3Xelm[103X ) [32X operation[133X
[33X[0;0YIf [3Xelm[103X is an element of the range of the general mapping [3Xmap[103X then
[2XPreImagesRepresentative[102X returns either a representative of the set of
preimages of [3Xelm[103X under [3Xmap[103X or [9Xfail[109X, the latter if and only if [3Xelm[103X has no
preimages under [3Xmap[103X.[133X
[33X[0;0YAnything may happen if [3Xelm[103X is not an element of the range of [3Xmap[103X.[133X
[1X32.5-5 PreImagesSet[101X
[33X[1;0Y[29X[2XPreImagesSet[102X( [3Xmap[103X, [3Xelms[103X ) [32X operation[133X
[33X[0;0YIf [3Xelms[103X is a subset of the range of the general mapping [3Xmap[103X then
[2XPreImagesSet[102X returns the set of all preimages of [3Xelms[103X under [3Xmap[103X.[133X
[33X[0;0YAnything may happen if [3Xelms[103X is not a subset of the range of [3Xmap[103X.[133X
[1X32.5-6 [33X[0;0YPreImage[133X[101X
[33X[1;0Y[29X[2XPreImage[102X( [3Xmap[103X ) [32X function[133X
[33X[1;0Y[29X[2XPreImage[102X( [3Xmap[103X, [3Xelm[103X ) [32X function[133X
[33X[1;0Y[29X[2XPreImage[102X( [3Xmap[103X, [3Xcoll[103X ) [32X function[133X
[33X[0;0Y[10XPreImage( [3Xmap[103X[10X )[110X is the preimage of the general mapping [3Xmap[103X, i.e., the subset
of elements of the source of [3Xmap[103X that actually have values under [3Xmap[103X. Note
that in this case the argument may also be non-injective or non-surjective.[133X
[33X[0;0Y[10XPreImage( [3Xmap[103X[10X, [3Xelm[103X[10X )[110X is the preimage of the element [3Xelm[103X of the range of the
injective and surjective mapping [3Xmap[103X under [3Xmap[103X, i.e., the unique element of
the source which is mapped under [3Xmap[103X to [3Xelm[103X. Note that [3Xmap[103X must be injective
and surjective (see [2XPreImages[102X ([14X32.5-7[114X)).[133X
[33X[0;0Y[10XPreImage( [3Xmap[103X[10X, [3Xcoll[103X[10X )[110X is the preimage of the subset [3Xcoll[103X of the range of the
general mapping [3Xmap[103X under [3Xmap[103X, i.e., the subset of the source which is
mapped under [3Xmap[103X to elements of [3Xcoll[103X. [3Xcoll[103X may be a proper set or a domain.
The result will be either a proper set or a domain. Note that in this case
[3Xmap[103X may also be non-injective or non-surjective. (If [3Xcoll[103X and the result are
lists then the positions of entries do in general [13Xnot[113X correspond.)[133X
[33X[0;0Y[2XPreImage[102X delegates to [2XPreImagesRange[102X ([14X32.5-1[114X) when called with one argument,
and to [2XPreImageElm[102X ([14X32.5-3[114X) resp. [2XPreImagesSet[102X ([14X32.5-5[114X) when called with two
arguments.[133X
[33X[0;0YIf the second argument is not an element or a subset of the range of the
first argument, an error is signalled.[133X
[1X32.5-7 [33X[0;0YPreImages[133X[101X
[33X[1;0Y[29X[2XPreImages[102X( [3Xmap[103X ) [32X function[133X
[33X[1;0Y[29X[2XPreImages[102X( [3Xmap[103X, [3Xelm[103X ) [32X function[133X
[33X[1;0Y[29X[2XPreImages[102X( [3Xmap[103X, [3Xcoll[103X ) [32X function[133X
[33X[0;0Y[10XPreImages( [3Xmap[103X[10X )[110X is the preimage of the general mapping [3Xmap[103X, i.e., the
subset of elements of the source of [3Xmap[103X that have actually values under [3Xmap[103X.[133X
[33X[0;0Y[10XPreImages( [3Xmap[103X[10X, [3Xelm[103X[10X )[110X is the set of preimages of the element [3Xelm[103X of the
range of the general mapping [3Xmap[103X under [3Xmap[103X, i.e., the set of elements of the
source which [3Xmap[103X maps to [3Xelm[103X.[133X
[33X[0;0Y[10XPreImages( [3Xmap[103X[10X, [3Xcoll[103X[10X )[110X is the set of images of the subset [3Xcoll[103X of the range
of the general mapping [3Xmap[103X under [3Xmap[103X, i.e., the subset of the source which
[3Xmap[103X maps to elements of [3Xcoll[103X. [3Xcoll[103X may be a proper set or a domain. The
result will be either a proper set or a domain. (If [3Xcoll[103X and the result are
lists then the positions of entries do in general [13Xnot[113X correspond.)[133X
[33X[0;0Y[2XPreImages[102X delegates to [2XPreImagesRange[102X ([14X32.5-1[114X) when called with one
argument, and to [2XPreImagesElm[102X ([14X32.5-2[114X) resp. [2XPreImagesSet[102X ([14X32.5-5[114X) when
called with two arguments.[133X
[33X[0;0YIf the second argument is not an element or a subset of the range of the
first argument, an error is signalled.[133X
[1X32.6 [33X[0;0YArithmetic Operations for General Mappings[133X[101X
[33X[0;0YGeneral mappings are arithmetic objects. One can form groups and vector
spaces of general mappings provided that they are invertible or can be added
and admit scalar multiplication, respectively.[133X
[33X[0;0YFor two general mappings with same source, range, preimage, and image, the
[13Xsum[113X is defined pointwise, i.e., the images of a point under the sum is the
set of all sums with first summand in the images of the first general
mapping and second summand in the images of the second general mapping.[133X
[33X[0;0Y[13XScalar multiplication[113X of general mappings is defined likewise.[133X
[33X[0;0YThe [13Xproduct[113X of two general mappings is defined as the composition. This
multiplication is always associative. In addition to the composition via [10X*[110X,
general mappings can be composed –in reversed order– via [2XCompositionMapping[102X
([14X32.2-5[114X).[133X
[33X[0;0YGeneral mappings are in the category of multiplicative elements with
inverses. Similar to matrices, not every general mapping has an inverse or
an identity, and we define the behaviour of [2XOne[102X ([14X31.10-2[114X) and [2XInverse[102X
([14X31.10-8[114X) for general mappings as follows. [2XOne[102X ([14X31.10-2[114X) returns [9Xfail[109X when
called for a general mapping whose source and range differ, otherwise [2XOne[102X
([14X31.10-2[114X) returns the identity mapping of the source. (Note that the source
may differ from the preimage). [2XInverse[102X ([14X31.10-8[114X) returns [9Xfail[109X when called
for a non-bijective general mapping or for a general mapping whose source
and range differ; otherwise [2XInverse[102X ([14X31.10-8[114X) returns the inverse mapping.[133X
[33X[0;0YBesides the usual inverse of multiplicative elements, which means that
[10XInverse( [3Xg[103X[10X ) * [3Xg[103X[10X = [3Xg[103X[10X * Inverse( [3Xg[103X[10X ) = One( [3Xg[103X[10X )[110X, for general mappings we have
the attribute [2XInverseGeneralMapping[102X ([14X32.2-3[114X). If [3XF[103X is a general mapping with
source [22XS[122X, range [22XR[122X, and underlying relation [22XRel[122X then [10XInverseGeneralMapping( [3XF[103X[10X
)[110X has source [22XR[122X, range [22XS[122X, and underlying relation [22X{ (r,s) ∣ (s,r) ∈ Rel }[122X.
For a general mapping that has an inverse in the usual sense, i.e., for a
bijection of the source, of course both concepts coincide.[133X
[33X[0;0Y[2XInverse[102X ([14X31.10-8[114X) may delegate to [2XInverseGeneralMapping[102X ([14X32.2-3[114X).
[2XInverseGeneralMapping[102X ([14X32.2-3[114X) must not delegate to [2XInverse[102X ([14X31.10-8[114X), but a
known value of [2XInverse[102X ([14X31.10-8[114X) may be fetched. So methods to compute the
inverse of a general mapping should be installed for [2XInverseGeneralMapping[102X
([14X32.2-3[114X).[133X
[33X[0;0Y(Note that in many respects, general mappings behave similar to matrices,
for example one can define left and right identities and inverses, which do
not fit into the current concepts of [5XGAP[105X.)[133X
[1X32.7 [33X[0;0YMappings which are Compatible with Algebraic Structures[133X[101X
[33X[0;0YFrom an algebraical point of view, the most important mappings are those
which are compatible with a structure. For Magmas, Groups and Rings, [5XGAP[105X
supports the following four types of such mappings:[133X
[31X1[131X [33X[0;6YGeneral mappings that respect multiplication[133X
[31X2[131X [33X[0;6YGeneral mappings that respect addition[133X
[31X3[131X [33X[0;6YGeneral mappings that respect scalar mult.[133X
[31X4[131X [33X[0;6YGeneral mappings that respect multiplicative and additive structure[133X
[33X[0;0Y(Very technical note: [5XGAP[105X defines categories [10XIsSPGeneralMapping[110X and
[10XIsNonSPGeneralMapping[110X. The distinction between these is orthogonal to the
structure compatibility described here and should not be confused.)[133X
[1X32.8 [33X[0;0YMagma Homomorphisms[133X[101X
[1X32.8-1 IsMagmaHomomorphism[101X
[33X[1;0Y[29X[2XIsMagmaHomomorphism[102X( [3Xmapp[103X ) [32X filter[133X
[33X[0;0YA [13Xmagma homomorphism[113X is a total single valued mapping which respects
multiplication.[133X
[1X32.8-2 MagmaHomomorphismByFunctionNC[101X
[33X[1;0Y[29X[2XMagmaHomomorphismByFunctionNC[102X( [3XG[103X, [3XH[103X, [3Xfn[103X ) [32X function[133X
[33X[0;0YCreates the homomorphism from [3XG[103X to [3XH[103X without checking that [3Xfn[103X is a
homomorphism.[133X
[1X32.8-3 NaturalHomomorphismByGenerators[101X
[33X[1;0Y[29X[2XNaturalHomomorphismByGenerators[102X( [3Xf[103X, [3Xs[103X ) [32X operation[133X
[33X[0;0Yreturns a mapping from the magma [3Xf[103X with [22Xn[122X generators to the magma [3Xs[103X with [22Xn[122X
generators, which maps the [22Xi[122X-th generator of [3Xf[103X to the [22Xi[122X-th generator of [3Xs[103X.[133X
[1X32.9 [33X[0;0YMappings that Respect Multiplication[133X[101X
[1X32.9-1 RespectsMultiplication[101X
[33X[1;0Y[29X[2XRespectsMultiplication[102X( [3Xmapp[103X ) [32X property[133X
[33X[0;0YLet [3Xmapp[103X be a general mapping with underlying relation [22XF ⊆ S × R[122X, where [22XS[122X
and [22XR[122X are the source and the range of [3Xmapp[103X, respectively. Then
[2XRespectsMultiplication[102X returns [9Xtrue[109X if [22XS[122X and [22XR[122X are magmas such that
[22X(s_1,r_1), (s_2,r_2) ∈ F[122X implies [22X(s_1 * s_2,r_1 * r_2) ∈ F[122X, and [9Xfalse[109X
otherwise.[133X
[33X[0;0YIf [3Xmapp[103X is single-valued then [2XRespectsMultiplication[102X returns [9Xtrue[109X if and
only if the equation [10X[3Xs1[103X[10X^[3Xmapp[103X[10X * [3Xs2[103X[10X^[3Xmapp[103X[10X = ([3Xs1[103X[10X * [3Xs2[103X[10X)^[3Xmapp[103X[10X[110X holds for all [3Xs1[103X, [3Xs2[103X
in [22XS[122X.[133X
[1X32.9-2 RespectsOne[101X
[33X[1;0Y[29X[2XRespectsOne[102X( [3Xmapp[103X ) [32X property[133X
[33X[0;0YLet [3Xmapp[103X be a general mapping with underlying relation [22XF ⊆ [3XS[103X × [3XR[103X[122X, where [3XS[103X
and [3XR[103X are the source and the range of [3Xmapp[103X, respectively. Then [2XRespectsOne[102X
returns [9Xtrue[109X if [3XS[103X and [3XR[103X are magmas-with-one such that [22X([122X[10XOne([3XS[103X[10X)[110X[22X,[122X[10XOne([3XR[103X[10X)[110X[22X) ∈ F[122X,
and [9Xfalse[109X otherwise.[133X
[33X[0;0YIf [3Xmapp[103X is single-valued then [2XRespectsOne[102X returns [9Xtrue[109X if and only if the
equation [10XOne( [3XS[103X[10X )^[3Xmapp[103X[10X = One( [3XR[103X[10X )[110X holds.[133X
[1X32.9-3 RespectsInverses[101X
[33X[1;0Y[29X[2XRespectsInverses[102X( [3Xmapp[103X ) [32X property[133X
[33X[0;0YLet [3Xmapp[103X be a general mapping with underlying relation [22XF ⊆ [3XS[103X × [3XR[103X[122X, where [3XS[103X
and [3XR[103X are the source and the range of [3Xmapp[103X, respectively. Then
[2XRespectsInverses[102X returns [9Xtrue[109X if [3XS[103X and [3XR[103X are magmas-with-inverses such that,
for [22Xs ∈ [3XS[103X[122X and [22Xr ∈ [3XR[103X[122X, [22X(s,r) ∈ F[122X implies [22X(s^{-1},r^{-1}) ∈ F[122X, and [9Xfalse[109X
otherwise.[133X
[33X[0;0YIf [3Xmapp[103X is single-valued then [2XRespectsInverses[102X returns [9Xtrue[109X if and only if
the equation [10XInverse( [3Xs[103X[10X )^[3Xmapp[103X[10X = Inverse( [3Xs[103X[10X^[3Xmapp[103X[10X )[110X holds for all [3Xs[103X in [22XS[122X.[133X
[1X32.9-4 IsGroupGeneralMapping[101X
[33X[1;0Y[29X[2XIsGroupGeneralMapping[102X( [3Xmapp[103X ) [32X filter[133X
[33X[1;0Y[29X[2XIsGroupHomomorphism[102X( [3Xmapp[103X ) [32X filter[133X
[33X[0;0YA [13Xgroup general mapping[113X is a mapping which respects multiplication and
inverses. If it is total and single valued it is called a [13Xgroup
homomorphism[113X.[133X
[33X[0;0YChapter [14X40[114X explains group homomorphisms in more detail.[133X
[1X32.9-5 KernelOfMultiplicativeGeneralMapping[101X
[33X[1;0Y[29X[2XKernelOfMultiplicativeGeneralMapping[102X( [3Xmapp[103X ) [32X attribute[133X
[33X[0;0YLet [3Xmapp[103X be a general mapping. Then [2XKernelOfMultiplicativeGeneralMapping[102X
returns the set of all elements in the source of [3Xmapp[103X that have the identity
of the range in their set of images.[133X
[33X[0;0Y(This is a monoid if [3Xmapp[103X respects multiplication and one, and if the source
of [3Xmapp[103X is associative.)[133X
[1X32.9-6 CoKernelOfMultiplicativeGeneralMapping[101X
[33X[1;0Y[29X[2XCoKernelOfMultiplicativeGeneralMapping[102X( [3Xmapp[103X ) [32X attribute[133X
[33X[0;0YLet [3Xmapp[103X be a general mapping. Then [2XCoKernelOfMultiplicativeGeneralMapping[102X
returns the set of all elements in the range of [3Xmapp[103X that have the identity
of the source in their set of preimages.[133X
[33X[0;0Y(This is a monoid if [3Xmapp[103X respects multiplication and one, and if the range
of [3Xmapp[103X is associative.)[133X
[1X32.10 [33X[0;0YMappings that Respect Addition[133X[101X
[1X32.10-1 RespectsAddition[101X
[33X[1;0Y[29X[2XRespectsAddition[102X( [3Xmapp[103X ) [32X property[133X
[33X[0;0YLet [3Xmapp[103X be a general mapping with underlying relation [22XF ⊆ S × R[122X, where [22XS[122X
and [22XR[122X are the source and the range of [3Xmapp[103X, respectively. Then
[2XRespectsAddition[102X returns [9Xtrue[109X if [22XS[122X and [22XR[122X are additive magmas such that
[22X(s_1,r_1), (s_2,r_2) ∈ F[122X implies [22X(s_1 + s_2,r_1 + r_2) ∈ F[122X, and [9Xfalse[109X
otherwise.[133X
[33X[0;0YIf [3Xmapp[103X is single-valued then [2XRespectsAddition[102X returns [9Xtrue[109X if and only if
the equation [10X[3Xs1[103X[10X^[3Xmapp[103X[10X + [3Xs2[103X[10X^[3Xmapp[103X[10X = ([3Xs1[103X[10X+[3Xs2[103X[10X)^[3Xmapp[103X[10X[110X holds for all [3Xs1[103X, [3Xs2[103X in [22XS[122X.[133X
[1X32.10-2 RespectsAdditiveInverses[101X
[33X[1;0Y[29X[2XRespectsAdditiveInverses[102X( [3Xmapp[103X ) [32X property[133X
[33X[0;0YLet [3Xmapp[103X be a general mapping with underlying relation [22XF ⊆ S × R[122X, where [22XS[122X
and [22XR[122X are the source and the range of [3Xmapp[103X, respectively. Then
[2XRespectsAdditiveInverses[102X returns [9Xtrue[109X if [22XS[122X and [22XR[122X are
additive-magmas-with-inverses such that [22X(s,r) ∈ F[122X implies [22X(-s,-r) ∈ F[122X, and
[9Xfalse[109X otherwise.[133X
[33X[0;0YIf [3Xmapp[103X is single-valued then [2XRespectsAdditiveInverses[102X returns [9Xtrue[109X if and
only if the equation [10XAdditiveInverse( [3Xs[103X[10X )^[3Xmapp[103X[10X = AdditiveInverse( [3Xs[103X[10X^[3Xmapp[103X[10X )[110X
holds for all [3Xs[103X in [22XS[122X.[133X
[1X32.10-3 RespectsZero[101X
[33X[1;0Y[29X[2XRespectsZero[102X( [3Xmapp[103X ) [32X property[133X
[33X[0;0YLet [3Xmapp[103X be a general mapping with underlying relation [22XF ⊆ [3XS[103X × [3XR[103X[122X, where [3XS[103X
and [3XR[103X are the source and the range of [3Xmapp[103X, respectively. Then [2XRespectsZero[102X
returns [9Xtrue[109X if [3XS[103X and [3XR[103X are additive-magmas-with-zero such that
[22X([122X[10XZero([3XS[103X[10X)[110X[22X,[122X[10XZero([3XR[103X[10X)[110X[22X) ∈ F[122X, and [9Xfalse[109X otherwise.[133X
[33X[0;0YIf [3Xmapp[103X is single-valued then [2XRespectsZero[102X returns [9Xtrue[109X if and only if the
equation [10XZero( [3XS[103X[10X )^[3Xmapp[103X[10X = Zero( [3XR[103X[10X )[110X holds.[133X
[1X32.10-4 IsAdditiveGroupGeneralMapping[101X
[33X[1;0Y[29X[2XIsAdditiveGroupGeneralMapping[102X( [3Xmapp[103X ) [32X filter[133X
[33X[1;0Y[29X[2XIsAdditiveGroupHomomorphism[102X( [3Xmapp[103X ) [32X filter[133X
[33X[0;0Y[2XIsAdditiveGroupGeneralMapping[102X specifies whether a general mapping [3Xmapp[103X
respects addition (see [2XRespectsAddition[102X ([14X32.10-1[114X)) and respects additive
inverses (see [2XRespectsAdditiveInverses[102X ([14X32.10-2[114X)).[133X
[33X[0;0Y[2XIsAdditiveGroupHomomorphism[102X is a synonym for the meet of
[2XIsAdditiveGroupGeneralMapping[102X and [2XIsMapping[102X ([14X32.3-3[114X).[133X
[1X32.10-5 KernelOfAdditiveGeneralMapping[101X
[33X[1;0Y[29X[2XKernelOfAdditiveGeneralMapping[102X( [3Xmapp[103X ) [32X attribute[133X
[33X[0;0YLet [3Xmapp[103X be a general mapping. Then [2XKernelOfAdditiveGeneralMapping[102X returns
the set of all elements in the source of [3Xmapp[103X that have the zero of the
range in their set of images.[133X
[1X32.10-6 CoKernelOfAdditiveGeneralMapping[101X
[33X[1;0Y[29X[2XCoKernelOfAdditiveGeneralMapping[102X( [3Xmapp[103X ) [32X attribute[133X
[33X[0;0YLet [3Xmapp[103X be a general mapping. Then [2XCoKernelOfAdditiveGeneralMapping[102X returns
the set of all elements in the range of [3Xmapp[103X that have the zero of the
source in their set of preimages.[133X
[1X32.11 [33X[0;0YLinear Mappings[133X[101X
[33X[0;0YAlso see Sections [14X32.9[114X, [14X32.10[114X, and [2XKernelOfMultiplicativeGeneralMapping[102X
([14X32.9-5[114X), [2XCoKernelOfMultiplicativeGeneralMapping[102X ([14X32.9-6[114X).[133X
[1X32.11-1 RespectsScalarMultiplication[101X
[33X[1;0Y[29X[2XRespectsScalarMultiplication[102X( [3Xmapp[103X ) [32X property[133X
[33X[0;0YLet [3Xmapp[103X be a general mapping, with underlying relation [22XF ⊆ S × R[122X, where [22XS[122X
and [22XR[122X are the source and the range of [3Xmapp[103X, respectively. Then
[2XRespectsScalarMultiplication[102X returns [9Xtrue[109X if [22XS[122X and [22XR[122X are left modules with
the left acting domain [22XD[122X of [22XS[122X contained in the left acting domain of [22XR[122X and
such that [22X(s,r) ∈ F[122X implies [22X(c * s,c * r) ∈ F[122X for all [22Xc ∈ D[122X, and [9Xfalse[109X
otherwise.[133X
[33X[0;0YIf [3Xmapp[103X is single-valued then [2XRespectsScalarMultiplication[102X returns [9Xtrue[109X if
and only if the equation [10X[3Xc[103X[10X * [3Xs[103X[10X^[3Xmapp[103X[10X = ([3Xc[103X[10X * [3Xs[103X[10X)^[3Xmapp[103X[10X[110X holds for all [3Xc[103X in [22XD[122X and
[3Xs[103X in [22XS[122X.[133X
[1X32.11-2 IsLeftModuleGeneralMapping[101X
[33X[1;0Y[29X[2XIsLeftModuleGeneralMapping[102X( [3Xmapp[103X ) [32X filter[133X
[33X[1;0Y[29X[2XIsLeftModuleHomomorphism[102X( [3Xmapp[103X ) [32X filter[133X
[33X[0;0Y[2XIsLeftModuleGeneralMapping[102X specifies whether a general mapping [3Xmapp[103X
satisfies the property [2XIsAdditiveGroupGeneralMapping[102X ([14X32.10-4[114X) and respects
scalar multiplication (see [2XRespectsScalarMultiplication[102X ([14X32.11-1[114X)).[133X
[33X[0;0Y[2XIsLeftModuleHomomorphism[102X is a synonym for the meet of
[2XIsLeftModuleGeneralMapping[102X and [2XIsMapping[102X ([14X32.3-3[114X).[133X
[1X32.11-3 IsLinearMapping[101X
[33X[1;0Y[29X[2XIsLinearMapping[102X( [3XF[103X, [3Xmapp[103X ) [32X operation[133X
[33X[0;0YFor a field [3XF[103X and a general mapping [3Xmapp[103X, [2XIsLinearMapping[102X returns [9Xtrue[109X if
[3Xmapp[103X is an [3XF[103X-linear mapping, and [9Xfalse[109X otherwise.[133X
[33X[0;0YA mapping [22Xf[122X is a linear mapping (or vector space homomorphism) if the source
and range are vector spaces over the same division ring [22XD[122X, and if [22Xf( a + b )
= f(a) + f(b)[122X and [22Xf( s * a ) = s * f(a)[122X hold for all elements [22Xa[122X, [22Xb[122X in the
source of [22Xf[122X and [22Xs ∈ D[122X.[133X
[1X32.12 [33X[0;0YRing Homomorphisms[133X[101X
[1X32.12-1 IsRingGeneralMapping[101X
[33X[1;0Y[29X[2XIsRingGeneralMapping[102X( [3Xmapp[103X ) [32X filter[133X
[33X[1;0Y[29X[2XIsRingHomomorphism[102X( [3Xmapp[103X ) [32X filter[133X
[33X[0;0Y[2XIsRingGeneralMapping[102X specifies whether a general mapping [3Xmapp[103X satisfies the
property [2XIsAdditiveGroupGeneralMapping[102X ([14X32.10-4[114X) and respects multiplication
(see [2XRespectsMultiplication[102X ([14X32.9-1[114X)).[133X
[33X[0;0Y[2XIsRingHomomorphism[102X is a synonym for the meet of [2XIsRingGeneralMapping[102X and
[2XIsMapping[102X ([14X32.3-3[114X).[133X
[1X32.12-2 IsRingWithOneGeneralMapping[101X
[33X[1;0Y[29X[2XIsRingWithOneGeneralMapping[102X( [3Xmapp[103X ) [32X filter[133X
[33X[1;0Y[29X[2XIsRingWithOneHomomorphism[102X( [3Xmapp[103X ) [32X filter[133X
[1X32.12-3 IsAlgebraGeneralMapping[101X
[33X[1;0Y[29X[2XIsAlgebraGeneralMapping[102X( [3Xmapp[103X ) [32X filter[133X
[33X[1;0Y[29X[2XIsAlgebraHomomorphism[102X( [3Xmapp[103X ) [32X filter[133X
[33X[0;0Y[2XIsAlgebraGeneralMapping[102X specifies whether a general mapping [3Xmapp[103X satisfies
both properties [2XIsRingGeneralMapping[102X ([14X32.12-1[114X) and (see
[2XIsLeftModuleGeneralMapping[102X ([14X32.11-2[114X)).[133X
[33X[0;0Y[2XIsAlgebraHomomorphism[102X is a synonym for the meet of [2XIsAlgebraGeneralMapping[102X
and [2XIsMapping[102X ([14X32.3-3[114X).[133X
[1X32.12-4 IsAlgebraWithOneGeneralMapping[101X
[33X[1;0Y[29X[2XIsAlgebraWithOneGeneralMapping[102X( [3Xmapp[103X ) [32X filter[133X
[33X[1;0Y[29X[2XIsAlgebraWithOneHomomorphism[102X( [3Xmapp[103X ) [32X filter[133X
[33X[0;0Y[2XIsAlgebraWithOneGeneralMapping[102X specifies whether a general mapping [3Xmapp[103X
satisfies both properties [2XIsAlgebraGeneralMapping[102X ([14X32.12-3[114X) and [2XRespectsOne[102X
([14X32.9-2[114X).[133X
[33X[0;0Y[2XIsAlgebraWithOneHomomorphism[102X is a synonym for the meet of
[2XIsAlgebraWithOneGeneralMapping[102X and [2XIsMapping[102X ([14X32.3-3[114X).[133X
[1X32.12-5 IsFieldHomomorphism[101X
[33X[1;0Y[29X[2XIsFieldHomomorphism[102X( [3Xmapp[103X ) [32X property[133X
[33X[0;0YA general mapping is a field homomorphism if and only if it is a ring
homomorphism with source a field.[133X
[1X32.13 [33X[0;0YGeneral Mappings[133X[101X
[1X32.13-1 IsGeneralMapping[101X
[33X[1;0Y[29X[2XIsGeneralMapping[102X( [3Xmap[103X ) [32X Category[133X
[33X[0;0YEach general mapping lies in the category [2XIsGeneralMapping[102X. It implies the
categories [2XIsMultiplicativeElementWithInverse[102X ([14X31.14-13[114X) and
[2XIsAssociativeElement[102X ([14X31.15-1[114X); for a discussion of these implications,
see [14X32.6[114X.[133X
[1X32.13-2 IsConstantTimeAccessGeneralMapping[101X
[33X[1;0Y[29X[2XIsConstantTimeAccessGeneralMapping[102X( [3Xmap[103X ) [32X property[133X
[33X[0;0Yis [9Xtrue[109X if the underlying relation of the general mapping [3Xmap[103X knows its
[2XAsList[102X ([14X30.3-8[114X) value, and [9Xfalse[109X otherwise.[133X
[33X[0;0YIn the former case, [3Xmap[103X is allowed to use this list for calls to [2XImagesElm[102X
([14X32.4-3[114X) etc.[133X
[1X32.13-3 IsEndoGeneralMapping[101X
[33X[1;0Y[29X[2XIsEndoGeneralMapping[102X( [3Xobj[103X ) [32X property[133X
[33X[0;0YIf a general mapping has this property then its source and range are equal.[133X
[1X32.14 [33X[0;0YTechnical Matters Concerning General Mappings[133X[101X
[33X[0;0Y[2XSource[102X ([14X32.3-8[114X) and [2XRange[102X ([14X32.3-7[114X) are basic operations for general
mappings. [2XUnderlyingRelation[102X ([14X32.3-9[114X) is secondary, its default method sets
up a domain that delegates tasks to the general mapping. (Note that this
allows one to handle also infinite relations by generic methods if source or
range of the general mapping is finite.)[133X
[33X[0;0YThe distinction between basic operations and secondary operations for
general mappings may be a little bit complicated. Namely, each general
mapping must be in one of the two categories [2XIsNonSPGeneralMapping[102X
([14X32.14-1[114X), [2XIsSPGeneralMapping[102X ([14X32.14-1[114X). (The category [2XIsGeneralMapping[102X
([14X32.13-1[114X) is defined as the disjoint union of these two.)[133X
[33X[0;0YFor general mappings of the first category, [2XImagesElm[102X ([14X32.4-3[114X) and
[2XPreImagesElm[102X ([14X32.5-2[114X) are basic operations. (Note that in principle it is
possible to delegate from [2XPreImagesElm[102X ([14X32.5-2[114X) to [2XImagesElm[102X ([14X32.4-3[114X).)
Methods for the secondary operations [2XImageElm[102X ([14X32.4-5[114X), [2XPreImageElm[102X
([14X32.5-3[114X), [2XImagesSet[102X ([14X32.4-4[114X), [2XPreImagesSet[102X ([14X32.5-5[114X), [2XImagesRepresentative[102X
([14X32.4-2[114X), and [2XPreImagesRepresentative[102X ([14X32.5-4[114X) may use [2XImagesElm[102X ([14X32.4-3[114X)
and [2XPreImagesElm[102X ([14X32.5-2[114X), respectively, and methods for [2XImagesElm[102X ([14X32.4-3[114X),
[2XPreImagesElm[102X ([14X32.5-2[114X) must [13Xnot[113X call the secondary operations. In particular,
there are no generic methods for [2XImagesElm[102X ([14X32.4-3[114X) and [2XPreImagesElm[102X
([14X32.5-2[114X).[133X
[33X[0;0YMethods for [2XImagesSet[102X ([14X32.4-4[114X) and [2XPreImagesSet[102X ([14X32.5-5[114X) must [13Xnot[113X use
[2XPreImagesRange[102X ([14X32.5-1[114X) and [2XImagesSource[102X ([14X32.4-1[114X), e.g., compute the
intersection of the set in question with the preimage of the range resp. the
image of the source.[133X
[33X[0;0YFor general mappings of the second category (which means structure
preserving general mappings), the situation is different. The set of
preimages under a group homomorphism, for example, is either empty or can be
described as a coset of the (multiplicative) kernel. So it is reasonable to
have [2XImagesRepresentative[102X ([14X32.4-2[114X), [2XPreImagesRepresentative[102X ([14X32.5-4[114X),
[2XKernelOfMultiplicativeGeneralMapping[102X ([14X32.9-5[114X), and
[2XCoKernelOfMultiplicativeGeneralMapping[102X ([14X32.9-6[114X) as basic operations here,
and to make [2XImagesElm[102X ([14X32.4-3[114X) and [2XPreImagesElm[102X ([14X32.5-2[114X) secondary
operations that may delegate to these.[133X
[33X[0;0YIn order to avoid infinite recursions, we must distinguish between the two
different types of mappings.[133X
[33X[0;0Y(Note that the basic domain operations such as [2XAsList[102X ([14X30.3-8[114X) for the
underlying relation of a general mapping may use either [2XImagesElm[102X ([14X32.4-3[114X)
or [2XImagesRepresentative[102X ([14X32.4-2[114X) and the appropriate cokernel. Conversely,
if [2XAsList[102X ([14X30.3-8[114X) for the underlying relation is known then [2XImagesElm[102X
([14X32.4-3[114X) resp. [2XImagesRepresentative[102X ([14X32.4-2[114X) may delegate to it, the general
mapping gets the property [2XIsConstantTimeAccessGeneralMapping[102X ([14X32.13-2[114X) for
this; note that this is not allowed if only an enumerator of the underlying
relation is known.)[133X
[33X[0;0YSecondary operations are [2XIsInjective[102X ([14X32.3-4[114X), [2XIsSingleValued[102X ([14X32.3-2[114X),
[2XIsSurjective[102X ([14X32.3-5[114X), [2XIsTotal[102X ([14X32.3-1[114X); they may use the basic operations,
and must not be used by them.[133X
[33X[0;0YMethods for the operations [2XImagesElm[102X ([14X32.4-3[114X), [2XImagesRepresentative[102X
([14X32.4-2[114X), [2XImagesSet[102X ([14X32.4-4[114X), [2XImageElm[102X ([14X32.4-5[114X), [2XPreImagesElm[102X ([14X32.5-2[114X),
[2XPreImagesRepresentative[102X ([14X32.5-4[114X), [2XPreImagesSet[102X ([14X32.5-5[114X), and [2XPreImageElm[102X
([14X32.5-3[114X) take two arguments, a general mapping [3Xmap[103X and an element or
collection of elements [3Xelm[103X. These methods must [13Xnot[113X check whether [3Xelm[103X lies in
the source or the range of [3Xmap[103X. In the case that [3Xelm[103X does not, [9Xfail[109X may be
returned as well as any other [5XGAP[105X object, and even an error message is
allowed. Checks of the arguments are done only by the functions [2XImage[102X
([14X32.4-6[114X), [2XImages[102X ([14X32.4-7[114X), [2XPreImage[102X ([14X32.5-6[114X), and [2XPreImages[102X ([14X32.5-7[114X), which
then delegate to the operations listed above.[133X
[1X32.14-1 IsSPGeneralMapping[101X
[33X[1;0Y[29X[2XIsSPGeneralMapping[102X( [3Xmap[103X ) [32X Category[133X
[33X[1;0Y[29X[2XIsNonSPGeneralMapping[102X( [3Xmap[103X ) [32X Category[133X
[1X32.14-2 IsGeneralMappingFamily[101X
[33X[1;0Y[29X[2XIsGeneralMappingFamily[102X( [3Xobj[103X ) [32X Category[133X
[33X[0;0YThe family category of the category of general mappings.[133X
[1X32.14-3 FamilyRange[101X
[33X[1;0Y[29X[2XFamilyRange[102X( [3XFam[103X ) [32X attribute[133X
[33X[0;0Yis the elements family of the family of the range of each general mapping in
the family [3XFam[103X.[133X
[1X32.14-4 FamilySource[101X
[33X[1;0Y[29X[2XFamilySource[102X( [3XFam[103X ) [32X attribute[133X
[33X[0;0Yis the elements family of the family of the source of each general mapping
in the family [3XFam[103X.[133X
[1X32.14-5 FamiliesOfGeneralMappingsAndRanges[101X
[33X[1;0Y[29X[2XFamiliesOfGeneralMappingsAndRanges[102X( [3XFam[103X ) [32X attribute[133X
[33X[0;0Yis a list that stores at the odd positions the families of general mappings
with source in the family [3XFam[103X, at the even positions the families of ranges
of the general mappings.[133X
[1X32.14-6 GeneralMappingsFamily[101X
[33X[1;0Y[29X[2XGeneralMappingsFamily[102X( [3Xsourcefam[103X, [3Xrangefam[103X ) [32X function[133X
[33X[0;0YAll general mappings with same source family [3XFS[103X and same range family [3XFR[103X lie
in the family [10XGeneralMappingsFamily( [3XFS[103X[10X, [3XFR[103X[10X )[110X.[133X
[1X32.14-7 TypeOfDefaultGeneralMapping[101X
[33X[1;0Y[29X[2XTypeOfDefaultGeneralMapping[102X( [3Xsource[103X, [3Xrange[103X, [3Xfilter[103X ) [32X function[133X
[33X[0;0Yis the type of mappings with [10XIsDefaultGeneralMappingRep[110X with source [3Xsource[103X
and range [3Xrange[103X and additional categories [3Xfilter[103X.[133X