barvinok/uuh.git
16 years agoversion 0.21barvinok-0.21
Sven Verdoolaege [Thu, 22 Jun 2006 18:57:22 +0000 (22 20:57 +0200)]
version 0.21

16 years agoREADME: document optional installation of Omega and piplib
Sven Verdoolaege [Thu, 22 Jun 2006 18:41:44 +0000 (22 20:41 +0200)]
README: document optional installation of Omega and piplib

16 years agodoc: document Omega interface
Sven Verdoolaege [Thu, 22 Jun 2006 18:21:20 +0000 (22 20:21 +0200)]
doc: document Omega interface

16 years agodoc: (minimally) document polymake clients
Sven Verdoolaege [Thu, 22 Jun 2006 16:08:06 +0000 (22 18:08 +0200)]
doc: (minimally) document polymake clients

16 years agodoc: further document barvinok_ehrhart
Sven Verdoolaege [Thu, 22 Jun 2006 15:15:47 +0000 (22 17:15 +0200)]
doc: further document barvinok_ehrhart

16 years agodocument barvinok_union
Sven Verdoolaege [Thu, 22 Jun 2006 15:12:32 +0000 (22 17:12 +0200)]
document barvinok_union

16 years agodoc: document barvinok_ehrhart
Sven Verdoolaege [Thu, 22 Jun 2006 15:06:10 +0000 (22 17:06 +0200)]
doc: document barvinok_ehrhart

16 years agodoc: document some options
Sven Verdoolaege [Wed, 21 Jun 2006 21:37:46 +0000 (21 23:37 +0200)]
doc: document some options

16 years agodoc: add reference for NTL
Sven Verdoolaege [Wed, 21 Jun 2006 18:17:36 +0000 (21 20:17 +0200)]
doc: add reference for NTL

16 years agodoc: describe vertices based input specification
Sven Verdoolaege [Wed, 21 Jun 2006 18:13:35 +0000 (21 20:13 +0200)]
doc: describe vertices based input specification

16 years agodoc: typo
Sven Verdoolaege [Wed, 21 Jun 2006 17:58:49 +0000 (21 19:58 +0200)]
doc: typo

16 years agodoc: add subsections
Sven Verdoolaege [Wed, 21 Jun 2006 17:58:30 +0000 (21 19:58 +0200)]
doc: add subsections

16 years agouse "git describe" to describe version
Sven Verdoolaege [Wed, 21 Jun 2006 17:44:09 +0000 (21 19:44 +0200)]
use "git describe" to describe version

16 years agoadd doc to distribution
Sven Verdoolaege [Wed, 21 Jun 2006 17:17:46 +0000 (21 19:17 +0200)]
add doc to distribution

16 years agodoc: warn that the output may look different
Sven Verdoolaege [Wed, 21 Jun 2006 15:19:04 +0000 (21 17:19 +0200)]
doc: warn that the output may look different

16 years agodoc: barvinok_count no longer performs manual counting.
Sven Verdoolaege [Wed, 21 Jun 2006 15:06:24 +0000 (21 17:06 +0200)]
doc: barvinok_count no longer performs manual counting.

See e038931e97f805f1c076267662336f70ff02319b.

16 years agodoc: replace "Appendix" by "Section"
Sven Verdoolaege [Wed, 21 Jun 2006 14:58:49 +0000 (21 16:58 +0200)]
doc: replace "Appendix" by "Section"

16 years agodoc: reflect rename of cdd2polylib.pl to latte2polylib.pl
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

16 years agodoc: resolve undefined references through my thesis
Sven Verdoolaege [Wed, 21 Jun 2006 14:44:14 +0000 (21 16:44 +0200)]
doc: resolve undefined references through my thesis

16 years agodoc: add title page
Sven Verdoolaege [Wed, 21 Jun 2006 14:21:04 +0000 (21 16:21 +0200)]
doc: add title page

16 years agodoc: user guide
Sven Verdoolaege [Wed, 21 Jun 2006 14:10:17 +0000 (21 16:10 +0200)]
doc: user guide

Mostly copied from my thesis text.

16 years agorename cdd2polylib.pl to latte2polylib.pl
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.

16 years agopolymake/h_star_vector.cc: client to compute the h^*-vector of a polytope
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.

16 years agopolymake/convert.cc: extract polymake_constraints2polylib from lattice_points
Sven Verdoolaege [Sun, 18 Jun 2006 20:05:07 +0000 (18 22:05 +0200)]
polymake/convert.cc: extract polymake_constraints2polylib from lattice_points

16 years agoutil.c: export Cone_over_Polyhedron
Sven Verdoolaege [Sun, 18 Jun 2006 19:20:24 +0000 (18 21:20 +0200)]
util.c: export Cone_over_Polyhedron

16 years agobarvinok_ehrhart: compute ehrhart (quasi-)polynomial/series of a polytope.
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.

16 years agobarvinok_count: allow polytope to be specified by its vertices.
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.

16 years agogenfun.cc: fix add_union method
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.

16 years agobarvinok_union: optionally print generating function
Sven Verdoolaege [Tue, 13 Jun 2006 21:57:26 +0000 (13 23:57 +0200)]
barvinok_union: optionally print generating function

16 years agobarvinok_count: handle infinite polyhedra with no integer points
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.

16 years agobarvinok_count: stop counting if one of the factors is empty
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.

16 years agoevalue_frac2floor_in_domain: allow argument of resulting floor to be negative
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.

16 years agoutil.c: specifically indicate empty sets in Polyhedron_pprint
Sven Verdoolaege [Sun, 28 May 2006 15:29:42 +0000 (28 17:29 +0200)]
util.c: specifically indicate empty sets in Polyhedron_pprint

16 years agoutil.c: move align_matrix from barvinok.cc
Sven Verdoolaege [Fri, 26 May 2006 13:49:54 +0000 (26 15:49 +0200)]
util.c: move align_matrix from barvinok.cc

16 years agomat_util.cc: some useful functions extracted from genfun.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

16 years agoevalue.c: export reduce_evalue_in_domain
Sven Verdoolaege [Thu, 25 May 2006 09:48:28 +0000 (25 11:48 +0200)]
evalue.c: export reduce_evalue_in_domain

16 years agoevalue.c: rename reduce_in_domain to evalue_range_reduction_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

16 years agobarvinok.cc: remove ancient debugging code
Sven Verdoolaege [Thu, 25 May 2006 09:17:13 +0000 (25 11:17 +0200)]
barvinok.cc: remove ancient debugging code

16 years agoevalue.c: export evalue_frac2floor_in_domain
Sven Verdoolaege [Thu, 25 May 2006 09:12:35 +0000 (25 11:12 +0200)]
evalue.c: export evalue_frac2floor_in_domain

16 years agogen_fun::substitute: add more detailed explanation
Sven Verdoolaege [Wed, 24 May 2006 11:30:08 +0000 (24 13:30 +0200)]
gen_fun::substitute: add more detailed explanation

16 years agoreduce_domain: handle NULL CEq
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.

16 years agobarvinok.cc: move reduce_domain into separate file
Sven Verdoolaege [Mon, 22 May 2006 15:42:31 +0000 (22 17:42 +0200)]
barvinok.cc: move reduce_domain into separate file

16 years agoutil.c: add Polyhedron_pprint
Sven Verdoolaege [Fri, 19 May 2006 13:49:50 +0000 (19 15:49 +0200)]
util.c: add Polyhedron_pprint

16 years agolattice_point.cc: lattice points computation extracted from barvinok.cc
Sven Verdoolaege [Thu, 18 May 2006 13:50:35 +0000 (18 15:50 +0200)]
lattice_point.cc: lattice points computation extracted from barvinok.cc

16 years agoconversion.cc: add values2zz and rays2 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

16 years agoevalue.c: add evalue_zero
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

16 years agodecomposer: extract out vertex_decomposer from barvinok.cc
Sven Verdoolaege [Thu, 18 May 2006 12:54:20 +0000 (18 14:54 +0200)]
decomposer: extract out vertex_decomposer from barvinok.cc

16 years agobarvinok.cc: extract out some functionality into decomposer and conversion
Sven Verdoolaege [Thu, 18 May 2006 10:51:02 +0000 (18 12:51 +0200)]
barvinok.cc: extract out some functionality into decomposer and conversion

16 years agoutil.c: document Euclid function
Sven Verdoolaege [Fri, 12 May 2006 20:00:10 +0000 (12 22:00 +0200)]
util.c: document Euclid function

16 years agoocc: plug some more (potential) memory leaks
Sven Verdoolaege [Wed, 10 May 2006 11:16:36 +0000 (10 13:16 +0200)]
occ: plug some more (potential) memory leaks

16 years agoocc: don't use freed variable in error message
Sven Verdoolaege [Wed, 22 Mar 2006 09:28:43 +0000 (22 10:28 +0100)]
occ: don't use freed variable in error message

16 years agobarvinok.cc: add some documentation to lattice point computation
Sven Verdoolaege [Mon, 10 Apr 2006 14:18:10 +0000 (10 16:18 +0200)]
barvinok.cc: add some documentation to lattice point computation

16 years agobarvinok_enumerate_union: call gen_fun::add_union
Sven Verdoolaege [Wed, 5 Apr 2006 13:46:55 +0000 (5 15:46 +0200)]
barvinok_enumerate_union: call gen_fun::add_union

16 years agogen_fun: add add_union method
Sven Verdoolaege [Wed, 5 Apr 2006 13:41:57 +0000 (5 15:41 +0200)]
gen_fun: add add_union method

16 years agobarvinok.cc: document SplitOnVar and remove some redundant parameters.
Sven Verdoolaege [Mon, 3 Apr 2006 13:24:45 +0000 (3 15:24 +0200)]
barvinok.cc: document SplitOnVar and remove some redundant parameters.

16 years agoremove inappropriate uses of Polyhedron2Param_SimplifiedDomain
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.

16 years agoversion 0.20barvinok-0.20release_0_20
Sven Verdoolaege [Wed, 22 Feb 2006 11:12:17 +0000 (22 12:12 +0100)]
version 0.20

16 years agocreate correct GIT_HEAD_ID in distribution
Sven Verdoolaege [Wed, 22 Feb 2006 10:58:48 +0000 (22 11:58 +0100)]
create correct GIT_HEAD_ID in distribution

16 years agobarvinok_union: document input format
Sven Verdoolaege [Wed, 22 Feb 2006 10:43:37 +0000 (22 11:43 +0100)]
barvinok_union: document input format

16 years agoMerge branch 'new_piplib'
Sven Verdoolaege [Tue, 21 Feb 2006 14:39:51 +0000 (21 15:39 +0100)]
Merge branch 'new_piplib'

16 years agoonly run tests that require piplib when piplib is available
Sven Verdoolaege [Thu, 16 Feb 2006 16:44:52 +0000 (16 17:44 +0100)]
only run tests that require piplib when piplib is available

16 years agobarvinok_enumerate_e: only link in omega libraries if they are 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

16 years agocheck for piplib 1.3.6
Sven Verdoolaege [Thu, 16 Feb 2006 16:12:10 +0000 (16 17:12 +0100)]
check for piplib 1.3.6

16 years agosome examples from Rachid to test barvinok_enumerate_e
Sven Verdoolaege [Wed, 15 Feb 2006 10:42:21 +0000 (15 11:42 +0100)]
some examples from Rachid to test barvinok_enumerate_e

16 years agoadd barvinok_union.c
Sven Verdoolaege [Wed, 15 Feb 2006 10:17:52 +0000 (15 11:17 +0100)]
add barvinok_union.c

16 years agoadd barvinok_enumerate_union function
Sven Verdoolaege [Wed, 15 Feb 2006 10:14:49 +0000 (15 11:14 +0100)]
add barvinok_enumerate_union function

16 years agogen_fun: add Hadamard_product method
Sven Verdoolaege [Wed, 15 Feb 2006 10:13:41 +0000 (15 11:13 +0100)]
gen_fun: add Hadamard_product method

16 years agogen_fun::operator evalue *(): fix memory leaks.
Sven Verdoolaege [Wed, 15 Feb 2006 10:11:37 +0000 (15 11:11 +0100)]
gen_fun::operator evalue *(): fix memory leaks.

16 years agogenfun.cc:print_power: remove spaces around "*" in output.
Sven Verdoolaege [Wed, 15 Feb 2006 09:51:18 +0000 (15 10:51 +0100)]
genfun.cc:print_power: remove spaces around "*" in output.

16 years agobarvinok_series: return empty gen_fun for empty polytope.
Sven Verdoolaege [Wed, 15 Feb 2006 08:34:55 +0000 (15 09:34 +0100)]
barvinok_series: return empty gen_fun for empty polytope.

16 years agobarvinok_series: remove unused variables.
Sven Verdoolaege [Tue, 14 Feb 2006 11:08:34 +0000 (14 12:08 +0100)]
barvinok_series: remove unused variables.

16 years agobarvinok.cc: extract out some code common to generating function counting.
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.

16 years agobarvinok.cc: introduce np_base, a base class for non-parametric 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.

16 years agobarvinok.cc: do virtual polar_decomposer inheritance "manually"
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.

16 years agobarvinok_series: remove some more equalities from the enumerated polyhedron.
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.

16 years agocheck for compress_parms function
Sven Verdoolaege [Fri, 10 Feb 2006 20:06:33 +0000 (10 21:06 +0100)]
check for compress_parms function

16 years agogen_fun: add substitute method.
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.

16 years agobarvinok/genfun.h: a bit more documentation.
Sven Verdoolaege [Thu, 9 Feb 2006 14:05:13 +0000 (9 15:05 +0100)]
barvinok/genfun.h: a bit more documentation.

16 years agoadapt determination of git HEAD to recent git versions
Sven Verdoolaege [Thu, 9 Feb 2006 13:19:06 +0000 (9 14:19 +0100)]
adapt determination of git HEAD to recent git versions

16 years agoverify_main.cc: fix typo that would let check_series fail on multi-D problems.
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.

16 years agoverify_main.cc: also print explicit function when verbose
Sven Verdoolaege [Wed, 8 Feb 2006 16:18:04 +0000 (8 17:18 +0100)]
verify_main.cc: also print explicit function when verbose

16 years agogen_fun::add: normalize coefficients
Sven Verdoolaege [Wed, 8 Feb 2006 15:31:08 +0000 (8 16:31 +0100)]
gen_fun::add: normalize coefficients

16 years agotest barvinok_enumerate_e --omega
Sven Verdoolaege [Sun, 29 Jan 2006 14:04:45 +0000 (29 15:04 +0100)]
test barvinok_enumerate_e --omega

16 years agobarvinok_enumerate_e: only provide --pip option if piplib is available.
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.

16 years agobarvinok_enumerate_e.cc: memory clean up.
Sven Verdoolaege [Sun, 29 Jan 2006 14:03:15 +0000 (29 15:03 +0100)]
barvinok_enumerate_e.cc: memory clean up.

16 years agointegrate verif_ehrhart_e into barvinok_enumerate_e
Sven Verdoolaege [Sat, 28 Jan 2006 15:54:53 +0000 (28 16:54 +0100)]
integrate verif_ehrhart_e into barvinok_enumerate_e

16 years agobarvinok_enumerate_e: rename --range option to --range-reduction
Sven Verdoolaege [Sat, 28 Jan 2006 15:01:19 +0000 (28 16:01 +0100)]
barvinok_enumerate_e: rename --range option to --range-reduction

16 years agobarvinok_enumerate_e: optionally use omega to simplify input
Sven Verdoolaege [Sat, 28 Jan 2006 14:43:06 +0000 (28 15:43 +0100)]
barvinok_enumerate_e: optionally use omega to simplify input

16 years agoomega/convert.cc: add conversion from PolyLib to Omega
Sven Verdoolaege [Sat, 28 Jan 2006 14:45:35 +0000 (28 15:45 +0100)]
omega/convert.cc: add conversion from PolyLib to Omega

16 years agoomega/convert.cc: extract out conversion from Omega to PolyLib
Sven Verdoolaege [Sat, 28 Jan 2006 13:11:27 +0000 (28 14:11 +0100)]
omega/convert.cc: extract out conversion from Omega to PolyLib

16 years agobarvinok/util.h: include gmp.h
Sven Verdoolaege [Sat, 28 Jan 2006 12:56:15 +0000 (28 13:56 +0100)]
barvinok/util.h: include gmp.h

16 years agolet OMEGA_ vars contain omega related flags exclusively
Sven Verdoolaege [Sat, 28 Jan 2006 12:44:56 +0000 (28 13:44 +0100)]
let OMEGA_ vars contain omega related flags exclusively

16 years agoreduce_in_domain: fix some memory leaks
Sven Verdoolaege [Sat, 28 Jan 2006 11:32:23 +0000 (28 12:32 +0100)]
reduce_in_domain: fix some memory leaks

16 years agoscan_quast: combine quast parts if we are projecting out.
Sven Verdoolaege [Sat, 28 Jan 2006 10:50:06 +0000 (28 11:50 +0100)]
scan_quast: combine quast parts if we are projecting out.

16 years agobarvinok_enumerate_pip: no need to remove negative values.
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.

16 years agopip_projectout: allow unknows and parameters to be negative.
Sven Verdoolaege [Fri, 27 Jan 2006 21:16:32 +0000 (27 22:16 +0100)]
pip_projectout: allow unknows and parameters to be negative.

16 years agopip_projectout: let piplib simplify solution.
Sven Verdoolaege [Fri, 27 Jan 2006 21:15:17 +0000 (27 22:15 +0100)]
pip_projectout: let piplib simplify solution.

16 years agobarvinok_enumerate_e: print current problem in form that can be used as input.
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.

16 years agoocc: reduce evalue before printing
Sven Verdoolaege [Fri, 27 Jan 2006 15:49:41 +0000 (27 16:49 +0100)]
occ: reduce evalue before printing

16 years agoversion 0.19release_0_19
Sven Verdoolaege [Fri, 20 Jan 2006 21:51:10 +0000 (20 22:51 +0100)]
version 0.19