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