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