Bild des Institutes mit dem Logo der Universität

simpcomp - A GAP toolbox for simplicial complexes

by Felix Effenberger and Jonathan Spreer

About

simpcomp is a GAP package for working with simplicial complexes. It allows the computation of many properties of simplicial complexes (such as the f-, g- and h-vectors, the face lattice, the automorphism group, (co-)homology with explicit basis computation, intersection form, etc.) and provides the user with functions to compute new complexes from old (simplex links and stars, connected sums, cartesian products, handle additions, bistellar flips, etc.). Furthermore, it comes with an extensive library of known triangulations of manifolds and provides the user with the possibility to create own complex libraries.
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.
simpcomp relies on the GAP package homology [DHSW04] for its homology computation, but also provides the user with an own (co-)homology algorithm in case the packacke homology is not available. 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 in used as fallback if the GRAPE package is not available.

Licence

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

Dependencies

GAP (>=4.4)
Depending on GAP packages: GAPDoc (>= 1.2), part of the core GAP system.
Strongly suggested other packages: Homology (>= 1.4.2), GRAPE (>= 4.2)

Changes

  • 16/11/2009 - Version 1.0.440: Minor updates.
    • Updated file and directory attributes to comply with GAP standard.
    • Added function SCIntersectionFormSignature. Thanks to Michael Eisermann for helpful comments on calculating signatures of matrices without the need of calculating eigenvalues.
  • 11/11/2009 - Version 1.0.435: Minor updates.
    • Updated documentation.
    • Updated GRAPE availability test to reliably work with GRAPE 4.3.
  • 26/10/2009 - Version 1.0.403: Minor compatibility fixes in this release
    • Fixed some error messages on undefined global variables during loading of simpcomp when the packages `homology' and/or `GRAPE' are not present.
    • Fallback to functions of `homology' package are now handled correctly.
    • Added extended testing functionality and SCRunTest.
  • 13/10/2009 - Version 1.0.389: Initial release.

Download and installation

Download simpcomp 1.0.440: .tar.gz (16/11/2009)
  1. Install the GAP system, version 4.4 or higher.
  2. (recommended) Install the GAP-packages Homology, version 1.4.2 or higher and GRAPE, version 4.2 or higher.
  3. Download the simpcomp archive .tar.gz.
  4. Unpack the archive to the directory GAPROOT/pkg/.
  5. From within GAP, run "SCRunTest(); for a quick self test of simpcomp that assures the package works correctly.
    The output of the test function should look like this:

    gap> SCRunTest();
    + simpcomp package test
    + GAP4stones: 28579
    true


    Extended testing can be performed by running "ReadPackage("simpcomp","tst/testshort.gap");" or "ReadPackage("simpcomp","tst/testall.gap");" from the GAP command line.
  6. If you want simpcomp to automatically load upon GAP startup, either set the variable Autoload:=true in GAPROOT/pkg/simpcomp/PackageInfo.g (in line ~106) or add the command LoadPackage("simpcomp"); to your ~/.gaprc.

Roadmap

There are currently a few features that are planned to be supported in future versions of simpcomp:

  • Support for fundamental group computation
  • Extension of the library (pseudo manifolds, etc.)
  • Support for normal surfaces and slicings of simplicial complexes

Bugs

We have thorougly tested simpcomp on errors. If you none the less encouter errors or inconsistencies when working with simpcomp, please contact the authors.

Links

  • GAP - Groups, Algorithms, Programming.
  • GAP package Simplicial Homology.
  • GAP package GRAPE - GRaph Algorithms using PErmutation groups.
  • GAP package polymaking - Interfacing the geometry software polymake.
  • polymake, a tool for the algorithmic treatment of polytopes and polyhedra.
  • nauty, a program for computing automorphism groups of graphs and digraphs.

Contact

Felix Effenberger and
Jonathan Spreer
Address: University of Stuttgart
Department of Mathematics
Institute of Geometry and Topology
D-70550 Stuttgart, Germany