The Parma Polyhedra Library is a modern C++ library providing numerical abstractions especially targeted at applications in the field of analysis and verification of complex systems.
The PPL can handle all the convex polyhedra that can be defined as the intersection of a finite number of (open or closed) hyperspaces, each described by an equality or inequality (strict or non-strict) with rational coefficients.
The PPL also handles restricted classes of polyhedra that offer interesting complexity/precision tradeoffs. The library also supports finite powersets of (any kind of) polyhedra and linear programming problems solved with an exact-arithmetic version of the simplex algorithm. (More details are available on the PPL's internal mechanisms.)
The Parma Polyhedra Library is: user friendly (you write x + 2*y + 5*z
What's New in This Release: [ read full changelog ]
· This version includes support for the optimized representation of sparse vectors of coefficients, achieving significant performance improvements (e.g., when dealing with constraint systems describing weakly relational abstractions such as boxes and octagonal shapes).
· A generic interface allows seamless interaction between the dense and sparse row representations.
· Users can easily customize the default representation for library entities, to tailor the library to their special needs.
· The release also includes a couple of bugfixes.