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
9 Crossed modules of groupoids
3
4
The material documented in this chapter is experimental, and is likely to be
5
changed very soon.
6
7
8
9.1 Constructions for crossed modules of groupoids
9
10
A typical example of a crossed module mathcalX over a groupoid has for its
11
range a connected groupoid. This is a direct product of a group with a
12
complete graph, and we call the vertices of the graph the objects of the
13
crossed module. The source of mathcalX is a groupoid, with the same objects,
14
which is either discrete or connected. The boundary morphism is constant on
15
objects. For details and other references see [AW10].
16
17
9.1-1 SinglePiecePreXModWithObjects
18
19
SinglePiecePreXModWithObjects( pxmod, obs, isdisc )  operation
20
21
At present the experimental operation SinglePiecePreXModWithObjects accepts
22
a precrossed module pxmod, a set of objects obs, and a boolean isdisc which
23
is true when the source groupoid is homogeneous and discrete and false when
24
the source groupoid is connected. Other operations will be added as time
25
permits.
26
27
In the example the crossed module DX4 has discrete source, and is a groupoid
28
equivalent of XModByNormalSubgroup.
29
30
 Example 
31

32
gap> s4 := Group( (1,2,3,4), (3,4) );; 
33
gap> SetName( s4, "s4" );
34
gap> a4 := Subgroup( s4, [ (1,2,3), (2,3,4) ] );;
35
gap> SetName( a4, "a4" );
36
gap> X4 := XModByNormalSubgroup( s4, a4 );; 
37
gap> DX4 := SinglePiecePreXModWithObjects( X4, [-9,-8,-7], false );
38
precrossed module with source groupoid:
39
single piece groupoid: < a4, [ -9, -8, -7 ] >
40
and range groupoid:
41
single piece groupoid: < s4, [ -9, -8, -7 ] >
42
gap> Ga4 := Source( DX4 );; 
43
gap> Gs4 := Range( DX4 );;
44

45

46
47
9.1-2 IsXModWithObjects
48
49
IsXModWithObjects( pxmod )  property
50
IsPreXModWithObjects( pxmod )  property
51
IsDirectProductWithCompleteDigraphDomain( pxmod )  property
52
53
The precrossed module DX4 belongs to the category
54
Is2DimensionalGroupWithObjects and is, of course, a crossed module.
55
56
 Example 
57

58
gap> IsXModWithObjects( DX4 ); 
59
true
60
gap> KnownPropertiesOfObject( DX4 ); 
61
[ "CanEasilyCompareElements", "CanEasilySortElements", "IsDuplicateFree", 
62
 "IsGeneratorsOfSemigroup", "IsSinglePieceDomain", 
63
 "IsDirectProductWithCompleteDigraphDomain", "IsPreXModWithObjects", 
64
 "IsXModWithObjects" ]
65

66

67
68
9.1-3 IsPermPreXModWithObjects
69
70
IsPermPreXModWithObjects( pxmod )  property
71
IsPcPreXModWithObjects( pxmod )  property
72
IsFpPreXModWithObjects( pxmod )  property
73
74
To test these properties we test the precrossed modules from which they were
75
constructed.
76
77
 Example 
78

79
gap> IsPermPreXModWithObjects( DX4 );
80
true
81
gap> IsPcPreXModWithObjects( DX4 ); 
82
false
83
gap> IsFpPreXModWithObjects( DX4 );
84
false
85

86

87
88
9.1-4 Root2dGroup
89
90
Root2dGroup( pxmod )  attribute
91
XModAction( pxmod )  attribute
92
93
The attributes of a precrossed module with objects include the standard
94
Source; Range; Boundary; and XModAction as with precrossed modules of
95
groups. There is also ObjectList, as in the groupoids package. Additionally
96
there is Root2dGroup which is the underlying precrossed module used in the
97
construction.
98
99
Note that XModAction is now a groupoid homomorphism from the source groupoid
100
to a one-object groupoid (with object 0) where the group is the automorphism
101
group of the range groupoid.
102
103
 Example 
104

105
gap> KnownAttributesOfObject(DX4);
106
[ "Range", "Source", "Boundary", "ObjectList", "XModAction", "Root2dGroup" ]
107
gap> Root2dGroup( DX4 ); 
108
[a4->s4]
109
gap> act := XModAction( DX4 );; 
110
gap> r := Arrow( Gs4, (1,2,3,4), -7, -8 );; 
111
gap> ImageElm( act, r ); 
112
[groupoid homomorphism : 
113
[ [ [(1,2,3) : -9 -> -9], [(2,3,4) : -9 -> -9], [() : -9 -> -8], 
114
 [() : -9 -> -7] ], 
115
 [ [(2,3,4) : -9 -> -9], [(1,3,4) : -9 -> -9], [() : -9 -> -7], 
116
 [() : -9 -> -8] ] ] : 0 -> 0]
117
gap> s := Arrow( Ga4, (1,2,4), -8, -8 );;
118
gap> ## calculate s^r 
119
gap> ims := ImageElmXModAction( DX4, s, r );
120
[(1,2,3) : -7 -> -7]
121

122

123
124
There is much more to be done with these constructions.
125
126
127