Sven Verdoolaege [Thu, 22 Jun 2006 18:57:22 +0000 (22 20:57 +0200)]
version 0.21
Sven Verdoolaege [Thu, 22 Jun 2006 18:41:44 +0000 (22 20:41 +0200)]
README: document optional installation of Omega and piplib
Sven Verdoolaege [Thu, 22 Jun 2006 18:21:20 +0000 (22 20:21 +0200)]
doc: document Omega interface
Sven Verdoolaege [Thu, 22 Jun 2006 16:08:06 +0000 (22 18:08 +0200)]
doc: (minimally) document polymake clients
Sven Verdoolaege [Thu, 22 Jun 2006 15:15:47 +0000 (22 17:15 +0200)]
doc: further document barvinok_ehrhart
Sven Verdoolaege [Thu, 22 Jun 2006 15:12:32 +0000 (22 17:12 +0200)]
document barvinok_union
Sven Verdoolaege [Thu, 22 Jun 2006 15:06:10 +0000 (22 17:06 +0200)]
doc: document barvinok_ehrhart
Sven Verdoolaege [Wed, 21 Jun 2006 21:37:46 +0000 (21 23:37 +0200)]
doc: document some options
Sven Verdoolaege [Wed, 21 Jun 2006 18:17:36 +0000 (21 20:17 +0200)]
doc: add reference for NTL
Sven Verdoolaege [Wed, 21 Jun 2006 18:13:35 +0000 (21 20:13 +0200)]
doc: describe vertices based input specification
Sven Verdoolaege [Wed, 21 Jun 2006 17:58:49 +0000 (21 19:58 +0200)]
doc: typo
Sven Verdoolaege [Wed, 21 Jun 2006 17:58:30 +0000 (21 19:58 +0200)]
doc: add subsections
Sven Verdoolaege [Wed, 21 Jun 2006 17:44:09 +0000 (21 19:44 +0200)]
use "git describe" to describe version
Sven Verdoolaege [Wed, 21 Jun 2006 17:17:46 +0000 (21 19:17 +0200)]
add doc to distribution
Sven Verdoolaege [Wed, 21 Jun 2006 15:19:04 +0000 (21 17:19 +0200)]
doc: warn that the output may look different
Sven Verdoolaege [Wed, 21 Jun 2006 15:06:24 +0000 (21 17:06 +0200)]
doc: barvinok_count no longer performs manual counting.
See
e038931e97f805f1c076267662336f70ff02319b.
Sven Verdoolaege [Wed, 21 Jun 2006 14:58:49 +0000 (21 16:58 +0200)]
doc: replace "Appendix" by "Section"
Sven Verdoolaege [Wed, 21 Jun 2006 14:48:07 +0000 (21 16:48 +0200)]
doc: reflect rename of cdd2polylib.pl to latte2polylib.pl
The name was changed in
a993c242b429a547b2a67b080def6ec9edd6cea3
Sven Verdoolaege [Wed, 21 Jun 2006 14:44:14 +0000 (21 16:44 +0200)]
doc: resolve undefined references through my thesis
Sven Verdoolaege [Wed, 21 Jun 2006 14:21:04 +0000 (21 16:21 +0200)]
doc: add title page
Sven Verdoolaege [Wed, 21 Jun 2006 14:10:17 +0000 (21 16:10 +0200)]
doc: user guide
Mostly copied from my thesis text.
Sven Verdoolaege [Tue, 20 Jun 2006 15:43:36 +0000 (20 17:43 +0200)]
rename cdd2polylib.pl to latte2polylib.pl
Apperently, the input format is specific to LattE and not equivalent
to cdd input.
Sven Verdoolaege [Mon, 19 Jun 2006 17:28:01 +0000 (19 19:28 +0200)]
polymake/h_star_vector.cc: client to compute the h^*-vector of a polytope
Also known as the \delta-vector or the a-vector.
Sven Verdoolaege [Sun, 18 Jun 2006 20:05:07 +0000 (18 22:05 +0200)]
polymake/convert.cc: extract polymake_constraints2polylib from lattice_points
Sven Verdoolaege [Sun, 18 Jun 2006 19:20:24 +0000 (18 21:20 +0200)]
util.c: export Cone_over_Polyhedron
Sven Verdoolaege [Sun, 18 Jun 2006 13:32:15 +0000 (18 15:32 +0200)]
barvinok_ehrhart: compute ehrhart (quasi-)polynomial/series of a polytope.
This application provides no new functionality, but may be easier
to use for our mathematical friends.
Without the --series option, calling barvinok_ehrhart on a polytope
is equivalent to calling barvinok_enumerate on the cone generated
by the polytope.
With the --series option, calling barvinok_ehrhart on a polytope
is equivalent to calling barvinok_series on the cone generated
by the polytope.
Sven Verdoolaege [Sat, 17 Jun 2006 19:34:09 +0000 (17 21:34 +0200)]
barvinok_count: allow polytope to be specified by its vertices.
A matrix preceded by the word "vertices" on a line by itself
will be interpreted as a list of vertices in PolyLib notation,
i.e., an n by (d+2) matrix, where n is the number of vertices/rays
and d the dimension. The first column is 0 for lines and 1 for
vertices/rays. The final column is the denominator or 0 for rays.
Note that for barvinok_count, the first column will always be 1.
Feature requested by Josephine Yu.
Sven Verdoolaege [Tue, 13 Jun 2006 21:58:24 +0000 (13 23:58 +0200)]
genfun.cc: fix add_union method
A typo snuck in when this method was introduced resulting
in the Hadamard product being taken of a generating function
with itself, ignoring the other generating function.
Sven Verdoolaege [Tue, 13 Jun 2006 21:57:26 +0000 (13 23:57 +0200)]
barvinok_union: optionally print generating function
Sven Verdoolaege [Wed, 31 May 2006 13:54:27 +0000 (31 15:54 +0200)]
barvinok_count: handle infinite polyhedra with no integer points
In particular, we perform the test for infinite polyhedra
after removing the equalities.
Sven Verdoolaege [Wed, 31 May 2006 13:38:59 +0000 (31 15:38 +0200)]
barvinok_count: stop counting if one of the factors is empty
Also, return -1 for polyhedra with infinite factors, rather than
minus the number of points in the finite factors, or worse, if
the polyhedron has an even number of infinite factors, a positive number.
Sven Verdoolaege [Mon, 29 May 2006 15:57:25 +0000 (29 17:57 +0200)]
evalue_frac2floor_in_domain: allow argument of resulting floor to be negative
evalue_frac2floor_in_domain tries to make the argument of the resulting
floor non-negative, since some callers depend on this property.
However, other callers do not care and will call evalue_frac2floor_in_domain
even when the argument of some fractionals can be arbitrarily negative.
Allow such cases to pass through.
Sven Verdoolaege [Sun, 28 May 2006 15:29:42 +0000 (28 17:29 +0200)]
util.c: specifically indicate empty sets in Polyhedron_pprint
Sven Verdoolaege [Fri, 26 May 2006 13:49:54 +0000 (26 15:49 +0200)]
util.c: move align_matrix from barvinok.cc
Sven Verdoolaege [Thu, 25 May 2006 12:09:33 +0000 (25 14:09 +0200)]
mat_util.cc: some useful functions extracted from genfun.cc
Sven Verdoolaege [Thu, 25 May 2006 09:48:28 +0000 (25 11:48 +0200)]
evalue.c: export reduce_evalue_in_domain
Sven Verdoolaege [Thu, 25 May 2006 09:31:48 +0000 (25 11:31 +0200)]
evalue.c: rename reduce_in_domain to evalue_range_reduction_in_domain
Sven Verdoolaege [Thu, 25 May 2006 09:17:13 +0000 (25 11:17 +0200)]
barvinok.cc: remove ancient debugging code
Sven Verdoolaege [Thu, 25 May 2006 09:12:35 +0000 (25 11:12 +0200)]
evalue.c: export evalue_frac2floor_in_domain
Sven Verdoolaege [Wed, 24 May 2006 11:30:08 +0000 (24 13:30 +0200)]
gen_fun::substitute: add more detailed explanation
Sven Verdoolaege [Wed, 24 May 2006 08:36:42 +0000 (24 10:36 +0200)]
reduce_domain: handle NULL CEq
This may happen if there are no parameters.
Usually, we would not call reduce_domain in this case, but we may
as well support it.
Sven Verdoolaege [Mon, 22 May 2006 15:42:31 +0000 (22 17:42 +0200)]
barvinok.cc: move reduce_domain into separate file
Sven Verdoolaege [Fri, 19 May 2006 13:49:50 +0000 (19 15:49 +0200)]
util.c: add Polyhedron_pprint
Sven Verdoolaege [Thu, 18 May 2006 13:50:35 +0000 (18 15:50 +0200)]
lattice_point.cc: lattice points computation extracted from barvinok.cc
Sven Verdoolaege [Thu, 18 May 2006 13:46:45 +0000 (18 15:46 +0200)]
conversion.cc: add values2zz and rays2 from barvinok.cc
Sven Verdoolaege [Thu, 18 May 2006 13:35:18 +0000 (18 15:35 +0200)]
evalue.c: add evalue_zero
and use evalue_zero instead of private new_zero_ep in barvinok.cc
Sven Verdoolaege [Thu, 18 May 2006 12:54:20 +0000 (18 14:54 +0200)]
decomposer: extract out vertex_decomposer from barvinok.cc
Sven Verdoolaege [Thu, 18 May 2006 10:51:02 +0000 (18 12:51 +0200)]
barvinok.cc: extract out some functionality into decomposer and conversion
Sven Verdoolaege [Fri, 12 May 2006 20:00:10 +0000 (12 22:00 +0200)]
util.c: document Euclid function
Sven Verdoolaege [Wed, 10 May 2006 11:16:36 +0000 (10 13:16 +0200)]
occ: plug some more (potential) memory leaks
Sven Verdoolaege [Wed, 22 Mar 2006 09:28:43 +0000 (22 10:28 +0100)]
occ: don't use freed variable in error message
Sven Verdoolaege [Mon, 10 Apr 2006 14:18:10 +0000 (10 16:18 +0200)]
barvinok.cc: add some documentation to lattice point computation
Sven Verdoolaege [Wed, 5 Apr 2006 13:46:55 +0000 (5 15:46 +0200)]
barvinok_enumerate_union: call gen_fun::add_union
Sven Verdoolaege [Wed, 5 Apr 2006 13:41:57 +0000 (5 15:41 +0200)]
gen_fun: add add_union method
Sven Verdoolaege [Mon, 3 Apr 2006 13:24:45 +0000 (3 15:24 +0200)]
barvinok.cc: document SplitOnVar and remove some redundant parameters.
Sven Verdoolaege [Mon, 3 Apr 2006 12:21:21 +0000 (3 14:21 +0200)]
remove inappropriate uses of Polyhedron2Param_SimplifiedDomain
Calling Polyhedron2Param_SimplifiedDomain with NULL values for the
last two arguments has been declared invalid in the latest versions
of PolyLib.
Sven Verdoolaege [Wed, 22 Feb 2006 11:12:17 +0000 (22 12:12 +0100)]
version 0.20
Sven Verdoolaege [Wed, 22 Feb 2006 10:58:48 +0000 (22 11:58 +0100)]
create correct GIT_HEAD_ID in distribution
Sven Verdoolaege [Wed, 22 Feb 2006 10:43:37 +0000 (22 11:43 +0100)]
barvinok_union: document input format
Sven Verdoolaege [Tue, 21 Feb 2006 14:39:51 +0000 (21 15:39 +0100)]
Merge branch 'new_piplib'
Sven Verdoolaege [Thu, 16 Feb 2006 16:44:52 +0000 (16 17:44 +0100)]
only run tests that require piplib when piplib is available
Sven Verdoolaege [Thu, 16 Feb 2006 16:22:29 +0000 (16 17:22 +0100)]
barvinok_enumerate_e: only link in omega libraries if they are available
Sven Verdoolaege [Thu, 16 Feb 2006 16:12:10 +0000 (16 17:12 +0100)]
check for piplib 1.3.6
Sven Verdoolaege [Wed, 15 Feb 2006 10:42:21 +0000 (15 11:42 +0100)]
some examples from Rachid to test barvinok_enumerate_e
Sven Verdoolaege [Wed, 15 Feb 2006 10:17:52 +0000 (15 11:17 +0100)]
add barvinok_union.c
Sven Verdoolaege [Wed, 15 Feb 2006 10:14:49 +0000 (15 11:14 +0100)]
add barvinok_enumerate_union function
Sven Verdoolaege [Wed, 15 Feb 2006 10:13:41 +0000 (15 11:13 +0100)]
gen_fun: add Hadamard_product method
Sven Verdoolaege [Wed, 15 Feb 2006 10:11:37 +0000 (15 11:11 +0100)]
gen_fun::operator evalue *(): fix memory leaks.
Sven Verdoolaege [Wed, 15 Feb 2006 09:51:18 +0000 (15 10:51 +0100)]
genfun.cc:print_power: remove spaces around "*" in output.
Sven Verdoolaege [Wed, 15 Feb 2006 08:34:55 +0000 (15 09:34 +0100)]
barvinok_series: return empty gen_fun for empty polytope.
Sven Verdoolaege [Tue, 14 Feb 2006 11:08:34 +0000 (14 12:08 +0100)]
barvinok_series: remove unused variables.
Sven Verdoolaege [Tue, 14 Feb 2006 11:00:35 +0000 (14 12:00 +0100)]
barvinok.cc: extract out some code common to generating function counting.
Sven Verdoolaege [Tue, 14 Feb 2006 10:33:41 +0000 (14 11:33 +0100)]
barvinok.cc: introduce np_base, a base class for non-parametric counting.
Sven Verdoolaege [Tue, 14 Feb 2006 10:23:43 +0000 (14 11:23 +0100)]
barvinok.cc: do virtual polar_decomposer inheritance "manually"
The class hierarchy is getting pretty complicated. Removing the
explicit virtual inheritance makes it easier to extract out some
more common code.
Sven Verdoolaege [Fri, 10 Feb 2006 20:13:28 +0000 (10 21:13 +0100)]
barvinok_series: remove some more equalities from the enumerated polyhedron.
remove_equalities_p does not remove equalities if they impose
some affine combination of the parameters to be a multiple of some
integer bigger than 1.
We use compress_parms to replace the current set of parameters
by a different set of parameters that have no such constraint.
After computing the generating function based on the new set
of parameters, we then substitute the original set of parameters
back in this generating function.
Sven Verdoolaege [Fri, 10 Feb 2006 20:06:33 +0000 (10 21:06 +0100)]
check for compress_parms function
Sven Verdoolaege [Fri, 10 Feb 2006 20:05:54 +0000 (10 21:05 +0100)]
gen_fun: add substitute method.
This method changes a generating function defined in terms
of some parameters into a generating function defined in terms
of another set of parameters.
Sven Verdoolaege [Thu, 9 Feb 2006 14:05:13 +0000 (9 15:05 +0100)]
barvinok/genfun.h: a bit more documentation.
Sven Verdoolaege [Thu, 9 Feb 2006 13:19:06 +0000 (9 14:19 +0100)]
adapt determination of git HEAD to recent git versions
Sven Verdoolaege [Wed, 8 Feb 2006 16:32:50 +0000 (8 17:32 +0100)]
verify_main.cc: fix typo that would let check_series fail on multi-D problems.
Sven Verdoolaege [Wed, 8 Feb 2006 16:18:04 +0000 (8 17:18 +0100)]
verify_main.cc: also print explicit function when verbose
Sven Verdoolaege [Wed, 8 Feb 2006 15:31:08 +0000 (8 16:31 +0100)]
gen_fun::add: normalize coefficients
Sven Verdoolaege [Sun, 29 Jan 2006 14:04:45 +0000 (29 15:04 +0100)]
test barvinok_enumerate_e --omega
Sven Verdoolaege [Sun, 29 Jan 2006 14:04:19 +0000 (29 15:04 +0100)]
barvinok_enumerate_e: only provide --pip option if piplib is available.
Sven Verdoolaege [Sun, 29 Jan 2006 14:03:15 +0000 (29 15:03 +0100)]
barvinok_enumerate_e.cc: memory clean up.
Sven Verdoolaege [Sat, 28 Jan 2006 15:54:53 +0000 (28 16:54 +0100)]
integrate verif_ehrhart_e into barvinok_enumerate_e
Sven Verdoolaege [Sat, 28 Jan 2006 15:01:19 +0000 (28 16:01 +0100)]
barvinok_enumerate_e: rename --range option to --range-reduction
Sven Verdoolaege [Sat, 28 Jan 2006 14:43:06 +0000 (28 15:43 +0100)]
barvinok_enumerate_e: optionally use omega to simplify input
Sven Verdoolaege [Sat, 28 Jan 2006 14:45:35 +0000 (28 15:45 +0100)]
omega/convert.cc: add conversion from PolyLib to Omega
Sven Verdoolaege [Sat, 28 Jan 2006 13:11:27 +0000 (28 14:11 +0100)]
omega/convert.cc: extract out conversion from Omega to PolyLib
Sven Verdoolaege [Sat, 28 Jan 2006 12:56:15 +0000 (28 13:56 +0100)]
barvinok/util.h: include gmp.h
Sven Verdoolaege [Sat, 28 Jan 2006 12:44:56 +0000 (28 13:44 +0100)]
let OMEGA_ vars contain omega related flags exclusively
Sven Verdoolaege [Sat, 28 Jan 2006 11:32:23 +0000 (28 12:32 +0100)]
reduce_in_domain: fix some memory leaks
Sven Verdoolaege [Sat, 28 Jan 2006 10:50:06 +0000 (28 11:50 +0100)]
scan_quast: combine quast parts if we are projecting out.
Sven Verdoolaege [Fri, 27 Jan 2006 21:17:51 +0000 (27 22:17 +0100)]
barvinok_enumerate_pip: no need to remove negative values.
There was probably something wrong with this preprocessing
and it's unneeded since we can let piplib handle negative values.
Sven Verdoolaege [Fri, 27 Jan 2006 21:16:32 +0000 (27 22:16 +0100)]
pip_projectout: allow unknows and parameters to be negative.
Sven Verdoolaege [Fri, 27 Jan 2006 21:15:17 +0000 (27 22:15 +0100)]
pip_projectout: let piplib simplify solution.
Sven Verdoolaege [Fri, 27 Jan 2006 16:29:41 +0000 (27 17:29 +0100)]
barvinok_enumerate_e: print current problem in form that can be used as input.
Sven Verdoolaege [Fri, 27 Jan 2006 15:49:41 +0000 (27 16:49 +0100)]
occ: reduce evalue before printing
Sven Verdoolaege [Fri, 20 Jan 2006 21:51:10 +0000 (20 22:51 +0100)]
version 0.19