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