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