Polyhedral Computation in Julia

JuliaPolyhedra is the Julia organization targeted to polyhedral computation. Its packages share a common interface defined in the Polyhedra.jl package.

List of libraries

The following table provides a list of Polyhedra Manipulation Libraries. When they have a Julia library implementing the interface of Polyhedra.jl then the "Julia Package" column shows the name of the package. By convention, if the name of the package is X, the name of the libary is X.Library. For instance, the CDD library can be created with CDDLib.Library(). Some libraries have options such as the solver they use to solve linear programs or the arithmetic they use. For instance, to use CDD with exact arithmetic, do CDDLib.Library(:exact). The call CDDLib.Library() is equivalent to CDDLib.Library(:float).

Solver Julia Package License Exact Rational Floating point
cdd CDDLib.jl GPL X X
ConvexHull ConvexHull.jl MIT X  
lrs LRSLib.jl GPL X X
qhull QHull.jl     X
CHull2d CHull2d.jl MIT X X
NewPolka None GPL X  
Parma Polyhedra Library None GPL X  
pd None GPL X  
porta None GPL X (overflow !)  

Please let me know if you plan to write a new wrapper (or an implementation in pure Julia). Since libraries use different algorithms, no library is better for every problem; here and here are comparisons.