GAP (simpcomp) - Contents

Goto Chapter: Top 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 Bib Ind
[Top of Book] [Contents] [Next Chapter]

# simpcomp

## A GAP toolbox for simplicial complexes

Version 2.0.0

December 2013

Felix Effenberger
Email: felix.effenberger@mis.mpg.de
Address:
Max Planck Institute for Mathematics in the Sciences
Inselstr. 22
D-04103 Leipzig, Germany

Jonathan Spreer
Email: j.spreer@uq.edu.au
Address:
University of Queensland
School of Mathematics and Physics
Brisbane QLD 4072 Australia

### Abstract

simpcomp is an extension (a so called package) to GAP for working with simplicial complexes in the context of combinatorial topology. The package enables the user to compute numerous properties of (abstract) simplicial complexes (such as the f-, g- and h-vectors, the face lattice, the fundamental group, the automorphism group, (co-)homology with explicit basis computation, etc.). It provides functions to generate simplicial complexes from facet lists, orbit representatives or difference cycles. Moreover, a variety of infinite series of combinatorial manifolds and pseudomanifolds (such as the simplex, the cross polytope, transitive handle bodies and sphere bundles, etc.) is given and it is possible to create new complexes from existing ones (links and stars, connected sums, simplicial cartesian products, handle additions, bistellar flips, etc.). simpcomp ships with an extensive library of known triangulations of manifolds and a census of all combinatorial 3-manifolds with transitive cyclic symmetry up to 22 vertices. Furthermore, it provides the user with the possibility to create own complex libraries. In addition, functions related to slicings and polyhedral Morse theory as well as a combinatorial version of algebraic blowups and the possibility to resolve isolated singularities of 4-manifolds are implemented.
simpcomp caches computed properties of a simplicial complex, thus avoiding unnecessary computations, internally handles the vertex labeling of the complexes and insures the consistency of a simplicial complex throughout all operations.
If possible, simpcomp makes use of the GAP package homology [DHSW04] for its homology computation but also provides the user with own (co-)homology algorithms. For automorphism group computation the GAP package GRAPE [Soi06] is used, which in turn uses the program `nauty` by Brendan McKay [McK84]. An internal automorphism group calculation algorithm is used as fallback if the GRAPE package is not available.

### Copyright

© 2013 Felix Effenberger and Jonathan Spreer. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation, see http://www.fsf.org/licensing/licenses/fdl.html for a copy.

simpcomp is free software. The code of simpcomp is released under the GPL version 2 or later (at your preference). For the text of the GPL see the file `COPYING` in the simpcomp directory or http://www.gnu.org/licenses/.

### Acknowledgements

A few functions of simpcomp are based on code from other authors. The bistellar flips implementation, the algorithm to collapse bounded simplicial complexes as well as the classification algorithm for transitive triangulations is based upon work of Frank Lutz (see [Lut03] and the GAP programs BISTELLAR and MANIFOLD_VT from [ManifoldPage]). Some functions were carried over from the homology package by Dumas et al. [DHSW04] -- these functions are marked in the documentation and the source code. The internal (co-)homology algorithms were implemented by Armin Weiss.

Most of the complexes in the simplicial complex library are taken from the "Manifold Page" by Frank Lutz [ManifoldPage].

The authors acknowledge support by the Deutsche Forschungsgemeinschaft (DFG): simpcomp has been developed within the DFG projects Ku 1203/5-2 and Ku 1203/5-3.

### Contents

1 Introduction
1.1 What is new
1.2 simpcomp benefits
1.3 How to save time reading this document
1.4 Organization of this document
1.5 How to assure simpcomp works correctly
1.6 Controlling simpcomp log messages
1.7 How to cite simpcomp
2 Theoretical foundations
2.1 Polytopes and polytopal complexes
2.2 Simplices and simplicial complexes
2.3 From geometry to combinatorics
2.4 Discrete Normal surfaces
2.5 Polyhedral Morse theory and slicings
2.6 Tightness and tight triangulations
2.7 Simplicial blowups
3 The new GAP object types of simpcomp
3.1 Accessing properties of a `SCPolyhedralComplex` object
4 Functions and operations for the GAP object type `SCPolyhedralComplex`
4.1 Computing properties of objects of type `SCPolyhedralComplex`
4.1-1 SCFacets
4.1-2 SCFacetsEx
4.1-3 SCVertices
4.1-4 SCVerticesEx
4.2 Vertex labelings and label operations
4.2-1 SCLabelMax
4.2-2 SCLabelMin
4.2-3 SCLabels
4.2-4 SCName
4.2-5 SCReference
4.2-6 SCRelabel
4.2-7 SCRelabelStandard
4.2-8 SCRelabelTransposition
4.2-9 SCRename
4.2-10 SCSetReference
4.2-11 SCUnlabelFace
4.3 Operations on objects of type `SCPolyhedralComplex`
4.3-1 SCAntiStar
4.3-2 SCLink
4.3-3 SCLinks
4.3-4 SCStar
4.3-5 SCStars
5 The GAP object types `SCSimplicialComplex` and `SCNormalSurface`
5.1 The object type `SCSimplicialComplex`
5.1-1 SCIsSimplicialComplex
5.1-2 SCCopy
5.1-3 ShallowCopy (SCSimplicialComplex)
5.1-4 SCPropertiesDropped
5.2 Overloaded operators of `SCSimplicialComplex`
5.2-1 Operation + (SCSimplicialComplex, Integer)
5.2-2 Operation - (SCSimplicialComplex, Integer)
5.2-3 Operation mod (SCSimplicialComplex, Integer)
5.2-4 Operation ^ (SCSimplicialComplex, Integer)
5.2-5 Operation + (SCSimplicialComplex, SCSimplicialComplex)
5.2-6 Operation - (SCSimplicialComplex, SCSimplicialComplex)
5.2-7 Operation * (SCSimplicialComplex, SCSimplicialComplex)
5.2-8 Operation = (SCSimplicialComplex, SCSimplicialComplex)
5.3 `SCSimplicialComplex` as a subtype of `Set`
5.3-1 Operation Union (SCSimplicialComplex, SCSimplicialComplex)
5.3-2 Operation Difference (SCSimplicialComplex, SCSimplicialComplex)
5.3-3 Operation Intersection (SCSimplicialComplex, SCSimplicialComplex)
5.3-4 Size (SCSimplicialComplex)
5.3-5 Length (SCSimplicialComplex)
5.3-6 Operation [] (SCSimplicialComplex)
5.3-7 Iterator (SCSimplicialComplex)
5.4 The object type `SCNormalSurface`
5.5 Overloaded operators of `SCNormalSurface`
5.5-1 Operation + (SCNormalSurface, Integer)
5.5-2 Operation - (SCNormalSurface, Integer)
5.5-3 Operation mod (SCNormalSurface, Integer)
5.6 `SCNormalSurface` as a subtype of `Set`
5.6-1 Operation Union (SCNormalSurface, SCNormalSurface)
6 Functions and operations for `SCSimplicialComplex`
6.1 Creating an `SCSimplicialComplex` object from a facet list
6.1-1 SCFromFacets
6.1-2 SC
6.1-3 SCFromDifferenceCycles
6.1-4 SCFromGenerators
6.2 Isomorphism signatures
6.2-1 SCExportToString
6.2-2 SCExportIsoSig
6.2-3 SCFromIsoSig
6.3 Generating some standard triangulations
6.3-1 SCBdCyclicPolytope
6.3-2 SCBdSimplex
6.3-3 SCEmpty
6.3-4 SCSimplex
6.3-5 SCSeriesTorus
6.3-6 SCSurface
6.3-7 SCFVectorBdCrossPolytope
6.3-8 SCFVectorBdCyclicPolytope
6.3-9 SCFVectorBdSimplex
6.4 Generating infinite series of transitive triangulations
6.4-1 SCSeriesAGL
6.4-2 SCSeriesBrehmKuehnelTorus
6.4-3 SCSeriesBdHandleBody
6.4-4 SCSeriesBid
6.4-5 SCSeriesC2n
6.4-6 SCSeriesConnectedSum
6.4-7 SCSeriesCSTSurface
6.4-8 SCSeriesD2n
6.4-9 SCSeriesHandleBody
6.4-10 SCSeriesHomologySphere
6.4-11 SCSeriesK
6.4-12 SCSeriesKu
6.4-13 SCSeriesL
6.4-14 SCSeriesLe
6.4-15 SCSeriesLensSpace
6.4-16 SCSeriesPrimeTorus
6.4-17 SCSeriesSeifertFibredSpace
6.4-18 SCSeriesS2xS2
6.5 A census of regular and chiral maps
6.5-1 SCChiralMap
6.5-2 SCChiralMaps
6.5-3 SCChiralTori
6.5-4 SCNrChiralTori
6.5-5 SCNrRegularTorus
6.5-6 SCRegularMap
6.5-7 SCRegularMaps
6.5-8 SCRegularTorus
6.5-9 SCSeriesSymmetricTorus
6.6 Generating new complexes from old
6.6-1 SCCartesianPower
6.6-2 SCCartesianProduct
6.6-3 SCConnectedComponents
6.6-4 SCConnectedProduct
6.6-5 SCConnectedSum
6.6-6 SCConnectedSumMinus
6.6-7 SCDifferenceCycleCompress
6.6-8 SCDifferenceCycleExpand
6.6-9 SCStronglyConnectedComponents
6.7 Simplicial complexes from transitive permutation groups
6.7-1 SCsFromGroupExt
6.7-2 SCsFromGroupByTransitivity
6.8 The classification of cyclic combinatorial 3-manifolds
6.8-1 SCNrCyclic3Mflds
6.8-2 SCCyclic3MfldTopTypes
6.8-3 SCCyclic3Mfld
6.8-4 SCCyclic3MfldByType
6.8-5 SCCyclic3MfldListOfGivenType
6.9 Computing properties of simplicial complexes
6.9-1 SCAltshulerSteinberg
6.9-2 SCAutomorphismGroup
6.9-3 SCAutomorphismGroupInternal
6.9-4 SCAutomorphismGroupSize
6.9-5 SCAutomorphismGroupStructure
6.9-6 SCAutomorphismGroupTransitivity
6.9-7 SCBoundary
6.9-8 SCDehnSommervilleCheck
6.9-9 SCDehnSommervilleMatrix
6.9-10 SCDifferenceCycles
6.9-11 SCDim
6.9-12 SCDualGraph
6.9-13 SCEulerCharacteristic
6.9-14 SCFVector
6.9-15 SCFaceLattice
6.9-16 SCFaceLatticeEx
6.9-17 SCFaces
6.9-18 SCFacesEx
6.9-19 SCFacets
6.9-20 SCFacetsEx
6.9-21 SCFpBettiNumbers
6.9-22 SCFundamentalGroup
6.9-23 SCGVector
6.9-24 SCGenerators
6.9-25 SCGeneratorsEx
6.9-26 SCHVector
6.9-27 SCHasBoundary
6.9-28 SCHasInterior
6.9-29 SCHeegaardSplittingSmallGenus
6.9-30 SCHeegaardSplitting
6.9-31 SCHomology
6.9-32 SCIncidences
6.9-33 SCIncidencesEx
6.9-34 SCInterior
6.9-35 SCIsCentrallySymmetric
6.9-36 SCIsConnected
6.9-37 SCIsEmpty
6.9-38 SCIsEulerianManifold
6.9-39 SCIsFlag
6.9-40 SCIsHeegaardSplitting
6.9-41 SCIsHomologySphere
6.9-42 SCIsInKd
6.9-43 SCIsKNeighborly
6.9-44 SCIsOrientable
6.9-45 SCIsPseudoManifold
6.9-46 SCIsPure
6.9-47 SCIsShellable
6.9-48 SCIsStronglyConnected
6.9-49 SCMinimalNonFaces
6.9-50 SCMinimalNonFacesEx
6.9-51 SCNeighborliness
6.9-52 SCNumFaces
6.9-53 SCOrientation
6.9-54 SCSkel
6.9-55 SCSkelEx
6.9-56 SCSpanningTree
6.10 Operations on simplicial complexes
6.10-1 SCAlexanderDual
6.10-2 SCClose
6.10-3 SCCollapseGreedy
6.10-4 SCCone
6.10-5 SCDeletedJoin
6.10-6 SCDifference
6.10-7 SCFillSphere
6.10-8 SCHandleAddition
6.10-9 SCIntersection
6.10-10 SCIsIsomorphic
6.10-11 SCIsSubcomplex
6.10-12 SCIsomorphism
6.10-13 SCIsomorphismEx
6.10-14 SCJoin
6.10-15 SCNeighbors
6.10-16 SCNeighborsEx
6.10-17 SCShelling
6.10-18 SCShellingExt
6.10-19 SCShellings
6.10-20 SCSpan
6.10-21 SCSuspension
6.10-22 SCUnion
6.10-23 SCVertexIdentification
6.10-24 SCWedge
7 Functions and operations for `SCNormalSurface`
7.1 Creating an `SCNormalSurface` object
7.1-1 SCNSEmpty
7.1-2 SCNSFromFacets
7.1-3 SCNS
7.1-4 SCNSSlicing
7.2 Generating new objects from discrete normal surfaces
7.2-1 SCCopy
7.2-2 SCNSTriangulation
7.3 Properties of `SCNormalSurface` objects
7.3-1 SCConnectedComponents
7.3-2 SCDim
7.3-3 SCEulerCharacteristic
7.3-4 SCFVector
7.3-5 SCFaceLattice
7.3-6 SCFaceLatticeEx
7.3-7 SCFpBettiNumbers
7.3-8 SCGenus
7.3-9 SCHomology
7.3-10 SCIsConnected
7.3-11 SCIsEmpty
7.3-12 SCIsOrientable
7.3-13 SCSkel
7.3-14 SCSkelEx
7.3-15 SCTopologicalType
7.3-16 SCUnion
8 (Co-)Homology of simplicial complexes
8.1 Homology computation
8.1-1 SCBoundaryOperatorMatrix
8.1-2 SCBoundarySimplex
8.1-3 SCHomologyBasis
8.1-4 SCHomologyBasisAsSimplices
8.1-5 SCHomologyInternal
8.2 Cohomology computation
8.2-1 SCCoboundaryOperatorMatrix
8.2-2 SCCohomology
8.2-3 SCCohomologyBasis
8.2-4 SCCohomologyBasisAsSimplices
8.2-5 SCCupProduct
8.2-6 SCIntersectionForm
8.2-7 SCIntersectionFormParity
8.2-8 SCIntersectionFormDimensionality
8.2-9 SCIntersectionFormSignature
9 Bistellar flips
9.1 Theory
9.2 Functions for bistellar flips
9.2-1 SCBistellarOptions
9.2-2 SCEquivalent
9.2-3 SCExamineComplexBistellar
9.2-4 SCIntFunc.SCChooseMove
9.2-5 SCIsKStackedSphere
9.2-6 SCIsManifold
9.2-7 SCIsMovableComplex
9.2-8 SCMove
9.2-9 SCMoves
9.2-10 SCRMoves
9.2-11 SCRandomize
9.2-12 SCReduceAsSubcomplex
9.2-13 SCReduceComplex
9.2-14 SCReduceComplexEx
9.2-15 SCReduceComplexFast
10 Simplicial blowups
10.1 Theory
10.2 Functions related to simplicial blowups
10.2-1 SCBlowup
10.2-2 SCMappingCylinder
11 Polyhedral Morse theory
11.1 Polyhedral Morse theory related functions
11.1-1 SCIsTight
11.1-2 SCMorseIsPerfect
11.1-3 SCSlicing
11.1-4 SCMorseMultiplicityVector
11.1-5 SCMorseNumberOfCriticalPoints
12 Library and I/O
12.1 Simplicial complex library
12.1-1 SCIsLibRepository
12.1-2 SCLib
12.1-3 SCLibAdd
12.1-4 SCLibAllComplexes
12.1-5 SCLibDelete
12.1-6 SCLibDetermineTopologicalType
12.1-7 SCLibFlush
12.1-8 SCLibInit
12.1-9 SCLibIsLoaded
12.1-10 SCLibSearchByAttribute
12.1-11 SCLibSearchByName
12.1-12 SCLibSize
12.1-13 SCLibUpdate
12.1-14 SCLibStatus
12.2 simpcomp input / output functions
12.2-1 SCLoad
12.2-2 SCLoadXML
12.2-3 SCSave
12.2-4 SCSaveXML
12.2-5 SCExportMacaulay2
12.2-6 SCExportPolymake
12.2-7 SCImportPolymake
12.2-8 SCExportLatexTable
12.2-9 SCExportJavaView
12.2-10 SCExportPolymake
12.2-11 SCExportSnapPy
13 Interfaces to other software packages
13.1 Interface to the GAP-package homalg
13.1-1 SCHomalgBoundaryMatrices
13.1-2 SCHomalgCoboundaryMatrices
13.1-3 SCHomalgHomology
13.1-4 SCHomalgHomologyBasis
13.1-5 SCHomalgCohomology
13.1-6 SCHomalgCohomologyBasis
14 Miscellaneous functions
14.1 simpcomp logging
14.1-1 SCInfoLevel
14.2 Email notification system
14.2-1 SCMailClearPending
14.2-2 SCMailIsEnabled
14.2-3 SCMailIsPending
14.2-4 SCMailSend
14.2-5 SCMailSendPending
14.2-6 SCMailSetAddress
14.2-7 SCMailSetEnabled
14.2-8 SCMailSetMinInterval
14.3 Testing the functionality of simpcomp
14.3-1 SCRunTest
15 Property handlers
15.1 Property handlers of `SCPolyhedralComplex`
15.2 Property handlers of `SCSimplicialComplex`
15.3 Property handlers of `SCNormalSurface`
15.4 Property handlers of `SCLibRepository`
16 A demo session with simpcomp
16.1 Creating a `SCSimplicialComplex` object
16.2 Working with a `SCSimplicialComplex` object
16.3 Calculating properties of a `SCSimplicialComplex` object
16.4 Creating new complexes from a `SCSimplicialComplex` object
16.5 Homology related calculations
16.6 Bistellar flips
16.7 Simplicial blowups
16.8 Discrete normal surfaces and slicings
17 simpcomp internals
17.1 The GAP object type `SCPropertyObject`
17.1-1 SCProperties
17.1-2 SCPropertiesFlush
17.1-3 SCPropertiesManaged
17.1-4 SCPropertiesNames
17.1-5 SCPropertiesTmp
17.1-6 SCPropertiesTmpNames
17.1-7 SCPropertyByName
17.1-8 SCPropertyDrop
17.1-9 SCPropertyHandlersSet
17.1-10 SCPropertySet
17.1-11 SCPropertySetMutable
17.1-12 SCPropertyTmpByName
17.1-13 SCPropertyTmpDrop
17.1-14 SCPropertyTmpSet
17.2 Example of a common attribute
17.3 Writing a method for an attribute
References
Index
[Top of Book] [Contents] [Next Chapter]
Goto Chapter: Top 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 Bib Ind

generated by GAPDoc2HTML