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