No project description provided
Project description
These are Python bindings to the Parma Polyhedra Library. They were extracted from the sagemath project, in order to be used in non-sage projects. Additionally, the functions to convert unlimited precision integers between python and mpz commes from gmpy2 library, which was already adapted from sagemath.
This is GPL-licensed, as is Sagemath.
To build it you need to have both the ppl and gmp libraries installed in a place where distutils can find it. Then,
python setup.py build && python setup.py install
If you have trouble, try adding the desired paths to library_dirs in setup.py as a keyword argument to the Extension constructor.
To use it, simply import the module, create a matrix of Fractions or integers, and compute the double description !
from pyparma import Polyhedron
import numpy as np
from fractions import Fraction
fractionize = np.vectorize(lambda x: Fraction(str(x)))
A = fractionize(np.random.rand(50,3))
poly = Polyhedron(hrep=A)
print poly.hrep()
Both H-representation and V-representation follow the CDD format i.e.: - H_rep = [b | A] where the polyhedron is defined by b + A x >= 0 - V_rep = [t | V] where V are the stacked vertices (Horizontal vectors) and t is the type: 1 for points, 0 for rays/lines.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.