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> Homology and cohomology groups</Heading>
2
3
<Table Align="|l|" >
4
5
6
<Row>
7
<Item> <Index> Cohomology </Index>
8
<C>Cohomology(X,n) </C>
9
<P/>
10
Inputs either a cochain complex <M>X=C</M> (or G-cocomplex C)
11
or a cochain map <M>X=(C \longrightarrow
12
D)</M> in characteristic <M>p</M> together with a non-negative intereg <M>n</M>.
13
14
15
<List>
16
<Item>If <M>X=C</M> and <M>p=0</M> then the torsion coefficients of <M>H^n(C)</M>
17
are retuned. If <M>X=C</M> and <M>p</M> is prime then the dimension of <M>H^n(C)</M>
18
are retuned. </Item>
19
<Item>If <M>X=(C \longrightarrow
20
D)</M> then the induced homomorphism <M>H^n(C)\longrightarrow
21
H^n(D)</M> is returned as a homomorphism
22
of finitely presented groups. </Item>
23
</List>
24
A <M>G</M>-cocomplex <M>C</M> can also be input. The cohomology groups of such a complex may not be abelian. <B>Warning:</B> in this case Cohomology(C,n) returns the abelian invariants of the <M>n</M>-th cohomology group of <M>C</M>.
25
26
</Item>
27
</Row>
28
29
<Row>
30
<Item> <Index> CohomologyModule </Index>
31
<C>CohomologyModule(C,n) </C>
32
<P/>
33
Inputs a <M>G</M>-cocomplex <M>C</M>
34
together with a non-negative integer <M>n</M>.
35
It returns the cohomology <M>H^n(C)</M> as a <M>G</M>-outer group.
36
If <M>C</M> was constructed from a resolution <M>R</M> by homing to an abelian
37
<M>G</M>-outer group <M>A</M> then, for each x in H:=CohomologyModule(C,n),
38
there is a function f:=H!.representativeCocycle(x) which is a
39
standard n-cocycle corresponding to the cohomology class x. (At present this works only for n=1,2,3.)
40
41
42
</Item>
43
</Row>
44
45
<Row>
46
<Item>
47
<Index>CohomologyPrimePart</Index>
48
<C>CohomologyPrimePart(C,n,p)</C>
49
<P/>
50
51
Inputs a cochain complex <M>C</M> in characteristic 0,
52
a positive integer <M>n</M>, and a prime <M>p</M>. It returns a list of
53
those torsion coefficients of <M>H^n(C)</M> that are positive powers of <M>p</M>.
54
55
The function uses the EDIM package by Frank Luebeck.
56
</Item>
57
</Row>
58
59
60
<Row>
61
<Item>
62
<Index>GroupCohomology</Index>
63
<C>GroupCohomology(X,n) </C>
64
<C>GroupCohomology(X,n,p)</C>
65
<P/>
66
67
Inputs a positive integer <M>n</M> and either
68
<List>
69
<Item> a finite group <M>X=G</M> </Item>
70
<Item> or a nilpotent Pcp-group <M>X=G</M> </Item>
71
<Item> or a space group <M>X=G</M> </Item>
72
<Item> or a list <M>X=D</M> representing a graph of groups</Item>
73
<Item>or a pair <M>X=["Artin",D]</M> where <M>D</M> is a Coxeter diagram representing an infinite Artin group <M>G</M>.</Item>
74
<Item>or a pair <M>X=["Coxeter",D]</M> where <M>D</M> is a Coxeter diagram representing a finite Coxeter group <M>G</M>.</Item>
75
</List>
76
It returns the torsion coefficients of the integral cohomology <M>H^n(G,Z)</M>.
77
<P/>
78
79
There is an optional third argument which, when set equal to a prime <M>p</M>,
80
causes the function to return the the mod <M>p</M> cohomology <M>H^n(G,Z_p)</M>
81
as a list of length equal to its rank.
82
<P/>
83
84
This function is a composite of more basic functions, and makes choices
85
for a number of parameters. For a particular group you would almost
86
certainly be better using the more basic functions and making the choices
87
yourself!
88
</Item>
89
</Row>
90
91
<Row>
92
<Item>
93
<Index> GroupHomology</Index>
94
<C>GroupHomology(X,n)</C>
95
<C>GroupHomology(X,n,p)</C>
96
<P/>
97
98
Inputs a positive integer <M>n</M> and either
99
<List>
100
<Item> a finite group <M>X=G</M> </Item>
101
<Item> or a nilpotent Pcp-group <M>X=G</M> </Item>
102
<Item> or a space group <M>X=G</M> </Item>
103
<Item> or a list <M>X=D</M> representing a graph of groups</Item>
104
<Item>or a pair <M>X=["Artin",D]</M> where <M>D</M> is a Coxeter diagram representing an infinite Artin group <M>G</M>.</Item>
105
<Item>or a pair <M>X=["Coxeter",D]</M> where <M>D</M> is a Coxeter diagram representing a finite Coxeter group <M>G</M>.</Item>
106
</List>
107
108
It returns the torsion coefficients of the integral homology <M>H_n(G,Z)</M>.
109
<P/>
110
There is an optional third argument which, when set equal to a prime <M>p</M>,
111
causes the function to return the mod <M>p</M> homology <M>H_n(G,Z_p)</M>
112
as a list of lenth equal to its rank.
113
<P/>
114
This function is a composite of more basic functions,
115
and makes choices for a number of parameters.
116
For a particular group you would almost certainly be better
117
using the more basic functions and making the choices yourself!
118
</Item>
119
</Row>
120
121
<Row>
122
<Item>
123
<Index> PersistentHomologyOfQuotientGroupSeries</Index>
124
<C>PersistentHomologyOfQuotientGroupSeries(S,n)</C>
125
<C>PersistentHomologyOfQuotientGroupSeries(S,n,p,Resolution_Algorithm)</C>
126
<P/>
127
128
Inputs a positive integer <M>n</M> and a decreasing chain <M>S=[S_1, S_2, ..., S_k]</M> of normal subgroups in a finite <M>p</M>-group
129
<M>G=S_1</M>.
130
131
It returns the bar code of the persistent mod <M>p</M> homology in degree <M>n</M> of the sequence of quotient homomorphisms
132
<M>G \rightarrow G/S_k \rightarrow G/S_{k-1} \rightarrow ... \rightarrow G/S_2 </M>. The bar code is returned as a matrix containing the dimensions of the images of the induced homology maps.
133
134
<P/>
135
If one sets <M>p=0</M> then the integral persitent homology bar code is returned. This is a matrix whose entries are pairs of the lists: the list of abelian invariants of the images of the induced homology maps and the cokernels of the induced homology maps. (The matrix probably does not uniquely determine the induced homology maps.)
136
137
<P/>
138
Non prime-power (and possibly infinite) groups <M>G</M> can also be handled; in this case the prime must be entered as a third argument, and the resolution algorithm (e.g. ResolutionNilpotentGroup) can be entered as a fourth argument. (The default algorithm is ResolutionFiniteGroup, so this must be changed for infinite groups.)
139
</Item>
140
</Row>
141
142
<Row>
143
<Item>
144
<Index> PersistentCohomologyOfQuotientGroupSeries</Index>
145
<C>PersistentCohomologyOfQuotientGroupSeries(S,n)</C>
146
<C>PersistentCohomologyOfQuotientGroupSeries(S,n,p,Resolution_Algorithm)</C>
147
<P/>
148
149
Inputs a positive integer <M>n</M> and a decreasing chain <M>S=[S_1, S_2, ..., S_k]</M> of normal subgroups in a finite <M>p</M>-group
150
<M>G=S_1</M>.
151
152
It returns the bar code of the persistent mod <M>p</M> cohomology in degree <M>n</M> of the sequence of quotient homomorphisms
153
<M>G \rightarrow G/S_k \rightarrow G/S_{k-1} \rightarrow ... \rightarrow G/S_2 </M>. The bar code is returned as a matrix containing the dimensions of the images of the induced homology maps.
154
155
<P/>
156
If one sets <M>p=0</M> then the integral persitent cohomology bar code is returned. This is a matrix whose entries are pairs of the lists: the list of abelian invariants of the images of the induced cohomology maps and the cokernels of the induced
157
cohomology maps. (The matrix probably does not uniquely determine the induced homology maps.)
158
159
<P/>
160
Non prime-power (and possibly infinite) groups <M>G</M> can also be handled; in this case the prime must be entered as a third argument, and the resolution algorithm (e.g. ResolutionNilpotentGroup) can be entered as a fourth argument. (The default algorithm is ResolutionFiniteGroup, so this must be changed for infinite groups.)
161
162
<P/>
163
(The implementation is possibly a little less efficient than that of the corresponding persistent homology function.)
164
165
</Item>
166
</Row>
167
168
<Row>
169
<Item>
170
<Index>UniversalBarCode</Index>
171
<C>UniversalBarCode("UpperCentralSeries",n,d)</C>
172
<C>UniversalBarCode("UpperCentralSeries",n,d,k)</C>
173
<P/>
174
175
Inputs integers <M>n,d</M> that identify a prime power group G=SmallGroup(n,d), together with one of the strings "UpperCentralSeries",
176
LowerCentralSeries", "DerivedSeries", "UpperPCentralSeries", "LowerPCentralSeries".
177
The function returns a matrix of rational functions; the coefficients of <M>x^k</M> in their expansions yield the persistence matrix for the degree <M>k</M> homology with trivial mod p coefficients associated to the quotients of <M>G</M> by the terms of the given series.
178
179
<P/>
180
If the additional integer argument <M>k</M> is supplied then the function returns the degree k homology persistence matrix.
181
</Item>
182
</Row>
183
184
185
<Row>
186
<Item>
187
<Index>PersistentHomologyOfSubGroupSeries</Index>
188
<C>PersistentHomologyOfSubGroupSeries(S,n)</C>
189
<C>PersistentHomologyOfSubGroupSeries(S,n,p,Resolution_Algorithm)</C>
190
<P/>
191
192
Inputs a positive integer <M>n</M> and a decreasing chain <M>S=[S_1, S_2, ..., S_k]</M> of subgroups in a finite <M>p</M>-group
193
<M>G=S_1</M>.
194
195
It returns the bar code of the persistent mod <M>p</M> homology in degree <M>n</M> of the sequence of inclusion
196
homomorphisms
197
<M>S_k \rightarrow S_{k-1} \rightarrow ... \rightarrow S_1=G </M>. The bar code is returned as a binary matrix.
198
<P/>
199
Non prime-power (and possibly infinite) groups <M>G</M> can also be handled; in this case the prime must be entered as a third argument, and the resolution algorithm (e.g. ResolutionNilpotentGroup) must be entered as a fourth argument.
200
</Item>
201
</Row>
202
203
204
205
<Row>
206
<Item>
207
<Index> PersistentHomologyOfFilteredChainComplex </Index>
208
<C>PersistentHomologyOfFilteredChainComplex(C,n,p) </C>
209
<P/>
210
211
Inputs a filtered chain complex <M>C</M> (of characteristic <M>0</M> or <M>p</M>) together with a positive integer <M>n</M> and prime <M>p</M>.
212
213
It returns the bar code of the persistent mod <M>p</M> homology in degree <M>n</M> of the
214
filtered chain complex <M>C</M>.
215
(This function needs a more efficient implementation. Its fine as it stands for investigation in group homology, but not sufficiently efficient for the homology of large complexes arising in applied topology.)
216
217
</Item>
218
</Row>
219
220
221
<Row>
222
<Item>
223
<C>PersistentHomologyOfCommutativeDiagramOfPGroups(D,n) </C>
224
<P/>
225
226
Inputs a commutative diagram <M>D</M> of finite <M>p</M>-groups and a positive integer <M>n</M>. It
227
returns a list containing, for each homomorphism in the nerve of <M>D</M>,
228
a triple <M>[k,l,m]</M> where <M>k</M> is
229
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
230
the dimension of the cokernel.
231
</Item>
232
</Row>
233
234
<Row>
235
<Item>
236
<Index>PersistentHomologyOfFilteredPureCubicalComplex </Index>
237
<C>PersistentHomologyOfFilteredPureCubicalComplex(M,n)</C>
238
<P/>
239
Inputs a filtered pure cubical complex <M>M</M> and a
240
non-negative integer <M>n</M>. It returns the degree <M>n</M> persistent
241
homology of <M> M</M> with rational coefficients.
242
</Item> </Row>
243
244
245
<Row>
246
<Item>
247
<Index> PersistentHomologyOfPureCubicalComplex</Index>
248
<C>PersistentHomologyOfPureCubicalComplex(L,n,p)</C>
249
<P/>
250
251
Inputs a positive integer <M>n</M>, a prime <M>p</M> and an increasing chain <M>L=[L_1, L_2, ..., L_k]</M> of subcomplexes
252
in a pure cubical complex <M>L_k</M>.
253
254
It returns the bar code of the persistent mod <M>p</M> homology in degree <M>n</M> of the sequence of inclusion
255
maps.
256
The bar code is returned as a matrix. (This function is extremely inefficient and it is better to use PersistentHomologyOFilteredfPureCubicalComplex.
257
<P/>
258
</Item>
259
</Row>
260
261
<Row>
262
<Item>
263
<Index>ZZPersistentHomologyOfPureCubicalComplex</Index>
264
<C>ZZPersistentHomologyOfPureCubicalComplex(L,n,p)</C>
265
<P/>
266
267
Inputs a positive integer <M>n</M>, a prime <M>p</M> and any sequence <M>L=[L_1, L_2, ..., L_k]</M> of subcomplexes
268
of some pure cubical complex.
269
270
It returns the bar code of the zig-zag persistent mod <M>p</M> homology in degree <M>n</M> of the sequence of
271
maps <M>L_1 \rightarrow L_1 \cup L_2 \leftarrow L_2 \rightarrow L_2 \cup L_3 \leftarrow L_4 \rightarrow ... \leftarrow L_k</M>.
272
The bar code is returned as a matrix.
273
<P/>
274
</Item>
275
</Row>
276
277
278
<Row>
279
<Item>
280
<Index>RipsHomology </Index>
281
<C>RipsHomology(G,n)</C>
282
<C>RipsHomology(G,n,p)</C>
283
284
<P/>
285
Inputs a graph <M>G</M>, a non-negative integer <M>n</M> (and optionally a prime number <M>p</M>). It returns the integral homology (or mod p homology) in degree <M>n</M> of the Rips complex of <M>G</M>.
286
287
</Item>
288
</Row>
289
290
291
292
<Row>
293
<Item>
294
<Index> BarCode </Index>
295
<C>BarCode(P)</C>
296
<P/>
297
Inputs an integer persistence matrix P and returns the same information in the form of a binary matrix (corresponding to the usual bar code).
298
299
</Item>
300
</Row>
301
302
<Row>
303
<Item>
304
<Index> BarCodeDisplay </Index>
305
<Index> BarCodeCompactDisplay </Index>
306
<C>BarCodeDisplay(P)</C>
307
<C>BarCodeDisplay(P,"mozilla")</C>
308
<C>BarCodeCompactDisplay(P)</C>
309
<C>BarCodeCompactDisplay(P,"mozilla")</C>
310
<P/>
311
Inputs an integer persistence matrix P, and an optional string specifying a viewer/browser. It displays a picture of the bar code (using GraphViz software).
312
The compact display is better for large bar codes.
313
</Item>
314
</Row>
315
316
317
318
<Row>
319
<Item>
320
<Index> Homology </Index>
321
<C>Homology(X,n)</C>
322
<P/>
323
324
Inputs either a chain complex <M>X=C</M> or a chain map
325
<M>X=(C \longrightarrow D)</M>.
326
<List>
327
<Item>If <M>X=C</M> then the torsion coefficients of <M>H_n(C)</M>
328
are retuned.</Item>
329
<Item> If <M>X=(C \longrightarrow D)</M> then the induced homomorphism
330
<M>H_n(C) \longrightarrow H_n(D)</M> is returned as a homomorphism of
331
finitely presented groups. </Item>
332
</List>
333
A <M>G</M>-complex <M>C</M> can also be input. The homology groups of such a complex may not be abelian. <B>Warning:</B> in this case Homology(C,n) returns the abelian invariants of the <M>n</M>-th homology group of <M>C</M>.
334
</Item>
335
</Row>
336
337
<Row>
338
<Item>
339
<Index> HomologyPb </Index>
340
<C>HomologyPb(C,n)</C>
341
<P/>
342
343
This is a back-up function which might work in some instances
344
where <M>Homology(C,n)</M> fails.
345
It is most useful for chain complexes whose boundary homomorphisms are sparse.
346
<P/>
347
It inputs a chain complex <M>C</M> in characteristic <M>0</M>
348
and returns the torsion coefficients of <M>H_n(C)</M> .
349
There is a small probability that an incorrect answer could be returned.
350
The computation relies on probabilistic Smith Normal Form
351
algorithms implemented in the Simplicial Homology GAP package.
352
This package therefore needs to be loaded.
353
The computation is stored as a component of <M>C</M> so, when called a second
354
time for a given <M>C</M> and <M>n</M>, the calculation
355
is recalled without rerunning the algorithm.
356
357
<P/>
358
The choice of probabalistic algorithm can be changed using the command
359
360
<P/> SetHomologyAlgorithm(HomologyAlgorithm[i]);<P/>
361
362
where i = 1,2,3 or 4. The upper limit for the probability of an
363
incorrect answer can be set to any rational number <M>0</M>&tlt;<M>e</M>&tlt;=
364
<M>1</M> using the following command.
365
366
<P/>SetUncertaintyTolerence(e);<P/>
367
368
See the Simplicial Homology package manual for further details.
369
</Item>
370
</Row>
371
372
<Row>
373
<Item>
374
<Index> HomologyVectorSpace </Index>
375
<C>HomologyVectorSpace(X,n)</C>
376
<P/>
377
378
Inputs either a chain complex <M>X=C</M> or a chain map
379
<M>X=(C \longrightarrow D)</M> in prime characteristic.
380
<List>
381
<Item>If <M>X=C</M> then <M>H_n(C)</M>
382
is retuned as a vector space.</Item>
383
<Item> If <M>X=(C \longrightarrow D)</M> then the induced homomorphism
384
<M>H_n(C) \longrightarrow H_n(D)</M> is returned as a homomorphism of
385
vector spaces. </Item>
386
</List>
387
</Item>
388
</Row>
389
390
391
<Row>
392
<Item>
393
<Index>HomologyPrimePart</Index>
394
<C>HomologyPrimePart(C,n,p)</C>
395
<P/>
396
397
Inputs a chain complex <M>C</M> in characteristic 0,
398
a positive integer <M>n</M>, and a prime <M>p</M>. It returns a list of
399
those torsion coefficients of <M>H_n(C)</M> that are positive powers of <M>p</M>.
400
401
The function uses the EDIM GAP package by Frank Luebeck.
402
</Item>
403
</Row>
404
405
<Row>
406
<Item>
407
<Index> LeibnizAlgebraHomology</Index>
408
<C>LeibnizAlgebraHomology(A,n)</C>
409
<P/>
410
411
Inputs a Lie or Leibniz algebra <M>X=A</M>
412
(over the ring of integers <M>Z</M> or over a field <M>K</M>),
413
together with a positive integer <M>n</M>.
414
It returns the <M>n</M>-dimensional Leibniz homology of <M>A</M>.
415
</Item>
416
</Row>
417
418
<Row>
419
<Item>
420
<Index> LieAlgebraHomology </Index>
421
<C>LieAlgebraHomology(A,n)</C>
422
<P/>
423
424
Inputs a Lie algebra <M>A</M> (over the integers or a field)
425
and a positive integer <M>n</M>.
426
It returns the homology <M>H_n(A,k)</M> where <M>k</M>
427
denotes the ground ring.
428
</Item>
429
</Row>
430
431
432
<Row>
433
<Item>
434
<Index> PrimePartDerivedFunctor </Index>
435
<C>PrimePartDerivedFunctor(G,R,F,n)</C>
436
<P/>
437
438
Inputs a finite group <M>G</M>, a positive integer <M>n</M>,
439
at least <M>n+1</M> terms of a <M>ZP</M>-resolution for a Sylow subgroup
440
<M>P</M>&tlt;<M>G</M> and a "mathematically suitable" covariant additive functor
441
<M>F</M> such as TensorWithIntegers . It returns the abelian invariants of the
442
<M>p</M>-component of the homology <M>H_n(F(R))</M> .
443
<P/>
444
Warning: All calculations are assumed to be in characteristic 0.
445
The function should not be used if the coefficient module is over the field of
446
<M>p</M> elements.
447
<P/>
448
"Mathematically suitable" means that the Cartan-Eilenberg double coset formula must hold.
449
</Item>
450
</Row>
451
452
<Row>
453
<Item>
454
<Index> RankHomologyPGroup</Index>
455
<C>RankHomologyPGroup(G,n)</C>
456
<C>RankHomologyPGroup(R,n)</C>
457
<C>RankHomologyPGroup(G,n,"empirical")</C>
458
<P/>
459
460
Inputs a (smallish) <M>p</M>-group <M>G</M>, or <M>n</M>
461
terms of a minimal <M>Z_pG</M>-resolution <M>R</M> of <M>Z_p</M> ,
462
together with a positive integer <M>n</M>. It returns the minimal
463
number of generators of the integral homology group <M>H_n(G,Z)</M>.
464
<P/>
465
If an option third string argument "empirical" is included then an
466
empirical algorithm will be used. This is one which always seems
467
to yield the right answer but which we can't prove yields the
468
correct answer.
469
</Item>
470
</Row>
471
472
<Row>
473
<Item>
474
<Index> RankPrimeHomology</Index>
475
<C>RankPrimeHomology(G,n)</C>
476
<P/>
477
478
Inputs a (smallish) <M>p</M>-group <M>G</M>
479
together with a positive integer <M>n</M>.
480
It returns a function <M>dim(k)</M> which gives the rank of the
481
vector space
482
<M>H_k(G,Z_p)</M> for all <M>0</M> &tlt;= <M>k</M> &tlt;= <M>n</M>.
483
</Item>
484
</Row>
485
</Table>
486
</Chapter>
487
488
489
490