TOPCOM
TOPCOM (current version is 1.1.2)
TOPCOM is a package for computing Triangulations Of Point Configurations and Oriented Matroids. It was very much inspired by the maple program PUNTOS, which was written by Jesus de Loera. TOPCOM is entirely written in C++, so there is a significant speed up compared to PUNTOS.
TOPCOM version 1.1.2 is a bugfix version derived from the significantly extended version 1.1.0, with new algorithms for the enumeration of
- all triangulations
- all cocircuits
- all circuits
of a point or vector configuration up to symmetry. It uses lock-free multi-threading techniques to speed up computations on multi-core machines. Therefore, a compiler supporting the c++17 standard is needed to build it. TOPCOM 1.1.0 comes with an accompanying manuscript on symmetric lexicographic subset reverse search describing the algorithmic progress and some computational results. The single most important impact on the usage of TOPCOM is that now the extension-based enumeration of all triangulations is both faster and more memory-efficient than the flip-based enumeration of the flip-graph component of the regular triangulations.
The complete ChangeLog can be downloaded here.
The package MPTOPCOM by Skip Jordan, Michael Joswig, and Lars Kastner for the parallel enumeration of triangulations based, among other things, on the TOPCOM C++-library enumerates all so-called subregular triangulations (a subset of all triangulations containing the regular ones) in parallel. It is able to solve larger instances than TOPCOM versions 0.x.x. See their paper for details.
TOPCOM version 0.17.10 is a pure maintanance release based on gmp-6.2.1 in order to be able to use TOPCOM on Apple silicon (M1). I hope to release the improved new version 1.0.x soon.
TOPCOM version 0.17.8 updates to gmp-6.1.1 and current automake/autoconf initialization. In the previous version 0.17.7, accidentally a wrong version of gmp was included. Furthermore, a bug was fixed where a new[] was not followed by a delete[] but a delete.
TOPCOM version 0.17.5 avoids a name space clash with the token "nullptr" in some gcc versions. Moreover, the configure routine now forces an install of external libraries in "external/lib" instead of "external/lib64" or the like, since this is what TOPCOM expects to be the location of external libs.
If TOPCOM turns out to be useful to you, I would be happy to hear about why. If you expected TOPCOM to be useful to you and it was not, then I would be happy to hear about why not.
At any rate: I received several questions about how to properly cite TOPCOM in research papers. I prefer a citation to the following publication:
Jörg Rambau. TOPCOM: Triangulations of Point Configurations and Oriented Matroids, Mathematical Software - ICMS 2002 (Cohen, Arjeh M. and Gao, Xiao-Shan and Takayama, Nobuki, eds.), World Scientific (2002), pp. 330-340, available as ZIB Report 02-17. (Here is a bibtex-entry.)
Remark: TOPCOM contains a program to produce a point configuration and one of its triangulation without flips as constructed by Francisco Santos in his great paper
Francisco Santos: A Point Configuration whose Space of Triangulations is Disconnected,
Journal of the American Mathematical Society 13 No. 3 (2000), 611-637.
TOPCOM can check the triangulation and compute the number of flips, which in fact is zero.