e3d672835476a2fcfc29f325e3acafcb1f802649
[barvinok.git] / ChangeLog
blobe3d672835476a2fcfc29f325e3acafcb1f802649
1 version: 0.40
2 date: Thu Feb 23 10:03:21 CET 2017
3 changes:
4     - minor bug fixes
5 ---
6 version: 0.39
7 date: Fri Jan 15 09:20:30 CET 2016
8 changes:
9     - support more recent versions of NTL
10     - support more operations in iscc
11 ---
12 version: 0.38
13 date: Tue Jun 16 12:36:25 CEST 2015
14 changes:
15     - support more recent versions of GLPK
16     - support schedule trees in iscc
17     - minor bug fixes
18 ---
19 version: 0.37
20 date: Mon Apr 14 11:22:44 CEST 2014
21 changes:
22     - support NTL 6.0.0
23     - integrate isl-polylib submodule
24     - minor bug fixes
25 ---
26 version: 0.36
27 date: Mon Dec  3 09:34:27 CET 2012
28 changes:
29     - support fixed power operation in iscc
30     - use isl for codegen operation in iscc
31     - drop cloog submodule
32 ---
33 version: 0.35
34 date: Sun Dec 18 10:49:36 CET 2011
35 changes:
36     - add pet submodule
37     - drop omega submodule
38     - preliminary Python bindings
39 ---
40 version: 0.34
41 date: Thu Jul 14 12:31:21 CEST 2011
42 changes:
43     - add cloog submodule
44     - change license to GPLv2+ (from GPLv2)
45 ---
46 version: 0.33
47 date: Fri Mar 18 17:35:10 CET 2011
48 changes:
49     - add isl_set_apply_pw_qpolynomial
50     - drop piplib submodule
51     - barvinok_bound and barvinok_summate now accept input in isl notation
52     - use isl for more operations
53     - improved iscc
54 ---
55 version: 0.32.1
56 date: Mon Sep 13 11:38:47 CEST 2010
57 changes:
58     - fix parameter alignment in iscc
59 ---
60 version: 0.32
61 date: Fri Sep 10 14:58:48 CEST 2010
62 changes:
63     - support named and nested spaces
64     - support union sets and maps
65     - add isl_map_apply_pw_qpolynomial
66     - use union sets and maps in iscc
67     - support codegen operation in iscc if CLooG is available
68 ---
69 version: 0.31
70 date: Tue Jun 29 13:18:52 CEST 2010
71 changes:
72     - use isl for argument parsing
73     - minor compilation fixes
74     - drop bernstein library in favor of isl implementation
75     - drop Omega calculator
76     - the Omega submodule is no longer compiled by default
77     - improved isl based calculator
78     - drop barvinok_enumerate_pip_with_options
79 ---
80 version: 0.30
81 date: Wed Mar 10 18:10:33 CET 2010
82 changes:
83     - add isl interface and new isl based calculator
84     - barvinok_enumerate now returns NaN on infinite problems
85     - minor compilation and bug fixes
86     - support newer versions of TOPCOM
87 ---
88 version: 0.29
89 date: Wed Jul 22 15:14:01 CEST 2009
90 changes:
91     - new version of Laurent expansion based exact summation
92     - minor compilation and bug fixes
93     - add semigroup_holes application
94     - add vector_partition_chambers application
95 ---
96 version: 0.28
97 date: Thu Oct 16 21:56:01 CEST 2008
98 changes:
99     - add omega as submodule
100     - minor compilation and bug fixes
102 version: 0.27
103 date: Sun May  4 23:42:49 CEST 2008
104 changes:
105     - add Parker's library for DFA based counting
106     - support nested sums based exact summation
107     - support Laurent expansion based exact summation
108     - handle equalities and factors in summation
109     - support range propagation for computing bounds
110     - support computation of exact bound through iteration
111     - fix conversion from GiNaC's numeric to Values
113 version: 0.26
114 date: Wed Jan 16 23:45:17 CET 2008
115 changes:
116     - support computation of generating functions in barvinok_enumerate_e
117     - support polymake 2.3
118     - support GiNaC 1.3.8 and newer
119     - support summation using Bernoulli formula
120     - add and use zsolve from 4ti2 for computing Hilbert bases of cones
121     - support use of piplib for solving LPs
122     - add polyhedron_integer_hull and polytope_minimize
123     - add polytope_lattice_width for computing the lattice widths of polytopes
125 version: 0.25
126 date: Tue Sep 11 22:02:22 CEST 2007
127 changes:
128     - add PolyLib and piplib as submodules
129     - remove compatibility with old versions of PolyLib and piplib
130     - support use of piplib for basis reduction
131     - support summation using local Euler-Maclaurin formula for 2D polytopes
132     - support TOPCOM based chamber decompositions
133     - simplify primal decomposition
135 version: 0.24
136 date: Sat Jun 30 23:37:31 CEST 2007
137 changes:
138     - support exponential (Todd) substitution for non-parametric problems
139     - support primal and stopped decomposition on parametric problems
140     - support nested sums polynomial approximation of quasi-polynomials
141     - add barvinok_summate for summating a polynomial over a polytope
142     - speed improvements in barvinok_count and polyhedron_sample
144 version: 0.23
145 date: Sat Apr 28 20:10:35 CEST 2007
146 changes:
147     - use arpg for argument parsing in most commands
148     - |-
149       support polynomial approximations of quasi-polynomials, including
150       volume computation, Meister's method and replacing fractional parts
151       by constants
152     - add barvinok_maximize for computing upper (and lower) bounds
153     - support non-parametric primal and stopped Barvinok decomposition
154     - periodic number representation now run-time configurable
155     - drop support for ancient PolyLib versions
156     - simplified partitioning of chamber complex
157     - add evalue_eval, an exact version of copmute_evalue
158     - improved handling of large generating functions
159     - integrate barvinok_series functionality into barvinok_enumerate
160     - support use of cdd for solving LPs in basis reduction
161     - initial support for computing bounds over quasi-polynomials
162     - recursive Bernstein expansion
163     - corrections and improvements of lexmin
164     - optionally print quasi-polynomial as list of polynomials
165     - add some documentation
167 version: 0.22
168 date: Tue Oct 31 23:15:15 CET 2006
169 changes:
170     - include bernstein library with interface to barvinok and occ
171     - some occ clean-ups
172     - barvinok_count now only returns -1 for unbounded polyhedra with integer points
173     - preliminary implementation of projection via neighborhood complexes
174     - implement generalized basis reduction
175     - add polyhedron_sample
176     - add polytope_scan
177     - add lexmin
178     - some internal reorganization
179     - some gen_fun clean-ups and optimizations
180     - plug some memory leaks
181     - fix some corner cases
182     - shared libraries are no longer built by default
183     - introduce barvinok_options to pass to functions instead of just MaxRays
184     - use same LLL reduction parameter that LattE uses
185     - add some documentation
187 version: 0.21
188 date: Thu Jun 22 20:49:11 CEST 2006
189 changes:
190     - add some documentation
191     - add barvinok_ehrhart
192     - add h_star_vector polymake client
193     - fix some corner cases
194     - more experimental support for enumerating unions of polytopes
195     - rename cdd2polylib.pl to latte2polylib.pl
197 version: 0.20
198 date: Wed Feb 22 12:01:23 CET 2006
199 changes:
200     - fix PIP-based reduction by removing some code and assuming a recent PIP
201     - some memory leaks plugged
202     - optionally use Omega as a preprocessor in barvinok_enumerate_e
203     - integrate verif_ehrhart_e into barvinok_enumerate_e
204     - barvinok_series handles more problem with equalities
205     - add gen_fun::Hadamard_product
206     - experimental support for enumerating unions of polytopes
208 version: 0.19
209 date: Fri Jan 20 22:14:44 CET 2006
210 changes:
211     - include Omega Calculator interface occ
212     - print_enode creates parameter names if none are provided
213     - only use PIP to project out some variables
214     - some header file fixes
215     - C89 fixes again
217 version: 0.18
218 date: Thu Sep 15 11:27:19 CEST 2005
219 changes:
220     - factor polyhedra into independent parts before enumeration
221     - make "random vector" specialization more robust
222     - speed up verif_ehrhart by only checking inside the context
223     - remove {Param,}Polyhedron_Reduce
224     - rename triangularize_cone to triangulate_cone
225     - generalize computation of lexmin/max using PIP
226     - compute the number of lexsmaller elements using PolyLib's LexSmaller
228 version: 0.17
229 date: Mon Aug  1 12:23:50 CEST 2005
230 changes:
231     - fix some configuration problems
232     - include minimal polymake client
234 version: 0.16
235 date: Thu Jun 30 12:10:29 CEST 2005
236 changes:
237     - implement "breadth-first" incremental specialization
238     - implement non-incremental version for series computation
239     - make non-incremental specialization the default again
240     - check for bad PolyLib version at runtime
241     - compiles on Windows (mingw32)
242     - add version option
243     - allow crosscompilation
244     - compute the coefficients of an Ehrhart series
245     - fix conversion of PIP output to polyhedra
246     - allow direct verification of Ehrhart series
248 version: 0.15
249 date: Sun Dec 12 23:00:40 CET 2004
250 changes:
251     - export Polyhedron_Project
252     - allow verification of step-functions computed from Ehrhart series
253     - optionally compute step-functions incrementally
254     - disable possibly incorrect optimization
255     - minor optimizations in Ehrhart series computations
257 version: 0.14
258 date: Wed Nov 17 19:22:23 CET 2004
259 changes:
260     - use code for computing series to count non-parametric polytopes
261     - add conversion from series to explicit function
262     - fix removal of redundant equalities
264 version: 0.13
265 date: Sat Oct 16 12:13:30 CEST 2004
266 changes:
267     - use slightly larger random numbers
268     - change basis to remove existential variable
269     - fix bug in reduction
270     - handle empty PIP solution
271     - add utility to remove equalities
273 version: 0.12
274 date: Sun Oct  3 20:47:11 CEST 2004
275 changes:
276     - reduce memory requirements
277     - add cdd2polylib.pl
278     - add patch for NTL 5.3.2
279     - experimental support for Ehrhart series
280     - compile fix on systems that lack <getopt.h>
282 version: 0.11
283 date: Sat Sep 18 14:49:40 CEST 2004
284 changes:
285     - fix minor bugs
286     - find and use PIP if available
287     - don't overallocate matrices on newer PolyLibs
288     - verification program for enumeration of integer projections
289     - summation of enumerations
290     - avoid gccisms
291     - support older versions of GMP
293 version: 0.10
294 date: Tue Jul  6 22:09:11 CEST 2004
295 changes:
296     - install header files
297     - modulo representation changed to fractionals
298     - perform some simplifications on the modulo representation
299     - barvinok_enumerate returns a malloc'ed evalue
300     - a few bugs in barvinok_enumerate_e removed
301     - optionally print an indication of the size of an enumeration
302     - emask added
303     - bug in triangularization fixed
304     - bug in polyhedron reduction fixed
305     - verif_ehrhart.c should compile on C89 systems again
307 version: 0.09
308 changes:
309     - bug in polyhedron reduction fixed
311 version: 0.08
312 date: Sun Feb 22 21:15:00 CET 2004
313 changes:
314     - remove remaining part of Kristof's Ehrhart manipulation code
315     - optimize modulo expression based on validity domain
316     - support partition evalues
317     - factor out 1D polytopes
318     - validity domains can now be unions of polytopes
319     - optionally convert modulo representation to lookup-table
320     - rename indicator to relation
321     - add DomainIncludes
323 version: 0.07
324 changes:
325     - support "indicator" evalues
326     - support equalities for modulo representation
328 version: 0.06
329 changes:
330     - remove part of Kristof's Ehrhart manipulation code
331     - partial support for modulo representation
332     - support cvs version of PolyLib
334 version: 0.05
335 date: Thu Nov 27 13:35:59 CET 2003
336 changes:
337     - |-
338       include code from Kristof Beyls for manipulating Ehrhart
339       polynomials
340     - |-
341       implement barvinok_enumerate for constructing Ehrhart
342       polynomials using barvinok's algorithm
344 version: 0.04
345 date: Thu Nov  6 01:36:25 CET 2003
346 changes:
347     - |-
348       allow specification of max #constraints 
349       for those without automatically growing chernikova tables
350     - fix a few small bugs
351     - some minor optimizations
353 version: 0.03
354 date: Mon Nov  3 16:35:57 CET 2003
355 changes:
356     - fix a number of bugs
357     - add tests
359 version: 0.02
360 date: Mon Oct 20 14:15:45 CEST 2003
361 changes:
362     - change name from count to barvinok_count
363     - return -1 if polyhedron is unbounded
364     - trivially optimize counting in presence of some independent constraints