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