CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutSign UpSign In

Real-time collaboration for Jupyter Notebooks, Linux Terminals, LaTeX, VS Code, R IDE, and more,
all in one place.

| Download

GAP 4.8.9 installation with standard packages -- copy to your CoCalc project to get it

Views: 418346
1
<!-- ------------------------------------------------------------------- -->
2
<!-- -->
3
<!-- gp2up.xml XMod documentation Chris Wensley -->
4
<!-- & Murat Alp -->
5
<!-- Copyright (C) 2001-2017, Chris Wensley et al, -->
6
<!-- School of Computer Science, Bangor University, U.K. -->
7
<!-- -->
8
<!-- ------------------------------------------------------------------- -->
9
10
<?xml version="1.0" encoding="UTF-8"?>
11
12
<Chapter Label="chap-gp2up">
13
<Heading>Derivations and Sections</Heading>
14
<Index>up 2d-mapping of 2d-group</Index>
15
16
<Section Label="sect-whitehead-mult">
17
<Heading>Whitehead Multiplication</Heading>
18
<Index>Whitehead multiplication</Index>
19
20
<ManSection>
21
<Prop Name="IsDerivation"
22
Arg="map" />
23
<Prop Name="IsSection"
24
Arg="map" />
25
<Prop Name="IsUp2DimensionalMapping"
26
Arg="map" />
27
<Description>
28
<Index>derivation, of crossed module</Index>
29
<Index>Whitehead monoid</Index>
30
The Whitehead monoid <M>{\rm Der}(\mathcal{X})</M> of <M>\mathcal{X}</M>
31
was defined in <Cite Key="W2" /> to be the monoid of all <E>derivations</E>
32
from <M>R</M> to <M>S</M>, that is the set of all maps
33
<M>\chi : R \to S</M>, with <E>Whitehead multiplication</E>
34
<M>\star</M> (on the <E>right</E>) satisfying:
35
<Display>
36
{\bf Der\ 1}: \chi(qr) ~=~ (\chi q)^{r} \; (\chi r),
37
\qquad
38
{\bf Der\ 2}: (\chi_1 \star \chi_2)(r)
39
~=~ (\chi_2 r)(\chi_1 r)(\chi_2 \partial \chi_1 r).
40
</Display>
41
The zero map is the identity for this composition.
42
<Index>regular derivation</Index>
43
Invertible elements in the monoid are called <E>regular</E>.
44
<Index>Whitehead group</Index>
45
The Whitehead group of <M>\mathcal{X}</M>
46
is the group of regular derivations in <M>{\rm Der}(\mathcal{X} )</M>.
47
In the next chapter the <E>actor</E> of <M>\mathcal{X}</M>
48
is defined as a crossed module whose source and range are permutation
49
representations of the Whitehead group and the automorphism group of
50
<M>\mathcal{X}</M>.
51
<P/>
52
<Index>section, of cat1-group</Index>
53
The construction for cat1-groups equivalent to the derivation of a
54
crossed module is the <E>section</E>.
55
<Index>Whitehead multiplication</Index>
56
The monoid of sections of <M>\mathcal{C} = (e;t,h : G \to R)</M>
57
is the set of group homomorphisms
58
<M>\xi : R \to G</M>, with Whitehead multiplication <M>\star</M>
59
(on the <E>right</E>) satisfying:
60
<Display>
61
{\bf Sect\ 1}: t \circ \xi ~=~ {\rm id}_R,
62
\quad
63
{\bf Sect\ 2}: (\xi_1 \star \xi_2)(r)
64
~=~ (\xi_1 r)(e h \xi_1 r)^{-1}(\xi_2 h \xi_1 r)
65
~=~ (\xi_2 h \xi_1 r)(e h \xi_1 r)^{-1}(\xi_1 r).
66
</Display>
67
The embedding <M>e</M> is the identity for this composition,
68
and <M>h(\xi_1 \star \xi_2) = (h \xi_1)(h \xi_2)</M>.
69
A section is <E>regular</E> when <M>h \xi</M> is an automorphism, and
70
the group of regular sections is isomorphic to the Whitehead group.
71
<P/>
72
If <M>\epsilon</M> denotes the inclusion of
73
<M>S = {\rm ker} t</M> in <M>G</M>
74
then <M>\partial = h \epsilon : S \to R</M> and
75
<Display>
76
\xi r ~=~ (e r)(e \chi r),
77
\quad\mbox{which equals}\quad
78
(r, \chi r) ~\in~ R \ltimes S,
79
</Display>
80
determines a section <M>\xi</M> of <M>\mathcal{C}</M>
81
in terms of the corresponding derivation <M>\chi</M> of
82
<M>\mathcal{X}</M>, and conversely.
83
</Description>
84
</ManSection>
85
86
87
<ManSection>
88
<Oper Name="DerivationByImages"
89
Arg="X0 ims" />
90
<Description>
91
Derivations are stored like group homomorphisms by specifying the images
92
of a generating set.
93
Images of the remaining elements may then be obtained using axiom
94
<M>{\bf Der\ 1}</M>.
95
The function <C>IsDerivation</C> is automatically called to
96
check that this procedure is well-defined.
97
<P/>
98
In the following example a cat1-group <C>C3</C> and the associated
99
crossed module <C>X3</C> are constructed,
100
where <C>X3</C> is isomorphic to the inclusion of the normal
101
cyclic group <C>c3</C> in the symmetric group <C>s3</C>.
102
</Description>
103
</ManSection>
104
<P/>
105
<Example>
106
<![CDATA[
107
gap> g18 := Group( (1,2,3), (4,5,6), (2,3)(5,6) );;
108
gap> SetName( g18, "g18" );
109
gap> gen18 := GeneratorsOfGroup( g18 );;
110
gap> g1 := gen18[1];; g2 := gen18[2];; g3 := gen18[3];;
111
gap> s3 := Subgroup( g18, gen18{[2..3]} );;
112
gap> SetName( s3, "s3" );;
113
gap> t := GroupHomomorphismByImages( g18, s3, gen18, [g2,g2,g3] );;
114
gap> h := GroupHomomorphismByImages( g18, s3, gen18, [(),g2,g3] );;
115
gap> e := GroupHomomorphismByImages( s3, g18, [g2,g3], [g2,g3] );;
116
gap> C3 := Cat1( t, h, e );
117
[g18=>s3]
118
gap> SetName( Kernel(t), "c3" );;
119
gap> X3 := XModOfCat1( C3 );;
120
gap> Display( X3 );
121
Crossed module [c3->s3] :-
122
: Source group has generators:
123
[ (1,2,3)(4,6,5) ]
124
: Range group has generators:
125
[ (4,5,6), (2,3)(5,6) ]
126
: Boundary homomorphism maps source generators to:
127
[ (4,6,5) ]
128
: Action homomorphism maps range generators to automorphisms:
129
(4,5,6) --> { source gens --> [ (1,2,3)(4,6,5) ] }
130
(2,3)(5,6) --> { source gens --> [ (1,3,2)(4,5,6) ] }
131
These 2 automorphisms generate the group of automorphisms.
132
: associated cat1-group is [g18=>s3]
133
134
gap> imchi := [ (1,2,3)(4,6,5), (1,2,3)(4,6,5) ];;
135
gap> chi := DerivationByImages( X3, imchi );
136
DerivationByImages( s3, c3, [ (4,5,6), (2,3)(5,6) ],
137
[ (1,2,3)(4,6,5), (1,2,3)(4,6,5) ] )
138
]]>
139
</Example>
140
141
<ManSection>
142
<Oper Name="SectionByImages"
143
Arg="C ims" />
144
<Oper Name="SectionByDerivation"
145
Arg="chi" />
146
<Oper Name="DerivationBySection"
147
Arg="xi" />
148
<Description>
149
Sections <E>are</E> group homomorphisms,
150
so do not need a special representation.
151
Operations <C>SectionByDerivation</C> and <C>DerivationBySection</C>
152
convert derivations to sections, and vice-versa,
153
calling <C>Cat1OfXMod</C> and <C>XModOfCat1</C> automatically.
154
<P/>
155
Two strategies for calculating derivations and sections are implemented,
156
see <Cite Key="AW1" />.
157
The default method for <C>AllDerivations</C> is to search for all possible
158
sets of images using a backtracking procedure, and when all the derivations
159
are found it is not known which are regular.
160
In early versions of this package, the default method for
161
<C>AllSections( &lt;C&gt; )</C> was to compute all endomorphisms
162
on the range group <C>R</C> of <C>C</C> as possibilities
163
for the composite <M>h \xi</M>.
164
A backtrack method then found possible images for such a section.
165
In the current version the derivations of the associated crossed module
166
are calculated, and these are all converted to sections
167
using <C>SectionByDerivation</C>.
168
</Description>
169
</ManSection>
170
<P/>
171
<Example>
172
<![CDATA[
173
gap> xi := SectionByDerivation( chi );
174
SectionByImages( s3, g18, [ (4,5,6), (2,3)(5,6) ], [ (1,2,3), (1,2)(4,6) ] )
175
]]>
176
</Example>
177
</Section>
178
179
180
181
<Section><Heading>Whitehead Groups and Monoids</Heading>
182
183
<ManSection>
184
<Attr Name="RegularDerivations"
185
Arg="X0" />
186
<Attr Name="AllDerivations"
187
Arg="X0" />
188
<Attr Name="RegularSections"
189
Arg="C0" />
190
<Attr Name="AllSections"
191
Arg="C0" />
192
<Attr Name="ImagesList"
193
Arg="obj" />
194
<Attr Name="ImagesTable"
195
Arg="obj" />
196
<Description>
197
There are two functions to determine the elements of the Whitehead group
198
and the Whitehead monoid of a crossed module,
199
namely <C>RegularDerivations</C> and <C>AllDerivations</C>.
200
(The functions <C>RegularSections</C> and <C>AllSections</C>
201
perform corresponding tasks for a cat1-group.)
202
<P/>
203
Using our example <C>X3</C>
204
we find that there are just nine derivations.
205
(In fact, six of them regular, as we shall see in the next section.
206
The associated group is isomorphic to the symmetric group <C>s3</C>.)
207
</Description>
208
</ManSection>
209
<P/>
210
<Example>
211
<![CDATA[
212
gap> all3 := AllDerivations( X3 );;
213
gap> imall3 := ImagesList( all3 );;
214
gap> PrintListOneItemPerLine( imall3 );
215
[ [ (), () ],
216
[ (), (1,3,2)(4,5,6) ],
217
[ (), (1,2,3)(4,6,5) ],
218
[ (1,3,2)(4,5,6), () ],
219
[ (1,3,2)(4,5,6), (1,3,2)(4,5,6) ],
220
[ (1,3,2)(4,5,6), (1,2,3)(4,6,5) ],
221
[ (1,2,3)(4,6,5), () ],
222
[ (1,2,3)(4,6,5), (1,3,2)(4,5,6) ],
223
[ (1,2,3)(4,6,5), (1,2,3)(4,6,5) ]
224
]
225
gap> KnownAttributesOfObject( all3 );
226
[ "Object2d", "ImagesList", "AllOrRegular", "ImagesTable" ]
227
gap> PrintListOneItemPerLine( ImagesTable( all3 ) );
228
[ [ 1, 1, 1, 1, 1, 1 ],
229
[ 1, 1, 1, 3, 3, 3 ],
230
[ 1, 1, 1, 2, 2, 2 ],
231
[ 1, 3, 2, 1, 3, 2 ],
232
[ 1, 3, 2, 3, 2, 1 ],
233
[ 1, 3, 2, 2, 1, 3 ],
234
[ 1, 2, 3, 1, 2, 3 ],
235
[ 1, 2, 3, 3, 1, 2 ],
236
[ 1, 2, 3, 2, 3, 1 ]
237
]
238
]]>
239
</Example>
240
241
242
<ManSection>
243
<Oper Name="CompositeDerivation"
244
Arg="chi1 chi2" />
245
<Attr Name="UpImagePositions"
246
Arg="chi" />
247
<Attr Name="UpGeneratorImages"
248
Arg="chi" />
249
<Oper Name="CompositeSection"
250
Arg="xi1 xi2" />
251
<Description>
252
The Whitehead product <M>\chi_1 \star \chi_2</M> is implemented as
253
<C>CompositeDerivation(&lt;chi1&gt;,&lt;chi2&gt;)</C>.
254
The composite of two sections is just the composite of homomorphisms.
255
</Description>
256
</ManSection>
257
<P/>
258
<Example>
259
<![CDATA[
260
gap> reg3 := RegularDerivations( X3 );;
261
gap> imder3 := ImagesList( reg3 );; Length( imder3 );
262
6
263
gap> chi4 := DerivationByImages( X3, imder3[4] );
264
DerivationByImages( s3, c3, [ (4,5,6), (2,3)(5,6) ], [ (1,3,2)(4,5,6), () ] )
265
gap> chi5 := DerivationByImages( X3, imder3[5] );
266
DerivationByImages( s3, c3, [ (4,5,6), (2,3)(5,6) ],
267
[ (1,3,2)(4,5,6), (1,3,2)(4,5,6) ] )
268
gap> im4 := UpImagePositions( chi4 );
269
[ 1, 3, 2, 1, 3, 2 ]
270
gap> im5 := UpImagePositions( chi5 );
271
[ 1, 3, 2, 3, 2, 1 ]
272
gap> chi45 := chi4 * chi5;
273
DerivationByImages( s3, c3, [ (4,5,6), (2,3)(5,6) ], [ (), (1,3,2)(4,5,6) ] )
274
gap> im45 := UpImagePositions( chi45 );
275
[ 1, 1, 1, 3, 3, 3 ]
276
gap> Position( imder3, UpGeneratorImages( chi45 ) );
277
2
278
]]>
279
</Example>
280
281
<ManSection>
282
<Attr Name="WhiteheadGroupTable"
283
Arg="X0" />
284
<Attr Name="WhiteheadMonoidTable"
285
Arg="X0" />
286
<Attr Name="WhiteheadPermGroup"
287
Arg="X0" />
288
<Attr Name="WhiteheadTransMonoid"
289
Arg="X0" />
290
<Description>
291
Multiplication tables for the Whitehead group or monoid
292
enable the construction of permutation or transformation representations.
293
</Description>
294
</ManSection>
295
<P/>
296
<Example>
297
<![CDATA[
298
gap> wgt3 := WhiteheadGroupTable( X3 );;
299
gap> PrintListOneItemPerLine( wgt3 );
300
[ [ 1, 2, 3, 4, 5, 6 ],
301
[ 2, 3, 1, 5, 6, 4 ],
302
[ 3, 1, 2, 6, 4, 5 ],
303
[ 4, 6, 5, 1, 3, 2 ],
304
[ 5, 4, 6, 2, 1, 3 ],
305
[ 6, 5, 4, 3, 2, 1 ]
306
]
307
gap> wpg3 := WhiteheadPermGroup( X3 );
308
Group([ (1,2,3)(4,5,6), (1,4)(2,6)(3,5) ])
309
gap> wmt3 := WhiteheadMonoidTable( X3 );;
310
gap> PrintListOneItemPerLine( wmt3 );
311
[ [ 1, 2, 3, 4, 5, 6, 7, 8, 9 ],
312
[ 2, 3, 1, 5, 6, 4, 8, 9, 7 ],
313
[ 3, 1, 2, 6, 4, 5, 9, 7, 8 ],
314
[ 4, 6, 5, 1, 3, 2, 7, 9, 8 ],
315
[ 5, 4, 6, 2, 1, 3, 8, 7, 9 ],
316
[ 6, 5, 4, 3, 2, 1, 9, 8, 7 ],
317
[ 7, 7, 7, 7, 7, 7, 7, 7, 7 ],
318
[ 8, 8, 8, 8, 8, 8, 8, 8, 8 ],
319
[ 9, 9, 9, 9, 9, 9, 9, 9, 9 ]
320
]
321
gap> wtm3 := WhiteheadTransMonoid( X3 );
322
<transformation monoid on 9 pts with 3 generators>
323
gap> GeneratorsOfMonoid( wtm3 );
324
[ Transformation( [ 2, 3, 1, 5, 6, 4, 8, 9, 7 ] ),
325
Transformation( [ 4, 6, 5, 1, 3, 2, 7, 9, 8 ] ),
326
Transformation( [ 7, 7, 7, 7, 7, 7, 7, 7, 7 ] ) ]
327
]]>
328
</Example>
329
330
</Section>
331
332
</Chapter>
333
334