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 2d-mappings
3
4
5
3.1 Morphisms of 2-dimensional groups
6
7
This chapter describes morphisms of (pre-)crossed modules and
8
(pre-)cat1-groups.
9
10
3.1-1 Source
11
12
Source( map )  attribute
13
Range( map )  attribute
14
SourceHom( map )  attribute
15
RangeHom( map )  attribute
16
17
Morphisms of 2-dimensional groups are implemented as 2-dimensional mappings.
18
These have a pair of 2-dimensional groups as source and range, together with
19
two group homomorphisms mapping between corresponding source and range
20
groups. These functions return fail when invalid data is supplied.
21
22
23
3.2 Morphisms of pre-crossed modules
24
25
3.2-1 IsXModMorphism
26
27
IsXModMorphism( map )  property
28
IsPreXModMorphism( map )  property
29
30
A morphism between two pre-crossed modules mathcalX_1 = (∂_1 : S_1 -> R_1)
31
and mathcalX_2 = (∂_2 : S_2 -> R_2) is a pair (σ, ρ), where σ : S_1 -> S_2
32
and ρ : R_1 -> R_2 commute with the two boundary maps and are morphisms for
33
the two actions:
34
35
36
\partial_2 \circ \sigma ~=~ \rho \circ \partial_1, \qquad \sigma(s^r) ~=~
37
(\sigma s)^{\rho r}.
38
39

40
41
Here is a diagram of the situation.
42
43
44
\vcenter{\xymatrix{ S_1 \ar[rr]^{\sigma} \ar[dd]_{\partial_1} && S_2
45
\ar[dd]^{\partial_2} \\ && \\ R_1 \ar[rr]_{\rho} && R_2 }}
46
47

48
49
Here σ is the SourceHom and ρ is the RangeHom of the morphism. When
50
mathcalX_1 = mathcalX_2 and σ, ρ are automorphisms then (σ, ρ) is an
51
automorphism of mathcalX_1. The group of automorphisms is denoted by
52
Aut(mathcalX_1 ).
53
54
3.2-2 IsInjective
55
56
IsInjective( map )  property
57
IsSurjective( map )  property
58
IsSingleValued( map )  property
59
IsTotal( map )  property
60
IsBijective( map )  property
61
IsEndo2DimensionalMapping( map )  property
62
63
The usual properties of mappings are easily checked. It is usually
64
sufficient to verify that both the SourceHom and the RangeHom have the
65
required property.
66
67
3.2-3 XModMorphism
68
69
XModMorphism( args )  function
70
XModMorphismByHoms( X1, X2, sigma, rho )  operation
71
PreXModMorphism( args )  function
72
PreXModMorphismByHoms( P1, P2, sigma, rho )  operation
73
InclusionMorphism2DimensionalDomains( X1, S1 )  operation
74
InnerAutomorphismXMod( X1, r )  operation
75
IdentityMapping( X1 )  attribute
76
77
These are the constructors for morphisms of pre-crossed and crossed modules.
78
79
In the following example we construct a simple automorphism of the crossed
80
module X1 constructed in the previous chapter.
81
82
 Example 
83

84
gap> sigma1 := GroupHomomorphismByImages( c5, c5, [ (5,6,7,8,9) ]
85
 [ (5,9,8,7,6) ] );;
86
gap> rho1 := IdentityMapping( Range( X1 ) );
87
IdentityMapping( PAut(c5) )
88
gap> mor1 := XModMorphism( X1, X1, sigma1, rho1 );
89
[[c5->PAut(c5))] => [c5->PAut(c5))]] 
90
gap> Display( mor1 );
91
Morphism of crossed modules :-
92
: Source = [c5->PAut(c5))] with generating sets:
93
 [ (5,6,7,8,9) ]
94
 [ (1,2,3,4) ]
95
: Range = Source
96
: Source Homomorphism maps source generators to:
97
 [ (5,9,8,7,6) ]
98
: Range Homomorphism maps range generators to:
99
 [ (1,2,3,4) ]
100
gap> IsAutomorphism2DimensionalDomain( mor1 );
101
true 
102
gap> Order( mor1 );
103
2
104
gap> RepresentationsOfObject( mor1 );
105
[ "IsComponentObjectRep", "IsAttributeStoringRep", "Is2DimensionalMappingRep" ]
106
gap> KnownPropertiesOfObject( mor1 );
107
[ "CanEasilyCompareElements", "CanEasilySortElements", "IsTotal", 
108
 "IsSingleValued", "IsInjective", "IsSurjective", "RespectsMultiplication", 
109
 "IsPreXModMorphism", "IsXModMorphism", "IsEndomorphism2DimensionalDomain", 
110
 "IsAutomorphism2DimensionalDomain" ]
111
gap> KnownAttributesOfObject( mor1 );
112
[ "Name", "Order", "Range", "Source", "SourceHom", "RangeHom" ]
113

114

115
116
3.2-4 IsomorphismPerm2DimensionalGroup
117
118
IsomorphismPerm2DimensionalGroup( obj )  attribute
119
IsomorphismPc2DimensionalGroup( obj )  attribute
120
IsomorphismByIsomorphisms( D, list )  operation
121
122
When mathcal D is a 2-dimensional domain with source S and range R and σ : S
123
-> S',~ ρ : R -> R' are isomorphisms, then
124
IsomorphismByIsomorphisms(D,[sigma,rho]) returns an isomorphism (σ,ρ) :
125
mathcal D -> mathcal D' where mathcal D' has source S' and range R'. Be sure
126
to test IsBijective for the two functions σ,ρ before applying this
127
operation.
128
129
Using IsomorphismByIsomorphisms with a pair of isomorphisms obtained using
130
IsomorphismPermGroup or IsomorphismPcGroup, we may construct a crossed
131
module or a cat1-group of permutation groups or pc-groups.
132
133
 Example 
134

135
gap> q8 := SmallGroup(8,4);; ## quaternion group 
136
gap> Xq8 := XModByAutomorphismGroup( q8 );
137
[Group( [ f1, f2, f3 ] )->Group( [ f1, f2, f3, f4 ] )]
138
gap> iso := IsomorphismPerm2DimensionalGroup( Xq8 );;
139
gap> Yq8 := Image( iso );
140
[Group( [ (1,2,4,6)(3,8,7,5), (1,3,4,7)(2,5,6,8), (1,4)(2,6)(3,7)(5,8) 
141
 ] )->Group( [ (2,6,5,4), (1,2,4)(3,5,6), (2,5)(4,6), (1,3)(2,5) ] )]
142
gap> s4 := SymmetricGroup(4);; 
143
gap> isos4 := IsomorphismGroups( Range(Yq8), s4 );;
144
gap> id := IdentityMapping( Source( Yq8 ) );; 
145
gap> IsBijective( id );; IsBijective( isos4 );;
146
gap> mor := IsomorphismByIsomorphisms( Yq8, [id,isos4] );;
147
gap> Zq8 := Image( mor );
148
[Group( [ (1,2,4,6)(3,8,7,5), (1,3,4,7)(2,5,6,8), (1,4)(2,6)(3,7)(5,8) 
149
 ] )->SymmetricGroup( [ 1 .. 4 ] )]
150

151

152
153
154
3.3 Morphisms of pre-cat1-groups
155
156
A morphism of pre-cat1-groups from mathcalC_1 = (e_1;t_1,h_1 : G_1 -> R_1)
157
to mathcalC_2 = (e_2;t_2,h_2 : G_2 -> R_2) is a pair (γ, ρ) where γ : G_1 ->
158
G_2 and ρ : R_1 -> R_2 are homomorphisms satisfying
159
160
161
h_2 \circ \gamma ~=~ \rho \circ h_1, \qquad t_2 \circ \gamma ~=~ \rho \circ
162
t_1, \qquad e_2 \circ \rho ~=~ \gamma \circ e_1.
163
164

165
166
3.3-1 IsCat1Morphism
167
168
IsCat1Morphism( map )  property
169
IsPreCat1Morphism( map )  property
170
Cat1Morphism( args )  function
171
Cat1MorphismByHoms( C1, C2, gamma, rho )  operation
172
PreCat1Morphism( args )  function
173
PreCat1MorphismByHoms( P1, P2, gamma, rho )  operation
174
InclusionMorphism2DimensionalDomains( C1, S1 )  operation
175
InnerAutomorphismCat1( C1, r )  operation
176
IdentityMapping( C1 )  attribute
177
178
For an example we form a second cat1-group C2=[g18=>s3a], similar to C1 in
179
2.4-1, then construct an isomorphism (γ,ρ) between them.
180
181
 Example 
182

183
gap> t2 := GroupHomomorphismByImages(g18,s3a,g18gens,[(),(7,8,9),(8,9)]);; 
184
gap> e2 := GroupHomomorphismByImages(s3a,g18,s3agens,[(4,5,6),(2,3)(5,6)]);; 
185
gap> C2 := Cat1Group( t2, h1, e2 );; 
186
gap> imgamma := [ (4,5,6), (1,2,3), (2,3)(5,6) ];; 
187
gap> gamma := GroupHomomorphismByImages( g18, g18, g18gens, imgamma );;
188
gap> rho := IdentityMapping( s3a );; 
189
gap> mor := Cat1Morphism( C1, C2, gamma, rho );;
190
gap> Display( mor );;
191
Morphism of cat1-groups :- 
192
: Source = [g18=>s3a] with generating sets:
193
 [ (1,2,3), (4,5,6), (2,3)(5,6) ]
194
 [ (7,8,9), (8,9) ]
195
: Range = [g18=>s3a] with generating sets:
196
 [ (1,2,3), (4,5,6), (2,3)(5,6) ]
197
 [ (7,8,9), (8,9) ]
198
: Source Homomorphism maps source generators to:
199
 [ (4,5,6), (1,2,3), (2,3)(5,6) ]
200
: Range Homomorphism maps range generators to:
201
 [ (7,8,9), (8,9) ]
202

203

204
205
3.3-2 IsomorphismPermObject
206
207
IsomorphismPermObject( obj )  function
208
IsomorphismPerm2DimensionalGroup( 2DimensionalGroup )  attribute
209
IsomorphismFp2DimensionalGroup( 2DimensionalGroup )  attribute
210
IsomorphismPc2DimensionalGroup( 2DimensionalGroup )  attribute
211
SmallerDegreePerm2DimensionalDomain( 2DimensionalDomain )  function
212
213
The global function IsomorphismPermObject calls
214
IsomorphismPerm2DimensionalGroup, which constructs a morphism whose
215
SourceHom and RangeHom are calculated using IsomorphismPermGroup on the
216
source and range. Similarly SmallerDegreePermutationRepresentation may be
217
used on the two groups to obtain SmallerDegreePerm2DimensionalDomain. Names
218
are assigned automatically.
219
220
 Example 
221

222
gap> iso2 := IsomorphismPerm2DimensionalGroup( C2 );
223
[[G2=>d12] => [..]]
224
gap> Display( iso2 );
225
Morphism of cat1-groups :- 
226
: Source = [G2=>d12] with generating sets:
227
 [ f1, f2, f3, f4, f5, f6, f7 ]
228
 [ f1, f2, f3 ]
229
: Range = P[G2=>d12] with generating sets:
230
 [ ( 6,12)( 8,15)( 9,16)(11,19)(13,26)(14,22)(17,27)(18,25)(20,21)(23,24), 
231
 ( 2, 3)( 5,10)( 9,16)(11,18)(17,23)(19,25)(24,27), 
232
 ( 4, 5, 7,10)( 6, 9,12,16)( 8,11,14,18)(13,17,20,23)(15,19,22,25)
233
 (21,24,26,27), ( 4, 6, 7,12)( 5, 9,10,16)( 8,13,14,20)(11,17,18,23)
234
 (15,21,22,26)(19,24,25,27), ( 4, 7)( 5,10)( 6,12)( 8,14)( 9,16)(11,18)
235
 (13,20)(15,22)(17,23)(19,25)(21,26)(24,27), ( 1, 2, 3), 
236
 ( 4, 8,15)( 5,11,19)( 6,13,21)( 7,14,22)( 9,17,24)(10,18,25)(12,20,26)
237
 (16,23,27) ]
238
 [ (2,6)(3,5), (1,2,3,4,5,6), (1,3,5)(2,4,6) ]
239
: Source Homomorphism maps source generators to:
240
 [ ( 6,12)( 8,15)( 9,16)(11,19)(13,26)(14,22)(17,27)(18,25)(20,21)(23,24), 
241
 ( 2, 3)( 5,10)( 9,16)(11,18)(17,23)(19,25)(24,27), 
242
 ( 4, 5, 7,10)( 6, 9,12,16)( 8,11,14,18)(13,17,20,23)(15,19,22,25)
243
 (21,24,26,27), ( 4, 6, 7,12)( 5, 9,10,16)( 8,13,14,20)(11,17,18,23)
244
 (15,21,22,26)(19,24,25,27), ( 4, 7)( 5,10)( 6,12)( 8,14)( 9,16)(11,18)
245
 (13,20)(15,22)(17,23)(19,25)(21,26)(24,27), ( 1, 2, 3), 
246
 ( 4, 8,15)( 5,11,19)( 6,13,21)( 7,14,22)( 9,17,24)(10,18,25)(12,20,26)
247
 (16,23,27) ]
248
: Range Homomorphism maps range generators to:
249
 [ (2,6)(3,5), (1,2,3,4,5,6), (1,3,5)(2,4,6) ]
250

251

252
253
254
3.4 Operations on morphisms
255
256
3.4-1 CompositionMorphism
257
258
CompositionMorphism( map2, map1 )  operation
259
260
Composition of morphisms (written (<map1> * <map2>) when maps act on the
261
right) calls the CompositionMorphism function for maps (acting on the left),
262
applied to the appropriate type of 2d-mapping.
263
264
 Example 
265

266
gap> H2 := Subgroup(G2,[G2.3,G2.4,G2.6,G2.7]); SetName( H2, "H2" );
267
Group([ f3, f4, f6, f7 ])
268
gap> c6 := Subgroup( d12, [b,c] ); SetName( c6, "c6" );
269
Group([ f2, f3 ])
270
gap> SC2 := Sub2DimensionalGroup( C2, H2, c6 );
271
[H2=>c6]
272
gap> IsCat1Group( SC2 );
273
true
274
gap> inc2 := InclusionMorphism2DimensionalDomains( C2, SC2 );
275
[[H2=>c6] => [G2=>d12]]
276
gap> CompositionMorphism( iso2, inc ); 
277
[[H2=>c6] => P[G2=>d12]]
278

279

280
281
3.4-2 Kernel
282
283
Kernel( map )  operation
284
Kernel2DimensionalMapping( map )  attribute
285
286
The kernel of a morphism of crossed modules is a normal subcrossed module
287
whose groups are the kernels of the source and target homomorphisms. The
288
inclusion of the kernel is a standard example of a crossed square, but these
289
have not yet been implemented.
290
291
 Example 
292

293
gap> c2 := Group( (19,20) ); 
294
Group([ (19,20) ])
295
gap> X0 := XModByNormalSubgroup( c2, c2 ); SetName( X0, "X0" );
296
[Group( [ (19,20) ] )->Group( [ (19,20) ] )]
297
gap>  SX2 := Source( X2 );;
298
gap> genSX2 := GeneratorsOfGroup( SX2 ); 
299
[ f1, f4, f5, f7 ]
300
gap> sigma0 := GroupHomomorphismByImages(SX2,c2,genSX2,[(19,20),(),(),()]);
301
[ f1, f4, f5, f7 ] -> [ (19,20), (), (), () ]
302
gap> rho0 := GroupHomomorphismByImages(d12,c2,[a1,a2,a3],[(19,20),(),()]);
303
[ f1, f2, f3 ] -> [ (19,20), (), () ]
304
gap> mor0 := XModMorphism( X2, X0, sigma0, rho0 );; 
305
gap> K0 := Kernel( mor0 );;
306
gap> StructureDescription( K0 );
307
[ "C12", "C6" ]
308

309
310
311