simpcomp is a GAP package that provides the user with functions to do calculations and constructions with simplicial complexes (see abstract). It builds on top of the GAP packages homology [DH+04] by J.-G. Dumas et al. and GRAPE [S06] by L. Soicher.
Most parts of this manual can be accessed directly from within GAP using its internal help system.
The origin of simpcomp was a collection of scripts of the two authors that provide basic and often-needed functions and operations for working with simplicial complexes.
simpcomp is written entirely in the GAP scripting language, thus giving the user the possibility to see the behind the scenes and to customize or alter simpcomp functions if needed.
The main benefit when working with simpcomp over implementing the needed functions from scratch is the fact that simpcomp takes care of the error-prone vertex labeling of a complex and the fact that it transparently caches properties already calculated, thus preventing unnecessary double calculations of the same property. It also provides the user with functions to save and load the simplicial complexes to and from files and ships with an extensive library of known triangulations of manifolds and pseudomanifolds. This allows the user to work with many different known triangulations without having to construct them first.
In contrast to a fully fledged software package like polymake [GJ00] providing the most efficient algorithms for each task in form of a heterogeneous package (where algorithms are implemented in various languages), the primary goal when developing simpcomp was not efficieny (this is already limited by the GAP scripting language), but rather ease of use and ease of extensibility by the user in the GAP language with all its mathematical and algebraic capabilities.
Extending simpcomp is possible directly from within GAP, without having to compile anything, see chapter 12..
The core component in simpcomp is the newly defined object type SCSimplicialComplex
. When working with this package it is important to understand how objects of this type can be created, accessed and modified. The reader is therefore advised to first skim over chapter 3..
The impatient reader may then directly skip to chapter 11. to see simpcomp in action.
The next advised step is to have a look at the functions for creating object of type SCSimplicialComplex
, see the first section of chapter 4..
The rest of chapter 4. contains most of the functions that simpcomp provides, except for the functions related to (co-)homology, bistellar flips and the simplicial complex library that are described in the chapters 5., 6. and 8..
This manual accompanying simpcomp is divided into eleven chapters.
The second chapter provides a short introduction into the theory of simplicial complexes and PL-topology.
The third chapter is devoted to the description of the GAP object type SCSimplicialComplex
that is defined by simpcomp.
In the fourth chapter functions for working with simplicial complexes that are provided by simpcomp are described.
Chapter five describes the homology- and cohomology-related functions of simpcomp.
Chapter six contains a description of the functions related to bistellar flips provided by simpcomp.
In chapter seven the simplicial complex library and the input output functionality that simpcomp provides is described in detail.
Chapter eight contains descriptions of functions not fitting in the other chapters, such as the error handling and the email notification system of simpcomp.
Chapter nine contains the transcript of a demo session with simpcomp showing some of the constructions and calculations with simplicial complexes that can also be used as a first overview of things possible with this package.
Chapter ten contains a transcript of a demo session with simpcomp, showing some of its functionality.
Finally, chapter eleven focuses on the description of the internal structure of the simpcomp and deals with aspects of extending the functionality of the package.
As with all software, it is important to test whether simpcomp functions correctly on your system after installing it. GAP has an internal testing mechanism and simpcomp ships with a short testing file that does some sample computations and verifies that the results are correct.
To test the functionality of simpcomp you can run the function SCRunTest
(9.3-1) from the GAP console:
gap> SCRunTest(); + test simpcomp package, version 1.1.21 + GAP4stones: 69988 true gap> |
SCRunTest
(9.3-1) should return true
, otherwise the correct functionality of simpcomp cannot be guaranteed.
If you would like to cite simpcomp using BibTeX, you can use the following BibTeX entry for the current simpcomp version:
@manual{simpcomp, author = "Felix Effenberger and Jonathan Spreer", title = "{\tt simpcomp} - a {\tt GAP} toolkit for simplicial complexes, {V}ersion 1.1.21}", year = "2009", url = "\url{http://www.igt.uni-stuttgart.de/LstDiffgeo/simpcomp}", }
If you are not using BibTeX, you can use the following entry inside the bibliography environment of LaTeX.
\bibitem{simpcomp} F.~Effenberger and J.~Spreer, \emph{{\tt simpcomp} -- a {\tt GAP} toolkit for simplicial complexes}, Version 1.1.21, 2009, \url{http://www.igt.uni-stuttgart.de/LstDiffgeo/simpcomp}.
generated by GAPDoc2HTML