TOPCOM(7)
β¨ NAME β¨
TOPCOM β Triangulations Of Point Configurations and Oriented Matroids
π COMMANDS π
Okay bestie, here's the whole roster. The following commands are provided. In Debian, each command is prefixed by topcom-. So if you're on Debian, just imagine a tiny topcom- bow on every single one. π
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.(ditto) for point configurations (using a faster method). β‘chiro2cocircuitsβ Computes the cocircuits of a chirotope. πpoints2cocircuitsβDto.(ditto) 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.(ditto) for point configurations. πchiro2finetriangβ Computes a fine (i.e., using all vertices) triangulation by placing and pushing. β¨points2finetriangβDto.(ditto) 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.(ditto) 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.(ditto) 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.(ditto) 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.(ditto) for point configurations. πchiro2alltriangsβ Computes all triangulations of a chirotope. πpoints2alltriangsβDto.(ditto) for point configurations. πchiro2nalltriangsβ Computes the number of all triangulations of a chirotope. π’points2nalltriangsβDto.(ditto) for point configurations. πchiro2allfinetriangsβ Computes all fine triangulations (sometimes called βfullβ) of a chirotope. β¨points2allfinetriangsβDto.(ditto) for point configurations. πchiro2nallfinetriangsβ Computes the number of all fine triangulations of a chirotope. π’points2nallfinetriangsβDto.(ditto) for point configurations. πchiro2mintriangβ Computes a triangulation of a chirotope with a minimum number of simplices. πpoints2mintriangβDto.(ditto) 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β ComputesB_S nwith an additional center point. π―B_A_center nβ ComputesB_A nwith an additional center point. π―B_D_center nβ ComputesB_D nwith 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). π
β¨ OPTIONS β¨
okay bestie, here's the part where we get into the flags. The following command line options are supported. Note that not all options are sensible for all clients. Like, read the room, not every client wants every flag. π
πΈ OPTIONS CONCERNING INPUT/OUTPUT FROM FILES πΈ
-I [filename]β read input from [filename] instead ofstdin. Slay, no more piping if you don't want to. π«Ά
π₯ OPTIONS CONCERNING OUTPUT OF INFORMATION π₯
-hor--helpβ Print a usage message. Your little "what do I even type" bestie. β¨-dβ Debug. It's giving detective mode. π΅οΈββοΈ-vβ Verbose. It's giving yapper mode, but for your program. π¬--heightsβ Output a height vector for every regular triangulation (implies--regular). So yes, it also turns on regular vibes. π--flipsβ Output all flips in terms of IDs of adjacent triangulations. (Can be used to generate the flip graph.) Literally the flip graph generator, iykyk. π--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 compilerasy(https://asymptote.sourceforge.io) using the asy-libraryCombinatorial_Geometry.asyand the LATEX-macroes intriangbook_macroes.styinsideshare/asy/. A whole art project, no cap. π¨
π§ OPTIONS FOR CHECKING INPUT π§
--checktriangβ Check seed triangulation. Gotta make sure your seed is valid before you grow the whole garden. π±
π 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. It's giving "stop when you find the one." π
π 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/output 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 like inpoints2nalltriangs. So it's a glow-up for extension graph exploration specifically. β¨--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. Important: it does not make flip-graph exploration cheaper. Periodt. π
π¦ 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. So this one can save effort. π₯--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. Bye symmetry, not today. π
π§ OPTIONS CONTROLLING THE INTERNALS OF THE CLIENTS π§
--memoptβ Save memory by using caching techniques. Memory queen. π--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. Bestie, it's obsolete and slower. Skip it unless you're feeling nostalgic. π--symtables [n]β Use [n] symtables for preprocessing symmetries. Obsolete, since slower than the other options. Same energy: obsolete and slower. π«--preprocesschiroβ Preprocess the chirotope (default forpoints2[n]alltriangs).--preprocesspointsβ Heuristically transform points (only relevant for (co)circuit enumeration). Yes, this option shows up again later with a different description. The original did that, and we're keeping both. π--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). Yep, second time. Still valid. π--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). β οΈ Not thread-safe, so don't come for me if you parallelize it.--soplexβ Use soplex for regularity checks (requires separate installation of soplex). You gotta install soplex separately, bestie. No default slay. π οΈ
π 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). Note: currently unused.--maxworkbuffer [n]β (Currently unused.) Try to keep the work buffer below [n] node (to balance overhead and thread starving). Also currently unused. π«Ά
π OPTIONS FOR WARM STARTS FROM PREVIOUS CALCULATIONS π
These options currently only work for an interrupted flip graph exploration. Like, if you stopped mid-flip-graph and want to come back. π
--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 *k*th 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]).
π AUTHOR π
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/. Shoutout to JΓΆrg for the source material. π«Ά
And that's the whole vibe, bestie. This page is from version 1.1.2, dated 01 April 2024, and it's the TOPCOM(7) manual page. Bye, ily, go enumerate something iconic. πβ¨
π¦ where this page comes from
- ubuntu noble: topcom 1.1.2+ds-1.1build2 Β· GPL-2.0-or-later
- ubuntu questing: topcom 1.1.2+ds-1.1build2
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms