Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
Download

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

1034943 views
1
2
3
simpcomp
4
5
6
A GAP toolbox for simplicial complexes
7
8
9
Version 2.1.7
10
11
12
September 2017
13
14
15
Felix Effenberger
16
17
Jonathan Spreer
18
19
20
21
Felix Effenberger
22
Email: mailto:[email protected]
23
Address: Max Planck Institute for Mathematics in the Sciences
24
Inselstr. 22
25
D-04103 Leipzig, Germany
26
27
28
Jonathan Spreer
29
Email: mailto:[email protected]
30
Address: University of Queensland
31
School of Mathematics and Physics
32
Brisbane QLD 4072 Australia
33
34
35
36
-------------------------------------------------------
37
Abstract
38
simpcomp is an extension (a so called package) to GAP for working with
39
simplicial complexes in the context of combinatorial topology. The package
40
enables the user to compute numerous properties of (abstract) simplicial
41
complexes (such as the f-, g- and h-vectors, the face lattice, the
42
fundamental group, the automorphism group, (co-)homology with explicit basis
43
computation, etc.). It provides functions to generate simplicial complexes
44
from facet lists, orbit representatives or difference cycles. Moreover, a
45
variety of infinite series of combinatorial manifolds and pseudomanifolds
46
(such as the simplex, the cross polytope, transitive handle bodies and
47
sphere bundles, etc.) is given and it is possible to create new complexes
48
from existing ones (links and stars, connected sums, simplicial cartesian
49
products, handle additions, bistellar flips, etc.). simpcomp ships with an
50
extensive library of known triangulations of manifolds and a census of all
51
combinatorial 3-manifolds with transitive cyclic symmetry up to 22 vertices.
52
Furthermore, it provides the user with the possibility to create own complex
53
libraries. In addition, functions related to slicings and polyhedral Morse
54
theory as well as a combinatorial version of algebraic blowups and the
55
possibility to resolve isolated singularities of 4-manifolds are
56
implemented.
57
simpcomp caches computed properties of a simplicial complex, thus avoiding
58
unnecessary computations, internally handles the vertex labeling of the
59
complexes and insures the consistency of a simplicial complex throughout all
60
operations.
61
If possible, simpcomp makes use of the GAP package homology [DHSW11] for its
62
homology computation but also provides the user with own (co-)homology
63
algorithms. For automorphism group computation the GAP package GRAPE [Soi12]
64
is used, which in turn uses the program nauty by Brendan McKay [MP14]. An
65
internal automorphism group calculation algorithm is used as fallback if the
66
GRAPE package is not available.
67
68
69
-------------------------------------------------------
70
Copyright
71
© 2017 Felix Effenberger and Jonathan Spreer. Permission is granted to copy,
72
distribute and/or modify this document under the terms of the GNU Free
73
Documentation License, Version 1.2 or any later version published by the
74
Free Software Foundation, see http://www.fsf.org/licensing/licenses/fdl.html
75
for a copy.
76
77
simpcomp is free software. The code of simpcomp is released under the GPL
78
version 2 or later (at your preference). For the text of the GPL see the
79
file COPYING in the simpcomp directory or http://www.gnu.org/licenses/.
80
81
82
-------------------------------------------------------
83
Acknowledgements
84
A few functions of simpcomp are based on code from other authors. The
85
bistellar flips implementation, the algorithm to collapse bounded simplicial
86
complexes as well as the classification algorithm for transitive
87
triangulations is based upon work of Frank Lutz (see [Lut03] and the GAP
88
programs BISTELLAR and MANIFOLD_VT from [ManifoldPage]). Some functions were
89
carried over from the homology package by Dumas et al. [DHSW11] -- these
90
functions are marked in the documentation and the source code. The internal
91
(co-)homology algorithms were implemented by Armin Weiss.
92
93
Most of the complexes in the simplicial complex library are taken from the
94
"Manifold Page" by Frank Lutz [ManifoldPage].
95
96
The authors acknowledge support by the Deutsche Forschungsgemeinschaft
97
(DFG): simpcomp has been developed within the DFG projects Ku 1203/5-2 and
98
Ku 1203/5-3.
99
100
101
-------------------------------------------------------
102
103
104
Contents (simpcomp)
105
106
1 Introduction
107
1.1 What is new
108
1.2 simpcomp benefits
109
1.3 How to save time reading this document
110
1.4 Organization of this document
111
1.5 How to assure simpcomp works correctly
112
1.6 Controlling simpcomp log messages
113
1.7 How to cite simpcomp
114
2 Theoretical foundations
115
2.1 Polytopes and polytopal complexes
116
2.2 Simplices and simplicial complexes
117
2.3 From geometry to combinatorics
118
2.4 Discrete Normal surfaces
119
2.5 Polyhedral Morse theory and slicings
120
2.6 Discrete Morse theory
121
2.7 Tightness and tight triangulations
122
2.8 Simplicial blowups
123
3 The new GAP object types of simpcomp
124
3.1 Accessing properties of a SCPolyhedralComplex object
125
4 Functions and operations for the GAP object type SCPolyhedralComplex
126
4.1 Computing properties of objects of type SCPolyhedralComplex
127
4.1-1 SCFacets
128
4.1-2 SCFacetsEx
129
4.1-3 SCVertices
130
4.1-4 SCVerticesEx
131
4.2 Vertex labelings and label operations
132
4.2-1 SCLabelMax
133
4.2-2 SCLabelMin
134
4.2-3 SCLabels
135
4.2-4 SCName
136
4.2-5 SCReference
137
4.2-6 SCRelabel
138
4.2-7 SCRelabelStandard
139
4.2-8 SCRelabelTransposition
140
4.2-9 SCRename
141
4.2-10 SCSetReference
142
4.2-11 SCUnlabelFace
143
4.3 Operations on objects of type SCPolyhedralComplex
144
4.3-1 SCAntiStar
145
4.3-2 SCLink
146
4.3-3 SCLinks
147
4.3-4 SCStar
148
4.3-5 SCStars
149
5 The GAP object types SCSimplicialComplex and SCNormalSurface
150
5.1 The object type SCSimplicialComplex
151
5.1-1 SCIsSimplicialComplex
152
5.1-2 SCCopy
153
5.1-3 ShallowCopy (SCSimplicialComplex)
154
5.1-4 SCPropertiesDropped
155
5.2 Overloaded operators of SCSimplicialComplex
156
5.2-1 Operation + (SCSimplicialComplex, Integer)
157
5.2-2 Operation - (SCSimplicialComplex, Integer)
158
5.2-3 Operation mod (SCSimplicialComplex, Integer)
159
5.2-4 Operation ^ (SCSimplicialComplex, Integer)
160
5.2-5 Operation + (SCSimplicialComplex, SCSimplicialComplex)
161
5.2-6 Operation - (SCSimplicialComplex, SCSimplicialComplex)
162
5.2-7 Operation * (SCSimplicialComplex, SCSimplicialComplex)
163
5.2-8 Operation = (SCSimplicialComplex, SCSimplicialComplex)
164
5.3 SCSimplicialComplex as a subtype of Set
165
5.3-1 Operation Union (SCSimplicialComplex, SCSimplicialComplex)
166
5.3-2 Operation Difference (SCSimplicialComplex, SCSimplicialComplex)
167
5.3-3 Operation Intersection (SCSimplicialComplex, SCSimplicialComplex)
168
5.3-4 Size (SCSimplicialComplex)
169
5.3-5 Length (SCSimplicialComplex)
170
5.3-6 Operation [] (SCSimplicialComplex)
171
5.3-7 Iterator (SCSimplicialComplex)
172
5.4 The object type SCNormalSurface
173
5.5 Overloaded operators of SCNormalSurface
174
5.5-1 Operation + (SCNormalSurface, Integer)
175
5.5-2 Operation - (SCNormalSurface, Integer)
176
5.5-3 Operation mod (SCNormalSurface, Integer)
177
5.6 SCNormalSurface as a subtype of Set
178
5.6-1 Operation Union (SCNormalSurface, SCNormalSurface)
179
6 Functions and operations for SCSimplicialComplex
180
6.1 Creating an SCSimplicialComplex object from a facet list
181
6.1-1 SCFromFacets
182
6.1-2 SC
183
6.1-3 SCFromDifferenceCycles
184
6.1-4 SCFromGenerators
185
6.2 Isomorphism signatures
186
6.2-1 SCExportToString
187
6.2-2 SCExportIsoSig
188
6.2-3 SCFromIsoSig
189
6.3 Generating some standard triangulations
190
6.3-1 SCBdCyclicPolytope
191
6.3-2 SCBdSimplex
192
6.3-3 SCEmpty
193
6.3-4 SCSimplex
194
6.3-5 SCSeriesTorus
195
6.3-6 SCSurface
196
6.3-7 SCFVectorBdCrossPolytope
197
6.3-8 SCFVectorBdCyclicPolytope
198
6.3-9 SCFVectorBdSimplex
199
6.4 Generating infinite series of transitive triangulations
200
6.4-1 SCSeriesAGL
201
6.4-2 SCSeriesBrehmKuehnelTorus
202
6.4-3 SCSeriesBdHandleBody
203
6.4-4 SCSeriesBid
204
6.4-5 SCSeriesC2n
205
6.4-6 SCSeriesConnectedSum
206
6.4-7 SCSeriesCSTSurface
207
6.4-8 SCSeriesD2n
208
6.4-9 SCSeriesHandleBody
209
6.4-10 SCSeriesHomologySphere
210
6.4-11 SCSeriesK
211
6.4-12 SCSeriesKu
212
6.4-13 SCSeriesL
213
6.4-14 SCSeriesLe
214
6.4-15 SCSeriesLensSpace
215
6.4-16 SCSeriesPrimeTorus
216
6.4-17 SCSeriesSeifertFibredSpace
217
6.4-18 SCSeriesS2xS2
218
6.5 A census of regular and chiral maps
219
6.5-1 SCChiralMap
220
6.5-2 SCChiralMaps
221
6.5-3 SCChiralTori
222
6.5-4 SCNrChiralTori
223
6.5-5 SCNrRegularTorus
224
6.5-6 SCRegularMap
225
6.5-7 SCRegularMaps
226
6.5-8 SCRegularTorus
227
6.5-9 SCSeriesSymmetricTorus
228
6.6 Generating new complexes from old
229
6.6-1 SCCartesianPower
230
6.6-2 SCCartesianProduct
231
6.6-3 SCConnectedComponents
232
6.6-4 SCConnectedProduct
233
6.6-5 SCConnectedSum
234
6.6-6 SCConnectedSumMinus
235
6.6-7 SCDifferenceCycleCompress
236
6.6-8 SCDifferenceCycleExpand
237
6.6-9 SCStronglyConnectedComponents
238
6.7 Simplicial complexes from transitive permutation groups
239
6.7-1 SCsFromGroupExt
240
6.7-2 SCsFromGroupByTransitivity
241
6.8 The classification of cyclic combinatorial 3-manifolds
242
6.8-1 SCNrCyclic3Mflds
243
6.8-2 SCCyclic3MfldTopTypes
244
6.8-3 SCCyclic3Mfld
245
6.8-4 SCCyclic3MfldByType
246
6.8-5 SCCyclic3MfldListOfGivenType
247
6.9 Computing properties of simplicial complexes
248
6.9-1 SCAltshulerSteinberg
249
6.9-2 SCAutomorphismGroup
250
6.9-3 SCAutomorphismGroupInternal
251
6.9-4 SCAutomorphismGroupSize
252
6.9-5 SCAutomorphismGroupStructure
253
6.9-6 SCAutomorphismGroupTransitivity
254
6.9-7 SCBoundary
255
6.9-8 SCDehnSommervilleCheck
256
6.9-9 SCDehnSommervilleMatrix
257
6.9-10 SCDifferenceCycles
258
6.9-11 SCDim
259
6.9-12 SCDualGraph
260
6.9-13 SCEulerCharacteristic
261
6.9-14 SCFVector
262
6.9-15 SCFaceLattice
263
6.9-16 SCFaceLatticeEx
264
6.9-17 SCFaces
265
6.9-18 SCFacesEx
266
6.9-19 SCFacets
267
6.9-20 SCFacetsEx
268
6.9-21 SCFpBettiNumbers
269
6.9-22 SCFundamentalGroup
270
6.9-23 SCGVector
271
6.9-24 SCGenerators
272
6.9-25 SCGeneratorsEx
273
6.9-26 SCHVector
274
6.9-27 SCHasBoundary
275
6.9-28 SCHasInterior
276
6.9-29 SCHeegaardSplittingSmallGenus
277
6.9-30 SCHeegaardSplitting
278
6.9-31 SCHomologyClassic
279
6.9-32 SCIncidences
280
6.9-33 SCIncidencesEx
281
6.9-34 SCInterior
282
6.9-35 SCIsCentrallySymmetric
283
6.9-36 SCIsConnected
284
6.9-37 SCIsEmpty
285
6.9-38 SCIsEulerianManifold
286
6.9-39 SCIsFlag
287
6.9-40 SCIsHeegaardSplitting
288
6.9-41 SCIsHomologySphere
289
6.9-42 SCIsInKd
290
6.9-43 SCIsKNeighborly
291
6.9-44 SCIsOrientable
292
6.9-45 SCIsPseudoManifold
293
6.9-46 SCIsPure
294
6.9-47 SCIsShellable
295
6.9-48 SCIsStronglyConnected
296
6.9-49 SCMinimalNonFaces
297
6.9-50 SCMinimalNonFacesEx
298
6.9-51 SCNeighborliness
299
6.9-52 SCNumFaces
300
6.9-53 SCOrientation
301
6.9-54 SCSkel
302
6.9-55 SCSkelEx
303
6.9-56 SCSpanningTree
304
6.10 Operations on simplicial complexes
305
6.10-1 SCAlexanderDual
306
6.10-2 SCClose
307
6.10-3 SCCone
308
6.10-4 SCDeletedJoin
309
6.10-5 SCDifference
310
6.10-6 SCFillSphere
311
6.10-7 SCHandleAddition
312
6.10-8 SCIntersection
313
6.10-9 SCIsIsomorphic
314
6.10-10 SCIsSubcomplex
315
6.10-11 SCIsomorphism
316
6.10-12 SCIsomorphismEx
317
6.10-13 SCJoin
318
6.10-14 SCNeighbors
319
6.10-15 SCNeighborsEx
320
6.10-16 SCShelling
321
6.10-17 SCShellingExt
322
6.10-18 SCShellings
323
6.10-19 SCSpan
324
6.10-20 SCSuspension
325
6.10-21 SCUnion
326
6.10-22 SCVertexIdentification
327
6.10-23 SCWedge
328
7 Functions and operations for SCNormalSurface
329
7.1 Creating an SCNormalSurface object
330
7.1-1 SCNSEmpty
331
7.1-2 SCNSFromFacets
332
7.1-3 SCNS
333
7.1-4 SCNSSlicing
334
7.2 Generating new objects from discrete normal surfaces
335
7.2-1 SCCopy
336
7.2-2 SCNSTriangulation
337
7.3 Properties of SCNormalSurface objects
338
7.3-1 SCConnectedComponents
339
7.3-2 SCDim
340
7.3-3 SCEulerCharacteristic
341
7.3-4 SCFVector
342
7.3-5 SCFaceLattice
343
7.3-6 SCFaceLatticeEx
344
7.3-7 SCFpBettiNumbers
345
7.3-8 SCGenus
346
7.3-9 SCHomology
347
7.3-10 SCIsConnected
348
7.3-11 SCIsEmpty
349
7.3-12 SCIsOrientable
350
7.3-13 SCSkel
351
7.3-14 SCSkelEx
352
7.3-15 SCTopologicalType
353
7.3-16 SCUnion
354
8 (Co-)Homology of simplicial complexes
355
8.1 Homology computation
356
8.1-1 SCBoundaryOperatorMatrix
357
8.1-2 SCBoundarySimplex
358
8.1-3 SCHomologyBasis
359
8.1-4 SCHomologyBasisAsSimplices
360
8.1-5 SCHomologyInternal
361
8.2 Cohomology computation
362
8.2-1 SCCoboundaryOperatorMatrix
363
8.2-2 SCCohomology
364
8.2-3 SCCohomologyBasis
365
8.2-4 SCCohomologyBasisAsSimplices
366
8.2-5 SCCupProduct
367
8.2-6 SCIntersectionForm
368
8.2-7 SCIntersectionFormParity
369
8.2-8 SCIntersectionFormDimensionality
370
8.2-9 SCIntersectionFormSignature
371
9 Bistellar flips
372
9.1 Theory
373
9.2 Functions for bistellar flips
374
9.2-1 SCBistellarOptions
375
9.2-2 SCEquivalent
376
9.2-3 SCExamineComplexBistellar
377
9.2-4 SCIntFunc.SCChooseMove
378
9.2-5 SCIsKStackedSphere
379
9.2-6 SCBistellarIsManifold
380
9.2-7 SCIsMovableComplex
381
9.2-8 SCMove
382
9.2-9 SCMoves
383
9.2-10 SCRMoves
384
9.2-11 SCRandomize
385
9.2-12 SCReduceAsSubcomplex
386
9.2-13 SCReduceComplex
387
9.2-14 SCReduceComplexEx
388
9.2-15 SCReduceComplexFast
389
10 Simplicial blowups
390
10.1 Theory
391
10.2 Functions related to simplicial blowups
392
10.2-1 SCBlowup
393
10.2-2 SCMappingCylinder
394
11 Polyhedral Morse theory
395
11.1 Polyhedral Morse theory related functions
396
11.1-1 SCIsTight
397
11.1-2 SCMorseIsPerfect
398
11.1-3 SCSlicing
399
11.1-4 SCMorseMultiplicityVector
400
11.1-5 SCMorseNumberOfCriticalPoints
401
12 Forman's discrete Morse theory
402
12.1 Functions using discrete Morse theory
403
12.1-1 SCCollapseGreedy
404
12.1-2 SCCollapseLex
405
12.1-3 SCCollapseRevLex
406
12.1-4 SCHasseDiagram
407
12.1-5 SCMorseEngstroem
408
12.1-6 SCMorseRandom
409
12.1-7 SCMorseRandomLex
410
12.1-8 SCMorseRandomRevLex
411
12.1-9 SCMorseSpec
412
12.1-10 SCMorseUST
413
12.1-11 SCSpanningTreeRandom
414
12.1-12 SCHomology
415
12.1-13 SCHomologyEx
416
12.1-14 SCIsSimplyConnected
417
12.1-15 SCIsSimplyConnectedEx
418
12.1-16 SCIsSphere
419
12.1-17 SCIsManifold
420
12.1-18 SCIsManifoldEx
421
13 Library and I/O
422
13.1 Simplicial complex library
423
13.1-1 SCIsLibRepository
424
13.1-2 SCLib
425
13.1-3 SCLibAdd
426
13.1-4 SCLibAllComplexes
427
13.1-5 SCLibDelete
428
13.1-6 SCLibDetermineTopologicalType
429
13.1-7 SCLibFlush
430
13.1-8 SCLibInit
431
13.1-9 SCLibIsLoaded
432
13.1-10 SCLibSearchByAttribute
433
13.1-11 SCLibSearchByName
434
13.1-12 SCLibSize
435
13.1-13 SCLibUpdate
436
13.1-14 SCLibStatus
437
13.2 simpcomp input / output functions
438
13.2-1 SCLoad
439
13.2-2 SCLoadXML
440
13.2-3 SCSave
441
13.2-4 SCSaveXML
442
13.2-5 SCExportMacaulay2
443
13.2-6 SCExportPolymake
444
13.2-7 SCImportPolymake
445
13.2-8 SCExportLatexTable
446
13.2-9 SCExportJavaView
447
13.2-10 SCExportPolymake
448
13.2-11 SCExportSnapPy
449
14 Interfaces to other software packages
450
14.1 Interface to the GAP-package homalg
451
14.1-1 SCHomalgBoundaryMatrices
452
14.1-2 SCHomalgCoboundaryMatrices
453
14.1-3 SCHomalgHomology
454
14.1-4 SCHomalgHomologyBasis
455
14.1-5 SCHomalgCohomology
456
14.1-6 SCHomalgCohomologyBasis
457
15 Miscellaneous functions
458
15.1 simpcomp logging
459
15.1-1 SCInfoLevel
460
15.2 Email notification system
461
15.2-1 SCMailClearPending
462
15.2-2 SCMailIsEnabled
463
15.2-3 SCMailIsPending
464
15.2-4 SCMailSend
465
15.2-5 SCMailSendPending
466
15.2-6 SCMailSetAddress
467
15.2-7 SCMailSetEnabled
468
15.2-8 SCMailSetMinInterval
469
15.3 Testing the functionality of simpcomp
470
15.3-1 SCRunTest
471
16 Property handlers
472
16.1 Property handlers of SCPolyhedralComplex
473
16.2 Property handlers of SCSimplicialComplex
474
16.3 Property handlers of SCNormalSurface
475
16.4 Property handlers of SCLibRepository
476
17 A demo session with simpcomp
477
17.1 Creating a SCSimplicialComplex object
478
17.2 Working with a SCSimplicialComplex object
479
17.3 Calculating properties of a SCSimplicialComplex object
480
17.4 Creating new complexes from a SCSimplicialComplex object
481
17.5 Homology related calculations
482
17.6 Bistellar flips
483
17.7 Simplicial blowups
484
17.8 Discrete normal surfaces and slicings
485
18 simpcomp internals
486
18.1 The GAP object type SCPropertyObject
487
18.1-1 SCProperties
488
18.1-2 SCPropertiesFlush
489
18.1-3 SCPropertiesManaged
490
18.1-4 SCPropertiesNames
491
18.1-5 SCPropertiesTmp
492
18.1-6 SCPropertiesTmpNames
493
18.1-7 SCPropertyByName
494
18.1-8 SCPropertyDrop
495
18.1-9 SCPropertyHandlersSet
496
18.1-10 SCPropertySet
497
18.1-11 SCPropertySetMutable
498
18.1-12 SCPropertyTmpByName
499
18.1-13 SCPropertyTmpDrop
500
18.1-14 SCPropertyTmpSet
501
18.2 Example of a common attribute
502
18.3 Writing a method for an attribute
503
504
505

506
507