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