File: mapping.msk

package info (click to toggle)
gap 4r4p12-2
  • links: PTS
  • area: main
  • in suites: squeeze, wheezy
  • size: 29,584 kB
  • ctags: 7,113
  • sloc: ansic: 98,786; sh: 3,299; perl: 2,263; makefile: 498; asm: 63; awk: 6
file content (202 lines) | stat: -rw-r--r-- 6,432 bytes parent folder | download | duplicates (2)
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
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%
%A  mapping.msk                  GAP documentation              Thomas Breuer
%%
%A  @(#)$Id: mapping.msk,v 1.20 2002/04/15 10:02:30 sal Exp $
%%
%Y  (C) 1998 School Math and Comp. Sci., University of St.  Andrews, Scotland
%Y  Copyright (C) 2002 The GAP Group
%%
\Chapter{Mappings}

\index{functions}
\index{relations}
A *mapping* in {\GAP} is what is called a ``function'' in mathematics.
{\GAP} also implements *generalized mappings* in which one element might
have several images, these can be imagined as subsets of the cartesian
product and are often called ``relations''.

Most operations are declared for general mappings and therefore this manual
often  refers to ``(general) mappings'', unless you deliberately need the
generalization you can ignore the ``general'' bit and just read
it as ``mappings''.

\FileHeader{mapping}[1]

For mappings which preserve an algebraic structure a *kernel* is defined.
Depending on the structure preserved the operation to compute this kernel is
called differently, see section~"Mappings which are Compatible with Algebraic
Structures".

Some technical details of general mappings are described in section~"General
Mappings".

\Declaration{IsTuple}

%%  The general support for mappings is due to Thomas Breuer.

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\Section{Creating Mappings}

\Declaration{GeneralMappingByElements}
\Declaration{MappingByFunction}

\Declaration{InverseGeneralMapping}

\Declaration{CompositionMapping}
\Declaration{CompositionMapping2}
\Declaration{IsCompositionMappingRep}
\Declaration{ConstituentsCompositionMapping}

\Declaration{ZeroMapping}
\Declaration{IdentityMapping}
\Declaration{Embedding}
\Declaration{Projection}

\Declaration{RestrictedMapping}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\Section{Properties and Attributes of (General) Mappings}

\Declaration{IsTotal}
\Declaration{IsSingleValued}
\Declaration{IsMapping}
\Declaration{IsInjective}
\Declaration{IsSurjective}
\Declaration{IsBijective}

\Declaration{Range}
\Declaration{Source}
\Declaration{UnderlyingRelation}
\Declaration{UnderlyingGeneralMapping}


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\Section{Images under Mappings}

\Declaration{ImagesSource}
\Declaration{ImagesRepresentative}
\Declaration{ImagesElm}
\Declaration{ImagesSet}
\Declaration{ImageElm}
\Declaration{Image}
\Declaration{Images}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\Section{Preimages under Mappings}

\Declaration{PreImagesRange}
\Declaration{PreImagesElm}
\Declaration{PreImageElm}
\Declaration{PreImagesRepresentative}
\Declaration{PreImagesSet}
\Declaration{PreImage}
\Declaration{PreImages}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\Section{Arithmetic Operations for General Mappings}

\FileHeader{mapping}[3]

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\Section{Mappings which are Compatible with Algebraic Structures}

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:

1. General mappings that respect multiplication

2. General mappings that respect addition

3. General mappings that respect scalar mult.

4. General mappings that respect multiplicative and additive structure

(Very technical note: GAP defines categories `IsSPGeneralMapping' and
`IsNonSPGeneralMapping'. The distinction between these is orthogonal to the
Structure Compatibility described here and should not be confused.)

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\Section{Magma Homomorphisms}

\Declaration{IsMagmaHomomorphism}
\Declaration{MagmaHomomorphismByFunctionNC}
\Declaration{NaturalHomomorphismByGenerators}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\Section{Mappings that Respect Multiplication}

\Declaration{RespectsMultiplication}
\Declaration{RespectsOne}
\Declaration{RespectsInverses}
Mappings that are defined on a group and respect multiplication and inverses
are group homomorphisms. Chapter~"Group Homomorphisms" explains them in more
detail.

\Declaration{IsGroupGeneralMapping}

\Declaration{KernelOfMultiplicativeGeneralMapping}
\Declaration{CoKernelOfMultiplicativeGeneralMapping}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\Section{Mappings that Respect Addition}

\Declaration{RespectsAddition}
\Declaration{RespectsAdditiveInverses}
\Declaration{RespectsZero}
\Declaration{IsAdditiveGroupGeneralMapping}
\Declaration{KernelOfAdditiveGeneralMapping}
\Declaration{CoKernelOfAdditiveGeneralMapping}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\Section{Linear Mappings}

Also see Sections~"Mappings that Respect Multiplication" and~"Mappings that
Respect Addition".

\Declaration{RespectsScalarMultiplication}
\Declaration{IsLeftModuleGeneralMapping}
\Declaration{IsLinearMapping}

See also `KernelOfMultiplicativeGeneralMapping'
("KernelOfMultiplicativeGeneralMapping") and
`CoKernelOfMultiplicativeGeneralMapping'
("CoKernelOfMultiplicativeGeneralMapping").

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\Section{Ring Homomorphisms}

\Declaration{IsRingGeneralMapping}
\Declaration{IsRingWithOneGeneralMapping}
\Declaration{IsAlgebraGeneralMapping}
\Declaration{IsAlgebraWithOneGeneralMapping}
\Declaration{IsFieldHomomorphism}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\Section{General Mappings}

\Declaration{IsGeneralMapping}
\Declaration{IsConstantTimeAccessGeneralMapping}
\Declaration{IsEndoGeneralMapping}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\Section{Technical Matters Concerning General Mappings}

\FileHeader{mapping}[2]

\Declaration{IsSPGeneralMapping}

\Declaration{IsGeneralMappingFamily}
\Declaration{FamilyRange}
\Declaration{FamilySource}
\Declaration{FamiliesOfGeneralMappingsAndRanges}
\Declaration{GeneralMappingsFamily}
\Declaration{TypeOfDefaultGeneralMapping}

\FileHeader{mapping}[4]

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%
%E