File: mapping.xml

package info (click to toggle)
gap 4.15.1-1
  • links: PTS
  • area: main
  • in suites: forky, sid
  • size: 110,212 kB
  • sloc: ansic: 97,261; xml: 48,343; cpp: 13,946; sh: 4,900; perl: 1,650; javascript: 255; makefile: 252; ruby: 9
file content (259 lines) | stat: -rw-r--r-- 8,110 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
<!-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -->
<!-- %% -->
<!-- %A  mapping.xml                  GAP documentation              Thomas Breuer -->
<!-- %% -->
<!-- %% -->
<!-- %Y  (C) 1998 School Math and Comp. Sci., University of St Andrews, Scotland -->
<!-- %Y  Copyright (C) 2002 The GAP Group -->
<!-- %% -->
<Chapter Label="Mappings">
<Heading>Mappings</Heading>

<Index Subkey="as in mathematics">functions</Index>
<Index>relations</Index>
A <E>mapping</E> in &GAP; is what is called a <Q>function</Q> in mathematics.
&GAP; also implements <E>generalized mappings</E> in which one element might
have several images, these can be imagined as subsets of the cartesian
product and are often called <Q>relations</Q>.
<P/>
Most operations are declared for general mappings and therefore this manual
often  refers to <Q>(general) mappings</Q>, unless you deliberately need the
generalization you can ignore the <Q>general</Q> bit and just read
it as <Q>mappings</Q>.
<P/>
<#Include Label="[1]{mapping}">
<P/>
For mappings which preserve an algebraic structure a <E>kernel</E> is
defined.
Depending on the structure preserved the operation to compute this kernel is
called differently,
see Section&nbsp;<Ref Sect="Mappings which are Compatible with Algebraic Structures"/>.
<P/>
Some technical details of general mappings are described in
section&nbsp;<Ref Sect="General Mappings"/>.

<!-- %%  The general support for mappings is due to Thomas Breuer. -->


<!-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -->
<Section Label="sect:Direct Products and their Elements">
<Heading>Direct Products and their Elements</Heading>

<#Include Label="IsDirectProductElement">
<#Include Label="DirectProductFamily">

</Section>


<!-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -->
<Section Label="Creating Mappings">
<Heading>Creating Mappings</Heading>

<#Include Label="GeneralMappingByElements">
<#Include Label="MappingByFunction">
<#Include Label="InverseGeneralMapping">
<#Include Label="RestrictedInverseGeneralMapping">
<#Include Label="CompositionMapping">
<#Include Label="CompositionMapping2">
<#Include Label="IsCompositionMappingRep">
<#Include Label="ConstituentsCompositionMapping">
<#Include Label="ZeroMapping">
<#Include Label="IdentityMapping">
<#Include Label="Embedding">
<#Include Label="Projection">
<#Include Label="RestrictedMapping">

</Section>


<!-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -->
<Section Label="Properties and Attributes of (General) Mappings">
<Heading>Properties and Attributes of (General) Mappings</Heading>

<#Include Label="IsTotal">
<#Include Label="IsSingleValued">
<#Include Label="IsMapping">
<#Include Label="IsInjective">
<#Include Label="IsSurjective">
<#Include Label="IsBijective">
<#Include Label="Range">
<#Include Label="Source">
<#Include Label="UnderlyingRelation">
<#Include Label="UnderlyingGeneralMapping">

</Section>


<!-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -->
<Section Label="Images under Mappings">
<Heading>Images under Mappings</Heading>

<#Include Label="ImagesSource">
<#Include Label="ImagesRepresentative">
<#Include Label="ImagesElm">
<#Include Label="ImagesSet">
<#Include Label="ImageElm">
<#Include Label="Image">
<#Include Label="Images">

</Section>


<!-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -->
<Section Label="Preimages under Mappings">
<Heading>Preimages under Mappings</Heading>

<#Include Label="PreImagesRange">
<#Include Label="PreImagesElm">
<#Include Label="PreImageElm">
<#Include Label="PreImagesRepresentative">
<#Include Label="PreImagesSet">
<#Include Label="PreImage">
<#Include Label="PreImages">

</Section>


<!-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -->
<Section Label="Arithmetic Operations for General Mappings">
<Heading>Arithmetic Operations for General Mappings</Heading>

<#Include Label="[3]{mapping}">

</Section>


<!-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -->
<Section Label="Mappings which are Compatible with Algebraic Structures">
<Heading>Mappings which are Compatible with Algebraic Structures</Heading>

From an algebraical point of view, the most important mappings are those
which are compatible with a structure. For Magmas, Groups and Rings, &GAP;
supports the following four types of such mappings:
<P/>
<Enum>
<Item>
  General mappings that respect multiplication
</Item>
<Item>
  General mappings that respect addition
</Item>
<Item>
  General mappings that respect scalar mult.
</Item>
<Item>
  General mappings that respect multiplicative and additive structure
</Item>
</Enum>
<P/>
(Very technical note:
&GAP; defines categories <C>IsSPGeneralMapping</C> and
<C>IsNonSPGeneralMapping</C>.
The distinction between these is orthogonal to the structure compatibility
described here and should not be confused.)

</Section>


<!-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -->
<Section Label="Magma Homomorphisms">
<Heading>Magma Homomorphisms</Heading>

<#Include Label="IsMagmaHomomorphism">
<#Include Label="MagmaHomomorphismByFunctionNC">
<#Include Label="NaturalHomomorphismByGenerators">

</Section>


<!-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -->
<Section Label="Mappings that Respect Multiplication">
<Heading>Mappings that Respect Multiplication</Heading>

<#Include Label="RespectsMultiplication">
<#Include Label="RespectsOne">
<#Include Label="RespectsInverses">
<#Include Label="IsGroupGeneralMapping">
<#Include Label="KernelOfMultiplicativeGeneralMapping">
<#Include Label="CoKernelOfMultiplicativeGeneralMapping">

</Section>


<!-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -->
<Section Label="Mappings that Respect Addition">
<Heading>Mappings that Respect Addition</Heading>

<#Include Label="RespectsAddition">
<#Include Label="RespectsAdditiveInverses">
<#Include Label="RespectsZero">
<#Include Label="IsAdditiveGroupGeneralMapping">
<#Include Label="KernelOfAdditiveGeneralMapping">
<#Include Label="CoKernelOfAdditiveGeneralMapping">

</Section>


<!-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -->
<Section Label="Linear Mappings">
<Heading>Linear Mappings</Heading>

Also see Sections&nbsp;<Ref Sect="Mappings that Respect Multiplication"/>,
<Ref Sect="Mappings that Respect Addition"/>,
and <Ref Attr="KernelOfMultiplicativeGeneralMapping"/>,
<Ref Attr="CoKernelOfMultiplicativeGeneralMapping"/>.

<#Include Label="RespectsScalarMultiplication">
<#Include Label="IsLeftModuleGeneralMapping">
<#Include Label="IsLinearMapping">

</Section>


<!-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -->
<Section Label="Ring Homomorphisms">
<Heading>Ring Homomorphisms</Heading>

<#Include Label="IsRingGeneralMapping">
<#Include Label="IsRingWithOneGeneralMapping">
<#Include Label="IsAlgebraGeneralMapping">
<#Include Label="IsAlgebraWithOneGeneralMapping">
<#Include Label="IsFieldHomomorphism">

</Section>


<!-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -->
<Section Label="General Mappings">
<Heading>General Mappings</Heading>

<#Include Label="IsGeneralMapping">
<#Include Label="IsConstantTimeAccessGeneralMapping">
<#Include Label="IsEndoGeneralMapping">

</Section>


<!-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -->
<Section Label="Technical Matters Concerning General Mappings">
<Heading>Technical Matters Concerning General Mappings</Heading>

<#Include Label="[2]{mapping}">
<P/>
<#Include Label="[4]{mapping}">
<#Include Label="IsSPGeneralMapping">
<#Include Label="IsGeneralMappingFamily">
<#Include Label="FamilyRange">
<#Include Label="FamilySource">
<#Include Label="FamiliesOfGeneralMappingsAndRanges">
<#Include Label="GeneralMappingsFamily">
<#Include Label="TypeOfDefaultGeneralMapping">

</Section>
</Chapter>


<!-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -->
<!-- %% -->
<!-- %E -->