PolyLib - A library of polyhedral functions

What's new:
2021: Polylib moved to MIT license.
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

Latest version on GIT

PolyLib Information

The documentation:
See the doc/ subdirectory in the standard distribution.

You may contact Vincent Loechner for any information, bug report, compilation problems, ...

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).


Doran Wilde's PolyLib Page.

Ehrhart Polynomials Page, by Philippe Clauss, and related publications.

Parma Polyhedra Library


VisualPolylib is no longer maintained - use (if you can) at your own risks!

VisualPolylib is an interface that permits to use the PolyLib interactively.
In VisualPolylib, you can:
- call the polylib functions as in other computer algebra environments
- visualize union of parameterized domains in a GTK environment

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):

A graphical tool to view parameterized polyhedra

A graphical tool to view parameterized polyhedra

(old) VisuDomain toolkit: visudomain-2.0.3b.tar.gz
VisuDomain is included in VisualPolylib. It is no longer maintained as a seperate tool.
Vincent Loechner, loechner at unistra.fr.