  
  
                                    [1X[5Xsimpcomp[105X[101X
  
  
                     [1XA [5XGAP[105X toolbox for simplicial complexes[101X
  
  
                                 Version 2.0.0
  
  
                                 December 2013
  
  
                               Felix Effenberger
  
                                Jonathan Spreer
  
  
  
  Felix Effenberger
      Email:    [7Xmailto:felix.effenberger@mis.mpg.de[107X
      Address:  [33X[0;14YMax Planck Institute for Mathematics in the Sciences[133X
                [33X[0;14YInselstr. 22[133X
                [33X[0;14YD-04103 Leipzig, Germany[133X
  
  
  Jonathan Spreer
      Email:    [7Xmailto:j.spreer@uq.edu.au[107X
      Address:  [33X[0;14YUniversity of Queensland[133X
                [33X[0;14YSchool of Mathematics and Physics[133X
                [33X[0;14YBrisbane QLD 4072 Australia[133X
  
  
  
  -------------------------------------------------------
  [1XAbstract[101X
  [33X[0;0Y[5Xsimpcomp[105X  is  an  extension  (a  so  called package) to [5XGAP[105X 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  [22Xf[122X-,  [22Xg[122X-  and  [22Xh[122X-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.). [5Xsimpcomp[105X ships with an
  extensive  library  of known triangulations of manifolds and a census of all
  combinatorial [22X3[122X-manifolds with transitive cyclic symmetry up to [22X22[122X 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  [22X4[122X-manifolds  are
  implemented.[133X
  [33X[0;0Y[5Xsimpcomp[105X  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.[133X
  [33X[0;0YIf possible, [5Xsimpcomp[105X makes use of the [5XGAP[105X package [5Xhomology[105X [DHSW04] for its
  homology  computation  but  also  provides  the  user with own (co-)homology
  algorithms. For automorphism group computation the [5XGAP[105X package [5XGRAPE[105X [Soi06]
  is  used,  which in turn uses the program [10Xnauty[110X by Brendan McKay [McK84]. An
  internal automorphism group calculation algorithm is used as fallback if the
  [5XGRAPE[105X package is not available.[133X
  
  
  -------------------------------------------------------
  [1XCopyright[101X
  [33X[0;0Y© 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 [7Xhttp://www.fsf.org/licensing/licenses/fdl.html[107X
  for a copy.[133X
  
  [33X[0;0Y[5Xsimpcomp[105X  is  free  software. The code of [5Xsimpcomp[105X is released under the GPL
  version  2  or  later  (at your preference). For the text of the GPL see the
  file [10XCOPYING[110X in the [5Xsimpcomp[105X directory or [7Xhttp://www.gnu.org/licenses/[107X.[133X
  
  
  -------------------------------------------------------
  [1XAcknowledgements[101X
  [33X[0;0YA  few  functions  of  [5Xsimpcomp[105X  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 [5XGAP[105X
  programs BISTELLAR and MANIFOLD_VT from [ManifoldPage]). Some functions were
  carried  over  from  the  [5Xhomology[105X 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.[133X
  
  [33X[0;0YMost  of  the complexes in the simplicial complex library are taken from the
  "Manifold Page" by Frank Lutz [ManifoldPage].[133X
  
  [33X[0;0YThe  authors  acknowledge  support  by  the  Deutsche Forschungsgemeinschaft
  (DFG):  [5Xsimpcomp[105X  has been developed within the DFG projects Ku 1203/5-2 and
  Ku 1203/5-3.[133X
  
  
  -------------------------------------------------------
  
  
  [1XContents (simpcomp)[101X
  
  1 [33X[0;0YIntroduction[133X
    1.1 [33X[0;0YWhat is new[133X
    1.2 [33X[0;0Y[5Xsimpcomp[105X benefits[133X
    1.3 [33X[0;0YHow to save time reading this document[133X
    1.4 [33X[0;0YOrganization of this document[133X
    1.5 [33X[0;0YHow to assure [5Xsimpcomp[105X works correctly[133X
    1.6 [33X[0;0YControlling [5Xsimpcomp[105X log messages[133X
    1.7 [33X[0;0YHow to cite [5Xsimpcomp[105X[133X
  2 [33X[0;0YTheoretical foundations[133X
    2.1 [33X[0;0YPolytopes and polytopal complexes[133X
    2.2 [33X[0;0YSimplices and simplicial complexes[133X
    2.3 [33X[0;0YFrom geometry to combinatorics[133X
    2.4 [33X[0;0YDiscrete Normal surfaces[133X
    2.5 [33X[0;0YPolyhedral Morse theory and slicings[133X
    2.6 [33X[0;0YTightness and tight triangulations[133X
    2.7 [33X[0;0YSimplicial blowups[133X
  3 [33X[0;0YThe new GAP object types of [5Xsimpcomp[105X[133X
    3.1 [33X[0;0YAccessing properties of a [10XSCPolyhedralComplex[110X object[133X
  4 [33X[0;0YFunctions and operations for the GAP object type [10XSCPolyhedralComplex[110X[133X
    4.1 [33X[0;0YComputing properties of objects of type [10XSCPolyhedralComplex[110X[133X
      4.1-1 SCFacets
      4.1-2 SCFacetsEx
      4.1-3 SCVertices
      4.1-4 SCVerticesEx
    4.2 [33X[0;0YVertex labelings and label operations[133X
      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 [33X[0;0YOperations on objects of type [10XSCPolyhedralComplex[110X[133X
      4.3-1 SCAntiStar
      4.3-2 SCLink
      4.3-3 SCLinks
      4.3-4 SCStar
      4.3-5 SCStars
  5 [33X[0;0YThe GAP object types [10XSCSimplicialComplex[110X and [10XSCNormalSurface[110X[133X
    5.1 [33X[0;0YThe object type [10XSCSimplicialComplex[110X[133X
      5.1-1 SCIsSimplicialComplex
      5.1-2 SCCopy
      5.1-3 ShallowCopy (SCSimplicialComplex)
      5.1-4 SCPropertiesDropped
    5.2 [33X[0;0YOverloaded operators of [10XSCSimplicialComplex[110X[133X
      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 [33X[0;0Y[10XSCSimplicialComplex[110X as a subtype of [10XSet[110X[133X
      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 [33X[0;0YThe object type [10XSCNormalSurface[110X[133X
    5.5 [33X[0;0YOverloaded operators of [10XSCNormalSurface[110X[133X
      5.5-1 Operation + (SCNormalSurface, Integer)
      5.5-2 Operation - (SCNormalSurface, Integer)
      5.5-3 Operation mod (SCNormalSurface, Integer)
    5.6 [33X[0;0Y[10XSCNormalSurface[110X as a subtype of [10XSet[110X[133X
      5.6-1 Operation Union (SCNormalSurface, SCNormalSurface)
  6 [33X[0;0YFunctions and operations for [10XSCSimplicialComplex[110X[133X
    6.1 [33X[0;0YCreating an [10XSCSimplicialComplex[110X object from a facet list[133X
      6.1-1 SCFromFacets
      6.1-2 SC
      6.1-3 SCFromDifferenceCycles
      6.1-4 SCFromGenerators
    6.2 [33X[0;0YIsomorphism signatures[133X
      6.2-1 SCExportToString
      6.2-2 SCExportIsoSig
      6.2-3 SCFromIsoSig
    6.3 [33X[0;0YGenerating some standard triangulations[133X
      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 [33X[0;0YGenerating infinite series of transitive triangulations[133X
      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 [33X[0;0YA census of regular and chiral maps[133X
      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 [33X[0;0YGenerating new complexes from old[133X
      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 [33X[0;0YSimplicial complexes from transitive permutation groups[133X
      6.7-1 SCsFromGroupExt
      6.7-2 SCsFromGroupByTransitivity
    6.8 [33X[0;0YThe classification of cyclic combinatorial 3-manifolds[133X
      6.8-1 SCNrCyclic3Mflds
      6.8-2 SCCyclic3MfldTopTypes
      6.8-3 SCCyclic3Mfld
      6.8-4 SCCyclic3MfldByType
      6.8-5 SCCyclic3MfldListOfGivenType
    6.9 [33X[0;0YComputing properties of simplicial complexes[133X
      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 [33X[0;0YOperations on simplicial complexes[133X
      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 [33X[0;0YFunctions and operations for [10XSCNormalSurface[110X[133X
    7.1 [33X[0;0YCreating an [10XSCNormalSurface[110X object[133X
      7.1-1 SCNSEmpty
      7.1-2 SCNSFromFacets
      7.1-3 SCNS
      7.1-4 SCNSSlicing
    7.2 [33X[0;0YGenerating new objects from discrete normal surfaces[133X
      7.2-1 SCCopy
      7.2-2 SCNSTriangulation
    7.3 [33X[0;0YProperties of [10XSCNormalSurface[110X objects[133X
      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 [33X[0;0Y(Co-)Homology of simplicial complexes[133X
    8.1 [33X[0;0YHomology computation[133X
      8.1-1 SCBoundaryOperatorMatrix
      8.1-2 SCBoundarySimplex
      8.1-3 SCHomologyBasis
      8.1-4 SCHomologyBasisAsSimplices
      8.1-5 SCHomologyInternal
    8.2 [33X[0;0YCohomology computation[133X
      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 [33X[0;0YBistellar flips[133X
    9.1 [33X[0;0YTheory[133X
    9.2 [33X[0;0YFunctions for bistellar flips[133X
      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 [33X[0;0YSimplicial blowups[133X
    10.1 [33X[0;0YTheory[133X
    10.2 [33X[0;0YFunctions related to simplicial blowups[133X
      10.2-1 SCBlowup
      10.2-2 SCMappingCylinder
  11 [33X[0;0YPolyhedral Morse theory[133X
    11.1 [33X[0;0YPolyhedral Morse theory related functions[133X
      11.1-1 SCIsTight
      11.1-2 SCMorseIsPerfect
      11.1-3 SCSlicing
      11.1-4 SCMorseMultiplicityVector
      11.1-5 SCMorseNumberOfCriticalPoints
  12 [33X[0;0YLibrary and I/O[133X
    12.1 [33X[0;0YSimplicial complex library[133X
      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 [33X[0;0Y[5Xsimpcomp[105X input / output functions[133X
      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 [33X[0;0YInterfaces to other software packages[133X
    13.1 [33X[0;0YInterface to the [5XGAP[105X-package [5Xhomalg[105X[133X
      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 [33X[0;0YMiscellaneous functions[133X
    14.1 [33X[0;0Y[5Xsimpcomp[105X logging[133X
      14.1-1 SCInfoLevel
    14.2 [33X[0;0YEmail notification system[133X
      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 [33X[0;0YTesting the functionality of [5Xsimpcomp[105X[133X
      14.3-1 SCRunTest
  15 [33X[0;0YProperty handlers[133X
    15.1 [33X[0;0YProperty handlers of [10XSCPolyhedralComplex[110X[133X
    15.2 [33X[0;0YProperty handlers of [10XSCSimplicialComplex[110X[133X
    15.3 [33X[0;0YProperty handlers of [10XSCNormalSurface[110X[133X
    15.4 [33X[0;0YProperty handlers of [10XSCLibRepository[110X[133X
  16 [33X[0;0YA demo session with [5Xsimpcomp[105X[133X
    16.1 [33X[0;0YCreating a [10XSCSimplicialComplex[110X object[133X
    16.2 [33X[0;0YWorking with a [10XSCSimplicialComplex[110X object[133X
    16.3 [33X[0;0YCalculating properties of a [10XSCSimplicialComplex[110X object[133X
    16.4 [33X[0;0YCreating new complexes from a [10XSCSimplicialComplex[110X object[133X
    16.5 [33X[0;0YHomology related calculations[133X
    16.6 [33X[0;0YBistellar flips[133X
    16.7 [33X[0;0YSimplicial blowups[133X
    16.8 [33X[0;0YDiscrete normal surfaces and slicings[133X
  17 [33X[0;0Y[5Xsimpcomp[105X internals[133X
    17.1 [33X[0;0YThe [5XGAP[105X object type [10XSCPropertyObject[110X[133X
      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 [33X[0;0YExample of a common attribute[133X
    17.3 [33X[0;0YWriting a method for an attribute[133X
  
  
  [32X
