Skip to main content

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

To run the tests, simply run:

nosetests

From the top-level directory. To run the tests, you need to have the CDD library installed. I assume that you installed the version that comes with the pycddlib bindings.

Release files for pyparma 0.5.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pyparma 0.5.0
File Size Uploaded
pyparma-0.5.0.tar.gz 189.9 kB Details

Release files / pyparma-0.5.0.tar.gz

Download URL pyparma-0.5.0.tar.gz
Size 189.9 kB
Tags Source
SHA-256 checksum
How to use checksums
706b1ade797ae6c109d843bda8a2061940e0018639883af27013d574d8a64cc2
BLAKE2b-256 checksum
How to use checksums
fd805e23edfe9031dd8279e053ee3adfe03a5146df5f4407efb072ffee125843
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

This release

0.5.0 This release

1 release file

0.4.0

1 release file

0.3.3

1 release file

0.3.2

1 release file

0.3.1

1 release file

0.3.0

2 release files

0.2.0

1 release file

0.1.0

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page