File: ChangeLog

package info (click to toggle)
topcom 1.2.0~beta%2Bds-1
  • links: PTS, VCS
  • area: main
  • in suites: experimental
  • size: 148,596 kB
  • sloc: cpp: 40,956; sh: 4,663; makefile: 679; ansic: 55
file content (338 lines) | stat: -rw-r--r-- 17,732 bytes parent folder | download
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