The Parma Polyhedra Library (PPL) provides
numerical abstractions especially targeted at
applications in the field of analysis and verification of complex systems.
These abstractions include convex polyhedra,
defined as the intersection of a finite number of (open or closed)
halfspaces, each described by a linear inequality (strict or
non-strict) with rational coefficients; some special
classes of polyhedra shapes that offer interesting
complexity/precision tradeoffs;
and grids which represent regularly spaced points
that satisfy a set of linear congruence relations.
The library also supports finite powersets and products of (any kind of)
polyhedra and grids, a mixed integer linear programming problem
solver using an exact-arithmetic version of the simplex algorithm,
a parametric integer programming solver, and primitives for termination analysis via the automatic synthesis of
linear ranking functions.
More details are available on the PPL's internal
mechanisms.)
The Parma Polyhedra Library is:
user friendly
(you write x + 2*y + 5*z <= 7 when you mean it);
fully dynamic
(available virtual memory is the only limitation to the dimension of anything);
portable
(written in standard C++, with C, Java, Objective CAML and Prolog interfaces,
and following all the applicable standards);
exception-safe
(never leaks resources or leaves invalid object fragments around);
efficient
(and we hope to make it even more so);
thoroughly documented;
free software
(distributed under the terms of the
GNU General Public License
version 3 or any later version).
News
28 giugno 2012
La nuova versione include il supporto per la rappresentazione ottimizzata di vettori sparsi di coefficienti, il che comporta significativi miglioramenti di prestazioni, ad esempio quando si lavora con sistemi di vincoli che descrivono relazioni debolmente relazionali come le box e le octagonal shape. Ulteriori informazioni sono disponibili (in inglese) nelle note di rilascio .
16 aprile 2012
La nuova versione include miglioramenti di portabilità, un paio di nuove funzionalità minori, alcune modifiche di interfaccia e la correzione di un errore nel risolutore PIP. Ulteriori informazioni sono disponibili (in inglese) nelle note di rilascio .
For older news items, see the complete
news archive.
Impatient?
You can
browse
the code or browse the latest hyperlinked user's manual both
in
HTML format and in
PDF.
You can also jump straight to the latest version's
download area.
Visiting the rest of this site will give you access to more information,
more documentation and more download options.
Developer's jump station:
Tinderbox panel for PPL-HEAD;
Tinderbox index;
Gitweb;
Reference manual.