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
<Chapter><Heading> Commutative diagrams and abstract categories</Heading>
2
3
<Br/><B>COMMUTATIVE DIAGRAMS</B>
4
<Br/><Br/>
5
6
<Table Align="|l|" >
7
8
9
10
<Row>
11
<Item>
12
<Index> HomomorphismChainToCommutativeDiagram </Index>
13
<C>HomomorphismChainToCommutativeDiagram(H) </C>
14
<P/>
15
16
Inputs a list <M>H=[h_1,h_2,...,h_n]</M> of mappings such that the composite <M>h_1h_2...h_n</M> is defined.
17
It returns the list of composable homomorphism as a commutative diagram.
18
</Item>
19
</Row>
20
21
<Row>
22
<Item>
23
<Index> NormalSeriesToQuotientDiagram </Index>
24
<C>NormalSeriesToQuotientDiagram(L) </C>
25
<C>NormalSeriesToQuotientDiagram(L,M)</C>
26
<P/>
27
28
Inputs an increasing (or decreasing)
29
list <M>L=[L_1,L_2,...,L_n]</M> of normal subgroups of a group <M>G</M> with <M>G=L_n</M>. It returns the chain of quotient homomorphisms <M>G/L_i \rightarrow G/L_{i+1}</M> as a commutative diagram.
30
31
<P/>
32
Optionally a subseries <M>M</M> of <M>L</M> can be entered as a second variable. Then the resulting diagram of quotient groups
33
has two rows of horizontal arrows and one row of vertical arrows.
34
</Item>
35
</Row>
36
37
<Row>
38
<Item>
39
<Index> NerveOfCommutativeDiagram </Index>
40
<C>NerveOfCommutativeDiagram(D) </C>
41
<P/>
42
43
Inputs a commutative diagram <M>D</M> and returns the commutative diagram <M>ND</M> consisting of all possible composites of the arrows in <M>D</M>.
44
</Item>
45
</Row>
46
47
<Row>
48
<Item>
49
<Index> GroupHomologyOfCommutativeDiagram </Index>
50
<C>GroupHomologyOfCommutativeDiagram(D,n) </C>
51
<C>GroupHomologyOfCommutativeDiagram(D,n,prime) </C>
52
<C>GroupHomologyOfCommutativeDiagram(D,n,prime,Resolution_Algorithm) </C>
53
<P/>
54
55
Inputs a commutative diagram <M>D</M> of <M>p</M>-groups and positive integer <M>n</M>. It returns the commutative diagram of vector spaces obtained by applying mod p homology.
56
57
<P/>
58
Non-prime power groups can also be handled if a prime <M>p</M>
59
is entered as the third argument. Integral homology can be obtained by setting <M>p=0</M>. For <M>p=0</M> the result is a diagram of groups.
60
61
<P/> A particular resolution algorithm, such as ResolutionNilpotentGroup, can be entered as a fourth argument. For positive <M>p</M> the default is ResolutionPrimePowerGroup. For <M>p=0</M> the default is ResolutionFiniteGroup.
62
</Item>
63
</Row>
64
65
<Row>
66
<Item>
67
<Index> PersistentHomologyOfCommutativeDiagramOfPGroups </Index>
68
<C>PersistentHomologyOfCommutativeDiagramOfPGroups(D,n) </C>
69
<P/>
70
71
Inputs a commutative diagram <M>D</M> of finite <M>p</M>-groups and a positive integer <M>n</M>. It
72
returns a list containing, for each homomorphism in the nerve of <M>D</M>,
73
a triple <M>[k,l,m]</M> where <M>k</M> is
74
the dimension of the source of the induced mod <M>p</M> homology map in degree <M>n</M>, <M>l</M> is the dimension of the image, and <M>m</M> is
75
the dimension of the cokernel.
76
</Item>
77
</Row>
78
79
</Table>
80
81
82
<B>ABSTRACT CATEGORIES</B>
83
<Br/><Br/>
84
85
<Table Align="|l|" >
86
<Row>
87
<Item>
88
<Index> CategoricalEnrichment </Index>
89
<C>CategoricalEnrichment(X,Name) </C>
90
<P/>
91
Inputs a structure <M>X</M> such as a group or group homomorphism, together with the name of some existing category such as Name:=Category_of_Groups or Category_of_Abelian_Groups. It returns, as appropriate, an object or arrow in the named category.
92
</Item>
93
</Row>
94
95
<Row>
96
<Item>
97
<Index> IdentityArrow </Index>
98
<C>IdentityArrow(X) </C>
99
<P/>
100
Inputs an object <M>X</M> in some category, and returns the identity arrow on the object <M>X</M>.
101
</Item>
102
</Row>
103
104
<Row>
105
<Item>
106
<Index> InitialArrow </Index>
107
<C>InitialArrow(X) </C>
108
<P/>
109
Inputs an object <M>X</M> in some category, and returns the arrow from the initial object in the category to <M>X</M>.
110
</Item>
111
</Row>
112
113
<Row>
114
<Item>
115
<Index> TerminalArrow </Index>
116
<C>TerminalArrow(X) </C>
117
<P/>
118
Inputs an object <M>X</M> in some category, and returns the arrow from <M>X</M> to the terminal object in the category.
119
</Item>
120
</Row>
121
122
<Row>
123
<Item>
124
<Index> HasInitialObject </Index>
125
<C>HasInitialObject(Name) </C>
126
<P/>
127
Inputs the name of a category and returns true or false depending on whether the category has an initial object.
128
</Item>
129
</Row>
130
131
<Row>
132
<Item>
133
<Index> HasTerminalObject </Index>
134
<C>HasTerminalObject(Name) </C>
135
<P/>
136
Inputs the name of a category and returns true or false depending on whether the category has a terminal object.
137
</Item>
138
</Row>
139
140
141
<Row>
142
<Item>
143
<Index> Source </Index>
144
<C>Source(f) </C>
145
<P/>
146
Inputs an arrow <M>f</M> in some category, and returns its source.
147
</Item>
148
</Row>
149
150
<Row>
151
<Item>
152
<Index> Target </Index>
153
<C>Target(f) </C>
154
<P/>
155
Inputs an arrow <M>f</M> in some category, and returns its target. </Item>
156
</Row>
157
158
<Row>
159
<Item>
160
<Index> CategoryName </Index>
161
<C>CategoryName(X) </C>
162
<P/>
163
Inputs an object or arrow <M>X</M> in some category, and returns the name of the category. </Item>
164
</Row>
165
166
167
<Row>
168
<Item>
169
<C>"*", "=", "+", "-" </C>
170
<P/>
171
Composition of suitable arrows <M>f,g</M> is given by
172
<M>f*g</M> when the source of <M>f</M> equals the target of <M>g</M>. (Warning: this differes to the standard GAP convention.)
173
174
<P/>
175
Equality is tested using <M>f=g</M>.
176
177
<P/>In an additive category the sum and difference of suitable
178
arrows is given by <M>f+g</M> and <M>f-g</M>.
179
</Item>
180
</Row>
181
182
183
<Row>
184
<Item>
185
<Index> Object </Index>
186
<C>Object(X) </C>
187
<P/>
188
Inputs an object <M>X</M> in some category, and returns the GAP structure <M>Y</M> such that <M>X=CategoricalEnrichment(Y,CategoryName(X))</M>.
189
</Item>
190
</Row>
191
192
<Row>
193
<Item>
194
<Index> Mapping </Index>
195
<C>Mapping(X) </C>
196
<P/>
197
Inputs an arrow <M>f</M> in some category, and returns the GAP structure <M>Y</M> such that <M>f=CategoricalEnrichment(Y,CategoryName(X))</M>.
198
</Item>
199
</Row>
200
201
202
<Row>
203
<Item>
204
<Index> IsCategoryObject </Index>
205
<C>IsCategoryObject(X) </C>
206
<P/>
207
Inputs <M>X</M> and returns true if <M>X</M> is an object in some category.
208
</Item>
209
</Row>
210
211
<Row>
212
<Item>
213
<Index> IsCategoryArrow </Index>
214
<C>IsCategoryArrow(X) </C>
215
<P/>
216
Inputs <M>X</M> and returns true if <M>X</M> is an arrow in some category.
217
</Item>
218
</Row>
219
220
221
222
223
224
225
</Table>
226
</Chapter>
227
228
229