GAP 4.8.9 installation with standard packages -- copy to your CoCalc project to get it
1[1X1 [33X[0;0YIntroduction[133X[101X23[33X[0;0Y[5Xsimpcomp[105X is a [5XGAP[105X package that provides the user with functions to do4calculations and constructions with simplicial complexes in the context of5combinatorial topology (see abstract). If possible, it makes use of the [5XGAP[105X6packages [5Xhomology[105X [DHSW11] by J.-G. Dumas et al. and [5XGRAPE[105X [Soi12] by L.7Soicher.[133X89[33X[0;0YMost parts of this manual can be accessed directly from within [5XGAP[105X using its10internal help system.[133X111213[1X1.1 [33X[0;0YWhat is new[133X[101X1415[33X[0;0Y[5Xsimpcomp[105X is a package for working with simplicial complexes. It claims to16provide the user with a broad spectrum of functionality regarding simplicial17constructions.[133X1819[33X[0;0Y[5Xsimpcomp[105X allows the user to interactively construct complexes and to compute20their properties in the [5XGAP[105X shell. Furthermore, it makes use of [5XGAP[105X's21expertise in groups and group operations. For example, automorphism groups22and fundamental groups of complexes can be computed and examined further23within the [5XGAP[105X system. Apart from supplying a facet list, the user can as24well construct simplicial complexes from a set of generators and a25prescribed automorphism group -- the latter form being the common in which a26complex is presented in a publication. This feature is to our knowledge27unique to [5Xsimpcomp[105X. Furthermore, [5Xsimpcomp[105X as of Version 1.3.0 supports the28construction of simplicial complexes of prescribed dimension, vertex number29and transitive automorphism group as described in [Lut03], [CK01] and a30number of functions (function prefix [10XSCSeries...[110X) provide infinite series of31combinatorial manifolds with transitive automorphism group.[133X3233[33X[0;0YAs of Version 1.4.0, [5Xsimpcomp[105X provides the possibility to perform a34combinatorial version of algebraic blowups, so-called simplicial blowups,35for combinatorial [22X4[122X-manfolds as described in [SK11] and [Spr11a]. The36implementation can be used as well to resolve isolated singularities of37combinatorial [22X4[122X-pseudomanifolds. It seems that this feature, too, is unique38to [5Xsimpcomp[105X.[133X3940[33X[0;0YStarting from Version 1.5.4, [5Xsimpcomp[105X comes with more efficient code to41perform bistellar moves implemented in [10XC[110X (see function [2XSCReduceComplexFast[102X42([14X9.2-15[114X)). However, this feature is completely optional.[133X434445[1X1.2 [33X[0;0Y[5Xsimpcomp[105X[101X[1X benefits[133X[101X4647[33X[0;0YThe origin of [5Xsimpcomp[105X is a collection of scripts of the two authors48[Eff11a], [Spr11a] that provide basic and often-needed functions and49operations for working with simplicial complexes. Apart from some optional50code dealing with bistellar moves (see Section [14X9[114X and in particular51[2XSCReduceComplexFast[102X ([14X9.2-15[114X)), it is written entirely in the [5XGAP[105X scripting52language, thus giving the user the possibility to see behind the scenes and53to customize or alter [5Xsimpcomp[105X functions if needed.[133X5455[33X[0;0YThe main benefit when working with [5Xsimpcomp[105X over implementing the needed56functions from scratch is that [5Xsimpcomp[105X encapsulates all methods and57properties of a simplicial complex in a new [5XGAP[105X object type (as an abstract58data type). This way, among other things, [5Xsimpcomp[105X can transparently cache59properties already calculated, thus preventing unnecessary double60calculations. It also takes care of the error-prone vertex labeling of a61complex. As of Version 1.5, [5Xsimpcomp[105X makes use of [5XGAP[105X's caching mechanism62(as described in [BL98]) to cache all known properties of a simplicial63complex. In addition, a customized data structure is provided to organize64the complex library and to cache temporary information about a complex.[133X6566[33X[0;0Y[5Xsimpcomp[105X provides the user with functions to save and load the simplicial67complexes to and from files and to import and export a complex in various68formats (e.g. from and to [5Xpolymake/TOPAZ[105X [GJ00], [5XSnapPea[105X [Wee99] and [5XRegina[105X69[BBPo14] (via the [5XSnapPea[105X file format), [5XMacaulay2[105X [GS], LaTeX, etc.).[133X7071[33X[0;0YIn contrast to the software package [5Xpolymake[105X [GJ00] providing the most72efficient algorithms for each task in form of a heterogeneous package (where73algorithms are implemented in various languages), the primary goal when74developing [5Xsimpcomp[105X was not efficiency (this is already limited by the [5XGAP[105X75scripting language), but rather ease of use and ease of extensibility by the76user in the [5XGAP[105X language with all its mathematical and algebraic77capabilities. Extending [5Xsimpcomp[105X is possible directly from within [5XGAP[105X,78without having to compile anything, see Chapter [14X18[114X.[133X798081[1X1.3 [33X[0;0YHow to save time reading this document[133X[101X8283[33X[0;0YThe core component in [5Xsimpcomp[105X is the newly defined object types84[10XSCPropertyObject[110X and its derived subtype [10XSCSimplicialComplex[110X. When working85with this package it is important to understand how objects of these types86can be created, accessed and modified. The reader is therefore advised to87first skim over the Chapters [14X3[114X and [14X5[114X.[133X8889[33X[0;0YThe impatient reader may then directly skip to Chapter [14X17[114X to see [5Xsimpcomp[105X in90action.[133X9192[33X[0;0YThe next advised step is to have a look at the functions for creating93objects of type [10XSCSimplicialComplex[110X, see the first section of Chapter [14X6[114X.[133X9495[33X[0;0YThe rest of Chapter [14X6[114X contains most of the functions that [5Xsimpcomp[105X provides,96except for the functions related to (co-)homology, bistellar flips,97simplicial blowups, polyhedral Morse theory, slicings (discrete normal98surfaces) and the simplicial complex library that are described in the99Chapters [14X8[114X to [14X13[114X. Functions for the more general [5XGAP[105X object type100[10XSCPolyhedralComplex[110X are described in Chapter [14X4[114X .[133X101102103[1X1.4 [33X[0;0YOrganization of this document[133X[101X104105[33X[0;0YThis manual accompanying [5Xsimpcomp[105X is organized as follows.[133X106107[30X [33X[0;6YChapter [14X2[114X provides a short introduction into the theory of simplicial108complexes and PL-topology.[133X109110[30X [33X[0;6YChapter [14X3[114X gives a short overview about the newly defined [5XGAP[105X object111types [5Xsimpcomp[105X is working with.[133X112113[30X [33X[0;6YChapter [14X4[114X is devoted to the description of the [5XGAP[105X object type114[10XSCPolyhedralComplex[110X that is defined by [5Xsimpcomp[105X.[133X115116[30X [33X[0;6YChapter [14X5[114X introduce the [5XGAP[105X object types [10XSCSimplicialComplex[110X and117[10XSCNormalSurface[110X which are both derived from [10XSCPolyhedralComplex[110X.[133X118119[30X [33X[0;6YIn Chapter [14X6[114X functions for working with simplicial complexes are120described.[133X121122[30X [33X[0;6YChapter [14X7[114X gives an overview over functions related to slicings /123discrete normal surfaces.[133X124125[30X [33X[0;6YChapter [14X8[114X describes the homology- and cohomology-related functions of126[5Xsimpcomp[105X.[133X127128[30X [33X[0;6YChapter [14X9[114X contains a description of the functions related to bistellar129flips provided by [5Xsimpcomp[105X.[133X130131[30X [33X[0;6YIn Chapter [14X10[114X simplicial blowups and resolutions of singularities of132combinatorial [22X4[122X-pseudomanifolds are explained.[133X133134[30X [33X[0;6YIn Chapter [14X11[114X polyhedral Morse theory is discussed.[133X135136[30X [33X[0;6YIn Chapter [14X13[114X the simplicial complex library and the input output137functionality that [5Xsimpcomp[105X provides is described in detail.[133X138139[30X [33X[0;6YChapter [14X15[114X contains descriptions of functions not fitting in the other140chapters, such as the error handling and the email notification system141of [5Xsimpcomp[105X.[133X142143[30X [33X[0;6YChapter [14X16[114X contains a list of all property handlers allowing to access144properties of a [10XSCSimplicialComplex[110X object, a [10XSCNormalSurface[110X object145or a [10XSCLibRepository[110X object via the dot operator (pseudo object146orientation).[133X147148[30X [33X[0;6YChapter [14X17[114X contains the transcript of a demo session with [5Xsimpcomp[105X149showing some of the constructions and calculations with simplicial150complexes that can also be used as a first overview of things possible151with this package.[133X152153[30X [33X[0;6YFinally, Chapter [14X18[114X focuses on the description of the internal154structure of [5Xsimpcomp[105X and deals with aspects of extending the155functionality of the package.[133X156157158[1X1.5 [33X[0;0YHow to assure [5Xsimpcomp[105X[101X[1X works correctly[133X[101X159160[33X[0;0YAs with all software, it is important to test whether [5Xsimpcomp[105X functions161correctly on your system after installing it. [5XGAP[105X has an internal testing162mechanism and [5Xsimpcomp[105X ships with a short testing file that does some sample163computations and verifies that the results are correct.[133X164165[33X[0;0YTo test the functionality of [5Xsimpcomp[105X you can run the function [2XSCRunTest[102X166([14X15.3-1[114X) from the [5XGAP[105X console:[133X167168[4X[32X Example [32X[104X169[4X[25Xgap>[125X [27XSCRunTest();[127X[104X170[4X[28X+ test simpcomp package, Version 2.1.7[128X[104X171[4X[28X+ GAP4stones: 69988[128X[104X172[4X[28Xtrue[128X[104X173[4X[25Xgap>[125X [27X[127X[104X174[4X[32X[104X175176[33X[0;0Y[2XSCRunTest[102X ([14X15.3-1[114X) should return [9Xtrue[109X, otherwise the correct functionality177of simpcomp cannot be guaranteed.[133X178179180[1X1.6 [33X[0;0YControlling [5Xsimpcomp[105X[101X[1X log messages[133X[101X181182[33X[0;0YNote that the verbosity of the output of information to the screen during183calls to functions of the package [5Xsimpcomp[105X can be controlled by setting the184info level parameter via the function [2XSCInfoLevel[102X ([14X15.1-1[114X).[133X185186187[1X1.7 [33X[0;0YHow to cite [5Xsimpcomp[105X[101X[1X[133X[101X188189[33X[0;0YIf you would like to cite [5Xsimpcomp[105X using BibTeX, you can use the following190BibTeX entry for the current [5Xsimpcomp[105X version (remember to include the [10Xurl[110X191package in your LaTeX document):[133X192193@manual{simpcomp,194author = "Felix Effenberger and Jonathan Spreer",195title = "{\tt simpcomp} - a {\tt GAP} toolkit for simplicial complexes,196{V}ersion 2.1.7",197year = "2017",198url = "\url{https://github.com/simpcomp-team/simpcomp}",199}200201[33X[0;0YIf you are not using BibTeX, you can use the following entry inside the202bibliography environment of LaTeX.[133X203204\bibitem{simpcomp}205F.~Effenberger and J.~Spreer,206\emph{{\tt simpcomp} -- a {\tt GAP} toolkit for simplicial complexes},207Version 2.1.7,2082017,209\url{https://github.com/simpcomp-team/simpcomp}.210211212213