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