TOPCOM - Triangulations Of Point Configurations and
Oriented Matroids
The following commands are provided. In Debian, each command is
prefixed by "topcom-".
- points2prettyprint
- Displays the point and their symmetry generators in a more readable
form.
- points2chiro
- Computes the chirotope of a point configuration.
- chiro2dual
- Computes the dual of a chirotope.
- chiro2circuits
- Computes the circuits of a chirotope.
- points2circuits
- Dto. for point configurations (using a faster method).
- chiro2cocircuits
- Computes the cocircuits of a chirotope.
- points2cocircuits
- Dto. for point configurations (using a faster method).
- cocircuits2facets
- Computes the facets of a set of cocircuits.
- points2facets
- Computes the facets of a point configuration.
- points2gale
- Computes a Gale transform of a point configuration.
- chiro2circuits
- Computes the circuits of a point configuration.
- chiro2cocircuits
- Computes the cocircuits of a point configuration.
- points2facets
- Computes the facets of a point configuration.
- points2nflips
- Computes the number of flips of a point configurations and the seed
triangulation.
- points2flips
- Computes all flips of a point configurations and the seed
triangulation.
- chiro2placingtriang
- Computes the placing triangulation of a chirotope given by the numbering
of the elements.
- points2placingtriang
- Dto. for point configurations.
- chiro2finetriang
- Computes a fine (i.e., using all vertices) triangulation by placing and
pushing.
- points2finetriang
- Dto. for point configurations.
- chiro2triangs
- Computes all triangulations of a chirotope that are connected by bistellar
flips to the seed, which is a regular triangulation if no seed is given in
the input file.
- points2triangs
- Dto. for point configurations.
- chiro2ntriangs
- Computes the number of all triangulations of a chirotope that are
connected by bistellar flips to the seed, which is a regular triangulation
if no seed is given in the input file.
- points2ntriangs
- Dto. for point configurations.
- chiro2finetriangs
- Computes all fine triangulations (the ones that use all the points
sometimes called “full”) of a chirotope that are connected
by bistellar flips to a fine seed triangulation.
- points2finetriangs
- Dto. for point configurations.
- chiro2nfinetriangs
- Computes the number of all fine triangulations of a chirotope that are
connected by bistellar flips to a fine seed triangulation.
- points2nfinetriangs
- Dto. for point configurations.
- chiro2alltriangs
- Computes all triangulations of a chirotope.
- points2alltriangs
- Dto. for point configurations.
- chiro2nalltriangs
- Computes the number of all triangulations of a chirotope.
- points2nalltriangs
- Dto. for point configurations.
- chiro2allfinetriangs
- Computes all fine triangulations (sometimes called “full”)
of a chirotope.
- points2allfinetriangs
- Dto. for point configurations.
- chiro2nallfinetriangs
- Computes the number of all fine triangulations of a chirotope.
- points2nallfinetriangs
- Dto. for point configurations.
- chiro2mintriang
- Computes a triangulation of a chirotope with a minimum number of
simplices.
- points2mintriang
- Dto. for point configurations.
- B_S n
- Computes the vertices and symmetry generators of the permutation polytope
of the symmetric group of degree n, also known as the Birkhoff
polytope.
- B_A n
- Computes the vertices and symmetry generators of the permutation polytope
of the alternating group of degree n, also known as the even Birkhoff
polytope.
- B_D n
- Computes the vertices and symmetry generators of the permutation polytope
of the dihedral group of degree n.
- B_S_center
n
- Computes B_S n with an additional center point.
- B_A_center
n
- Computes B_A n with an additional center point.
- B_D_center
n
- Computes B_D n with an additional center point.
- cube d
- Computes the vertices and symmetry generators of a d-cube.
- cyclic n d
- Computes the vertices and symmetry generators of the cyclic d-polytope
with n vertices.
- cross d
- Computes the vertices and symmetry generators of the d-dimensional
crosspolytope.
- lattice n
m
- Computes the nm two-dimensional lattice points with non-negative
coordinates at most (n−1,m−1) and their symmetry
generators.
- hypersimplex
d k [l]
- Computes the vertices and symmetry generators of the k-th hypersimplex in
dimension d. A third parameter makes it the S-hypersimplex with coordinate
sums equal to k or l.
- santos_triang
- Computes the point configuration, the symmetry, and the Santos
triangulation (without flips).
The following command line options are supported. Note that not
all options are sensible for all clients.
OPTIONS CONCERNING INPUT/OUTPUT FROM FILES
- -I [filename]
- read input from [filename] instead of stdin.
OPTIONS CONCERNING OUTPUT OF INFORMATION
- -h or
--help
- Print a usage message.
- -d
- Debug.
- -v
- Verbose.
- --heights
- Output a height vector for every regular triangulation (implies
--regular).
- --flips
- Output all flips in terms of IDs of adjacent triangulations. (Can be used
to generate the flip graph.)
- --asy
- Write asymptote graphics commands into file (in rank-3 triangulations,
points are drawn as well). The graphics contains a view of the point
configuration (only in rank 3), the enumeration tree with a classification
of enumeration nodes into solutions, non-canonical nodes, deadends, and
early detected deadends, as well a statistics file showing a histogram of
enumeration node types. The output file has to be processed by the
computer graphics compiler asy (https://asymptote.sourceforge.io) using
the asy-library Combinatorial_Geometry.asy and the LATEX-macroes in
triangbook_macroes.sty inside share/asy/.
OPTIONS FOR CHECKING INPUT
- --checktriang
- Check seed triangulation.
OPTIONS FOR REPORTING PROPERTIES OF DISCOVERED TRIANGULATIONS
- --flipdeficiency
- Check triangulations for flip deficiency during flip-graph
exploration.
- --findregular
[k]
- Check every k-th triangulation for regularity and stop if a regular one is
found during flip-graph exploration.
OPTIONS CONCERNING WHICH TRIANGULATIONS ARE OUTPUT (NO INFLUENCE
ON FLIP-GRAPH EXPLORATION)
- --noorbitcount
- Only count symmetry classes, not the total number.
- --cardinality
[k]
- Count/output only triangulations with exactly k simplices.
- --maxcardinality
[k]
- Count/oputput only triangulations with at most k simplices.
- --unimodular
- Output unimodular triangulations only; while this does not reduce the
effort of flip graph exploration, since unimodular triangulations are in
general not connected by themselves, it does reduce the effort of
extension graph exploration linke in points2nalltriangs.
- --nonregular
- Output non-regular triangulations only; note that this does not reduce the
effort of flip-graph exploration, since non-regular triangulations are in
general not connected by themselves.
OPTIONS CONCERNING WHICH TRIANGULATIONS ARE EXPLORED
- --regular
- Search for regular triangulations only (checked liftings are w.r.t. the
last homogeneous coordinate, e.g., last coordinates all ones is fine);
note that this may reduce the effort of exploration, since regular
triangulations are connected by themselves.
- --noinsertion
- Never flip-in a point that is unused in the seed triangulation.
- --reducepoints
- Try to greedily minimize the number of vertices used while flipping; keep
a global upper bound on the current minimal number of vertices and do not
accept triangulations with more vertices.
- --keepcard
- Never change the cardinality of triangulations by flipping.
OPTIONS CONCERNING SYMMETRIES
- --affinesymmetries
- Assume that the symmetries are affine, in particular, that they conserve
regularity.
- --isometricsymmetries
- Assume that the symmetries are isometric, in particular, that they
preserve volume.
- --nosymmetries
- Ignore the symmetries.
OPTIONS CONTROLLING THE INTERNALS OF THE CLIENTS
- --memopt
- Save memory by using caching techniques.
- --usegkz
- Use GKZ vectors as a finger print in symmetry handling (only for points
with isometric symmetries).
- --usenaivesymmetries
- Use naive full traversal of all symmetries for symmetry handling.
- --useswitchtables
- Use Jordan-Joswig-Kastner switch tables for symmetry handling.
- --usesymmetrytables
- Use tables of classified symmetries for symmetry handling. Obsolete, since
slower than the other options.
- --symtables
[n]
- Use [n] symtables for preprocessing symmetries. Obsolete, since slower
than the other options.
- --preprocesschiro
- Preprocess the chirotope (default for points2[n]alltriangs).
- --preprocesspoints
- Heuristically transform points (only relevant for (co)circuit
enumeration).
- --simpidxsymmetries
- Preprocess a representation of the symmetry group on simplex indices (only
relevant for triangulation enumeration).
- --userandomorder
- Sort simplices in preprocessed index table randomly (only for points with
isometric symmetries).
- --usevolumeorder
- Sort simplices in preprocessed index table by volume (only for points with
isometric symmetries).
- --usevolumes
- Use volumes to check extendability of partial triangulations (only for
points with isometric symmetries).
- --fullextensioncheck
- Put more effort in the check of extendability of a partial
triangulation.
- --noextensioncheck
- Skip the check of extendability of a partial triangulation.
- --extensioncheckfirst
- Check extendability prior to symmetry.
- --preprocesspoints
- Preprocess the coordinate matrix of the points (slightly useful for
(co-)circuit enumeration)
- --chirocache
[n]
- Set the chirotope cache to n elements.
- --localcache
[n]
- Set the cache for local operations.
- --qsopt_ex
- Use QSopt_ex for regularity checks (not thread-safe).
- --soplex
- Use soplex for regularity checks (requires separate installation of
soplex).
OPTIONS CONCERNING MULTI-THREADING
- --parallelenumeration
- Use multiple threads for enumeration.
- --workbuffercontrol
- Control the interrupt of workers by size of the current workbuffer.
- --parallelsymmetries
- Use multiple threads only locally for symmetry checks.
- --threads
[n]
- Use [n] threads (if possible).
- --minnodebudget
[n]
- Let each thread process at least [n] nodes (to avoid multithreading
overhead).
- --maxnodebudget
[n]
- Let each thread process at most [n] nodes (to avoid thread starving).
- --scalenodebudget
[n]
- Scale the default node budget by [n] percent (n integer)
- --minworkbuffer
[n]
- (Currently unused.) Try to keep the work buffer above [n] nodes (to
balance overhead and thread starving).
- --maxworkbuffer
[n]
- (Currently unused.) Try to keep the work buffer below [n] node (to balance
overhead and thread starving).
OPTIONS FOR WARM STARTS FROM PREVIOUS CALCULATIONS
These options currently only work for an interrupted flip graph
exploration.
- --dump
- Write intermediate results into a file.
- --dumpfile
[dumpfilename]
- Write intermediate results into file dumpfilename (default:
TOPCOM.dump).
- --dumpfrequency
[k]
- Dump the results of each kth BFS round
- --dumprotations
[k]
- Dump into k different rotating files.
- --read
- Read intermediate results from a file.
- --readfile
[readfilename]
- Read intermediate results from file dumpfilename (default:
TOPCOM.dump.[rotationnumber]).
This manpage was adapted from sections 4 and 5 of the TOPCOM
Manual by Jörg Rambau. See
https://www.wm.uni-bayreuth.de/de/team/rambau_joerg/TOPCOM-Manual/.