1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338
|
version 1.2.0: completely revised the build system:
* libtool is used to support shared and static linking;
* libgmp is built locally only if not available;
* libcddgmp is always built locally since the distribution is not
thread-safe;
* libqsopt_ex is built locally only if not available;
* libsoplex is only used if it is available automatically;
the 1.2.x-versions will receive bugfixes but will otherwise remain
stable;
supported checkpointing caused by signal SIGINT and SIGTERM;
return value on SIGINT/SIGTERM is now signalno + 128; new
messaging system; acceleration of computation of critical
simplex/element; various bug fixes
version 1.1.9: supported checkpointing also for *2(n)(co-)circuits;
generated a tests directory with a test suite supporting "make
check"; reorganized (co-)circuit enumeration to avoid code
duplication; unified switching on/off the output of objects
version 1.1.8: internal reorganization in ComputeTriangs to avoid
unnecessary static methods and reduce code duplication
version 1.1.7: supported checkpointing also for *2*alltriangs
version 1.1.6: correction in the output of signed circuits, where the
assignment to positive and negative parts was flawed
version 1.1.5: supported required symmetries in the input file at the last
position (only used by points2(n)alltriangs)
version 1.1.4: added a command line option to require on specific point in
all simplices of a triangulation
version 1.1.3: upgraded the packaged cddlib to version 0.94m with patches
for thread-safety; configure.ac now also accepts a system wide
cddlib; fixed a bug that would prevent qsoptex to be used
version 1.1.2: added support for height ouput even in cases where all
triangulations are regular; supported transformation to full rank
also in checkregularity and points2placingtriang; completed
IntegerSet64 with missing functions available for IntegerSet;
fixed template overload with identical types on 32-bit systems by
making parameter_type signed; fixed output of heights in
checkregularity client; made murmur hash function 32bit-safe; some
more technical bugfixes for 32bit compatibility
version 1.1.1: first bug fixes based on reports; configure script now
allows to use system-wide gmp installation
version 1.1.0: upgraded version for first distribution of the new TOPCOM
version 1.0.19: many general corrections and improvements;
corrected a determinant calculation in VirtualChiro for the case
of --memopt
version 1.0.18: supported a prescribed cardinality for the enumeration of
all triangulations; fully supported the lazy evaluation of
chirotope determinant values (not only the signs)
version 1.0.17: excluded flips on positive circuits in order to provide a
sensible result for totally cyclic point configurations; shifted
the output of heights to the same output stream where the
triangulations are output
version 1.0.16: added an option to utilize Permlib for symmetry
computations (temporary and only for testing)
version 1.0.15: implemented a novel canonicity-check combined from switch
tables and the Pech-Reichard algorithm, which is suitable when the
order of the symmetry group is much larger than the degree
version 1.0.14: implemented construction of switch tables directly from
generators; fixed some indexing and memory management bugs
version 1.0.13: upgraded to c++17 standard; drastically improved the
cocircuit enumeration by better pruning
version 1.0.12: improved some memory management details
version 1.0.11: improved the implementation of switch tables including
renaming them to the original name "switch table"; improved the
symmetry check for subsets (can be deactivated with --memopt);
added a more cache coherent representation of symmetries for the
enumeration of all triangulations
version 1.0.10: added an alternative algorithm for cocircuit enumeration
version 1.0.9: added non-sophisticated support to compute all vertices of
a point configuration via circuits;
added a graphics module to generate graphics output for the
graphics language "asymptote"
version 1.0.8: used lex-comparison of integer sets only for sets of equal
cardinality; in the lex-order enumeration case of all
triangulations now the processing of admissibles in a partial
triangulation is stopped as soon as the lex-minimal interior facet
is lex-smaller than the lex-minimal facet of the new simplex
because all further admissible simplices will have the same
property
version 1.0.7: added the Cayley embedding of two hypersimplices to the
example clients as an extension to the "hypersimplex" client;
exchanged the parameters to the order "dimension", "sum"[,
"sum2"]; a minimal triangulations is now output in
points2mintriang and chiro2mintriang
version 1.0.6: introduced an extendability check relying on the lex-order
of all simplices; bug fixes
version 1.0.5: improved RegularityCheck by enhancing the chirotope by the
rational values of all determinants, which have always been
computed anyway but have never been used; supported usage of GKZ
vectors as a proxy for detection of an old symmetry class; improved
the order of extendability and symmetry checks in enumeration of
all triangulations
version 1.0.4: fixed a bug where the report_progress function was totally
enclosed in a critical section, where only the actual output is
critical; all waits of conditional variables are now enclosed in
appropriate while loops
version 1.0.3: encapsulated TOPCOM into the name space "topcom"
version 1.0.2: updated the interface to the soplex LP solver
version 1.0.1: implemented a more capable node type with symmetry support
for the enumeration of (co-)circuits to be used in
SymmetricSubsetGraph; used the same concept for the enumeration of
triangulations using a representation of symmetries in terms of
permutations of simplex indices
version 1.0.0: implemented a simple version of the mts principle by Avis &
Jordan ("A parallel framework for reverse search using mts")
for the clients to enumerate all triangulations and (co)circuits,
resp.; introduced classification tables for symmetries to speed up
the check for the existence of lex-decreasing symmetries;
implemented multithreading into symmetry orbit processing;
implemented an interface to QSopt_ex; upgraded to gmp-6.2.0 and to
cddlib-0.94j;
remark:
the general code cleanup and the major technical changes can make
hidden errors more likely; if in doubt wait for bug-fixed releases
with larger minor version numbers
version 0.19.3: improved the enumeration algorithms for (co)circuits by
checking for old symmetry class by the existence of
colex-increasing permutations
version 0.19.2: reorganized the code by calling the flip graph enumeration
structure SymmetricFlipGraph instead of SymmetricBFS and
the extension graph structure SymmetricExtensionGraph instead of
SymmetricDFS because both can be explored by both BFS and DFS;
adapted the old chiro2mintriang client to the new
SymmetricExtensionGraph methods; added a matching points2mintriang
client; corrected an error in the extendability obstruction: two
free facets might be covered by the same simplex, in which case
that simplex as an extension at one freefacet is not admissible to
itself as an extension to the other freefacet.
version 0.19.1: replaced the simplistic enumeration of all triangulations
in the client points/chiro2(n)alltriangs by a more sophisticated
preprocessing structure and a modified algorithm that uses a
certificate for non-extendability of a partial triangulation (a
drastic improvement); moreover, at last, it supports symmetries.
version 0.19.0: added a new implementation of circuit enumeration
utilizing symmetries; reorganized the code for enumeration of all
triangulations so that the algorithm uses symmetries as well;
added a class IntegerSet64 that can be used instead of
IntegerSet for subsets of {0, 1, 2, ..., 63}. No check is
performed; instead all element numbers are considered modulo 64;
using this structure for simplices can be switched on by a
compiler define
version 0.18.0: added more efficient clients "<points|chiro>2<n>circuits"
for computing/counting all circuits of a point
configuration/chirotope using symmetries
version 0.17.9: issue an error message when "--regular" is given but all
triangulations shall be computed
version 0.17.8: pure bugfix: the wrong version of gmp was packaged;
must be 6.1.1 by now
version 0.17.7: fixed a bug in SPXinterface.cc where a new[] had a
non-matching delete
modernized autoconf/automake initialization
updated gmp to version 6.1.1
version 0.17.6: added a command line option that allows only balanced flips
version 0.17.5: renamed the static "nullptr()" method for SmartPtr<T>
to "smartnullptr()" because the standard literal "nullptr" is
implemented as a macro in gcc-4.2.1 such that the declaration of
"nullptr()" in class SmartPtr<T> gets corrupted
forced "$libdir" in "external" to "lib" in order to avoid problems
with autoconf installations that use lib64 on 64-bit systems and
multi-binary systems (no harm here because the installation of
externals is done only local inside the TOPCOM build tree)
removed usage of unordered_set/map altogether because of differing
include paths of different compilers
for that same reason, the profiling tool "bench" was removed from
the distribution
version 0.17.4: gmpxx.h is now overloaded by a version that canonicalizes
all rational input data right away
version 0.17.3: updated to gmp-5.0.5
since "0/5 != 0" in mpq_class (gmp),
introduced a special "is_zero" test for Rationals
that only uses the numerator
version 0.17.2: correction of a syntax issue with gcc 4.7
update of the address of the FSF in COPYING and README
(thanks to the Fedora team for the report!)
version 0.17.1: correction of read from input stream in Facets.hh
ID for triangulations allowing for an option to output flip edges
version 0.17.0: new function to construct Birkhoff subpolytopes
new function to transform point configuration to full rank
representation (carefull: this may change normalized volumes)
version 0.16.4: updated alternative STL structures to modern gcc
added command line option "--reportfrequency [n]" with the meaning
that every [n]th new triangulation triggers a report to stderr
version 0.16.3: changed shell command for external builds from csh to sh
output heights in terms of exact fractions not doubles
version 0.16.2: external includes/libs are now allways taken from
external/include resp. external/lib
version 0.16.1: improved automatic build of external packages gmp and cdd
vanilla-cdd function "dd_free_global_constants" is now used
instead of "dd_clear_global_constants"
version 0.16.0: dumped polymake wrappers and switched to gmpxx wrappers
version 0.15.4: updated documentation
version 0.15.3: fixed dump file processing
version 0.15.2: removed extra qualification "__is_const_iterator::" and similar
fixed dump support by adding "clear()" at the beginning of parsing hash tables
version 0.15.1: patched cdd because of memory leak
version 0.15.0: new commandline option "--nonregular": it triggers an output filter
so that only the nonregular triangulations are output. As opposed to
"--regular" it does not reduce the number of triangulations explored;
provided some new clients for points that have been there already for chirotopes
updated to gmp-4.2.1 and cddlib-0.94b
version 0.14.0: first version that compiles on gcc4
chiro2* returns an error now if --regular is given as an option
(regularity is not a well-defined concept without coordinates)
version 0.13.3: corrections in template specializations
new generator for hypersimplices
new examples
version 0.13.2: corrections in the usage message
automake 1.7 adaptions
corrected a bug that made the computation of the closure
of the symmetry generators slow (gcc should not have compiled
the old code since it contained a const bug)
version 0.13.1: automated the installation of external packages
gmp and cddlib in external by the configure script
automatic detection of soplex and addition to the set
of libraries in LIBS
version 0.13.0: new command line options
--soplex : use soplex for regularity check (unstable)
--nosym : ignore symmetries
--heights: output height vector for every regular triangulation
(requires --regular as well)
corrected a bug causing regularity check being called
unnecessarily often
patched gmp wrappers so that there is some chance that
the package compiles under gcc 2.95 (only checked on PPC)
version 0.12.1: new interface to soplex
(be aware that regularity checks using soplex
maybe incorrect because of numerical problems)
version 0.12.0b: bug fix release: 0.12.0 mistakenly required soplex
version 0.12.0: compatibility to gcc3.2
version 0.11.1: correction of an error in the distribution (tweaks.h was missing)
default is again to use uncompressed integer sets
version 0.11.0: new gmp wrappers from the polymake team
added commandline options to reduce the number of points
and to check regularity in fixed frequencies
added support for the use of a compressed integer set
stucture in simplicial complexes
version 0.10.2: added new commandline options for
checking regularity at a fixed frequency
reducing flips to vertex-removing flips
forbidding vertex-inserting flips
upgraded to automake 1.5
version 0.10.1: Replaced the use of HashSet by STL set for relatively small sets
hash function uses multiplication instead of xor again
(reduces chaining in large sets considerably).
Introduced an invariant for bitsets to speed up negative equality check
and pseudo-lexicographic comparison.
Simplified hash function for IntegerSets and SimplicialComplexes by exploiting
the invariant.
Accellerated the IntegerSet iterator by using byte tables for
first set bit and nunber of set bits.
Introduced compiler flags to replace some container structures by STL standard
containers; fastest setting at the time being is `-DSTL_SYMMETRIES' since the
only relevant operations for symmetries are
constant iteration and iterator dereferencing, which is faster in
ordered sets than in HashSets.
version 0.10.0: Incorporated cddlib and a commandline option to count only
regular triangulations.
version 0.9.3: Updated for gcc3: mainly additions of `std::'.
Replaced lrand48() by random() for the universal randomized
hashing because MacOSX-gcc-stdlib does not contain lrand48().
Removed explicit template instantiation because that does not work
on all systems (thanks Ulrich Kortenkamp for reports on installing
TOPCOM on MacOSX).
version 0.9.2: Bug fixes: removed and attempt to overload `xor'.
Removed some offending friend declarations in definitons
of internal classes. Added a commandline parameter `-no <n>'
specifying that only triangulations with exactly n simplices
are considered.
version 0.9.1: Added a program `lattice m n' to compute the point
configuration of all lattice points in the rectangle [0,0], [m,0],
[0,n], [m,n]. Added `chiro2[n]allfinetriangs'. Added `triangs'
with new command line parameters in order to eventually reduce the
number of binaries in the TOPCOM package
version 0.9.0: Adapted to gmp-3.1 with the help of polymake.
Field is now a synonym of Rational, i.e.,
the possibility of choosing double arithmetic
was removed.
Fixed a bug in cyclic.cc that produced too large coordinates
(submitted by Julian Pfeifle).
version 0.5.6: Fixed a bug in wrap-gmp/Makefile.am:
include path pointed to wrong version of gmp.
version 0.5.5:
Fixed a bug in VirtualChiro.cc that caused
segfaults in chiro2[n]triangs
Version 0.5.4:
Minor changes in the documentation files and comments.
For details concerning the Santos triangulation see
Francisco Santos' paper
``A Point Set whose Space of Triangulations is Disconnected''
Journal of the American Mathematical Society, to appear.
Version 0.5.3:
Minor changes in the documentation files and comments
Version 0.5.2:
Bugfix in santos_triang
Version 0.5.1:
added points2flips, points2nflips:
computes only the flips of the seed triangulation.
The commands
{chiro,points}2{[n][fine]triangs}
accept a seed triangulation given by the user.
added some command line options
-m: try to comsume less memory
-c: check the seed triangulation given by the user
-cc <n>: set the chirotope cache size to <n> bases.
-v: verbose
The famous brandnew triangulation without flips constructed
recently by Francisco Santos is now included in the examples
directory
(courtesy of Francisco Santos).
Moreover, there is a program `santos_triang' that computes the
input data of the Santos triangulation for TOPCOM. With this
equipment everybody should be able to check that spectacular
result by typing the command santos_triang | points2nflips -v -c
-m and waiting like ten minutes.
Version 0.4.0:
added points2triangs, points2ntriangs,
points2finetriangs, points2nfinetriangs,
points2placingtriang, points2finetriang:
commands computing the data from the point set
by constructing its chirotope on the fly (lazy evaluation).
Version 0.3.0:
added chiro2finetriang, chiro2finetriangs, chiro2nfinetriangs:
commands providing only triangulations using all vertices
verbosity is controlled via commandline option -v
Version 0.2.0:
changed representation of flips
Version 0.1.3:
replaced libg++ arithmetics by libgmp plus polymake wrappers
(courtesy of E. Gawrilov and M. Joswig)
Version 0.1.2:
removed dfschiro2ntriangs from the distribution
Version 0.1.1:
the point [0, ..., 0] is now rejected
added dfschiro2ntriangs; might save memory over chiro2ntriangs
Version 0.1:
first distributed version
|