PolyLib - A library of polyhedral functions
What's new:
Feb 24, 2010: Polylib latest release: 5.22.5.
Mar 22, 2005: VisualPolylib.0.9e
[Getting the PolyLib]
[Documentation and Information]
[Links and Publications]
[VisualPolylib]
The Polyhedral Library (PolyLib for short) operates on objects made up of unions of polyhedra of any dimension. It was first developed by Doran Wilde at IRISA, in Rennes, France, in connection with the ALPHA project.
This first version (1.1) manipulates non parameterized unions of polyhedra through the following operations: intersection, difference, union, convex hull, simplify, image and preimage, plus some input and output functions.
The polyhedra are computed in their dual implicit and Minkowski representations, in homogeneous spaces.
Version 2 of the PolyLib included parameterized vertices computation.
PolyLib3.14 includes Ehrhart polynomials computation, which permits to count the number of integer points contained in a parameterized polyhedron.
PolyLib4 included the GNU MP library (as a compilation option), and 64 bits computations, in order to avoid integer overflows.
Polylib5 is a merge of Strasbourg, Rennes and BYU Polylib.
Getting the PolyLib
Packages
Source
-
C source of the PolyLib. You are very welcome sending me bug reports.
polylib_src/
What's new ?
- in 5.22.5: bsd-make compatibility, moved to GPLv3.
- in 5.22.4: cleaned installation, many minor corrections and updates.
- in 5.22.3: memory leaks (Sven).
- in 5.22.2: various bug corrections and updates (RemoveNColumns for Paul).
- in 5.22.1: Ehrhart polynomial approximations (B. Meister), ranking function, memory leaks+bug corrections (S. Verdoolaege).
- in 5.20.0: Installation procedure (full GNU auto-tools), many changes in sources.
- in 5.11.1: remove memory leakages from ehrhart, polyparam, and Disjoint_Union.
- in 5.11: Reduced complexity of Ehrhart polynomials computation by calculating one lcm per parameter.
Function Domain_Enumerate, enumerating a union of polyhedra by computing a disjoint union first, and computing the sum of the resulting per-domain polynomials.
Various changes in configure script and Makefiles.
- GIT source repository: http://repo.or.cz/w/polylib.git.
PolyLib Information
The documentation:
See the doc/ subdirectory in the standard distribution.
The PolyLib mailing-list:
To join the list, send an email to
sympa@u-strasbg.fr
containing the following message:
SUB PolyLib firstname lastname organization
You will then be asked to confirm your subscription by replying
to the returned message.
You may also contact
Vincent Loechner
for any information, bug report, compilation problems, ...
Examples:
Many people (mostly Vincent) have written a lot of small tools using the PolyLib, usually
based on terminal input/output. I decided to give free access to these tools as tutorial.
However, be warned that most of them are lightly commented (!)
polylib_tools.tar.gz (317kb) (updated: december 11th 2000).
Links
Doran Wilde's
PolyLib Page.
Ehrhart Polynomials Page, by Philippe Clauss,
and related publications.
Parma Polyhedra Library
VisualPolylib
VisualPolylib is an interface that permits to use the PolyLib interactively.
Using VisualPolylib, you can:
- call the polylib functions as in other computer algebra environments
- visualize union of parameterized domains in a GTK environment
Requirement:
You need to have the following packages installed before building VisualPolylib:
- the GNU development suite (gcc, make, etc.)
- Polylib version >= 5.08
(available above)
- GTK+ 2.0, which requires ATK, PANGO and GLIB
(available at http://www.gtk.org)
Getting VisualPolylib:
1. Get the latest source: visualpolylib.0.9e.tar.gz
2. Unpack the archive (tar xzf visualpolylib.0.9e.tar.gz)
3. cd visualpolylib.0.9e
4. read the README file for more instructions.
|
Snapshots (click to enlarge):

|
(old) VisuDomain toolkit:
visudomain-2.0.3b.tar.gz
VisuDomain is now included in VisualPolylib.
It is no longer maintained as a seperate tool.
Vincent Loechner,
loechner@icps.u-strasbg.fr.