#10039: Make Parma Polyhedra Library a standard library
----------------------------+-----------------------------------------------
Reporter: vbraun | Owner: mhampton
Type: enhancement | Status: new
Priority: major | Milestone: sage-feature
Component: geometry | Keywords: ppl spkg
Author: Volker Braun | Upstream: N/A
Reviewer: | Merged:
Work_issues: |
----------------------------+-----------------------------------------------
Description changed by vbraun:
Old description:
> The Parma Polyhedra Library (ppl) is for many workloads the fastest
> library for polyhedral computations. It is also high-quality code, for
> example GCC uses it (optionally) to optimize loops.
> * ppl has already been widely tested on a multitude of platforms.
> * Native C++ with a pure C interface.
> * Contains a huge testsuite _and_ passes its own testsuite (in contrast
> to some other polydedral library that shall remain unnamed)
>
> Official webpage: http://www.cs.unipr.it/ppl/
>
> My plan is to
> 1. Create a PPL spkg.
> 2. Write a Cython interface.
> 3. Base `sage.geometry.cone.Cone` on PPL instead of `Polyhedron/cddlib`
> 4. Split `sage.geometry.polyhedra.Polyhedron` into an abstract base
> class and derived classes that use different polyhedral computation
> libraries.
>
> Current status:
> 1. Spkg can be found here:
> http://www.stp.dias.ie/~vbraun/Sage/spkg/ppl-0.11.p0.spkg
> 2. A initial version of my cython wrapper for PPL is attached. It
> covers everything necessary to construct polyhedra and their minimal
> H/V-representations. Still needs more documentation and better exception
> handling. But feel free to look at the module docstring and post your
> suggestions!
>
> Dependencies:
> * #10094: cython and c++
> * #9828: Upgrade to Cython 0.13
New description:
The Parma Polyhedra Library (ppl) is for many workloads the fastest
library for polyhedral computations. It is also high-quality code, for
example GCC uses it (optionally) to optimize loops.
* ppl has already been widely tested on a multitude of platforms.
* Native C++ with a pure C interface.
* Contains a huge testsuite _and_ passes its own testsuite (in contrast
to some other polydedral library that shall remain unnamed)
Official webpage: http://www.cs.unipr.it/ppl/
My plan is to
1. Create a PPL spkg.
2. Write a Cython interface.
3. Base `sage.geometry.cone.Cone` on PPL instead of `Polyhedron/cddlib`
4. Split `sage.geometry.polyhedra.Polyhedron` into an abstract base
class and derived classes that use different polyhedral computation
libraries.
Current status:
1. Spkg can be found here:
http://www.stp.dias.ie/~vbraun/Sage/spkg/ppl-0.11.p0.spkg
2. My cython wrapper for PPL is attached. It has full doctest coverage
and any invalid input is caught and raises `ValueError`.
Dependencies:
* #10094: cython and c++
* #9828: Upgrade to Cython 0.13
--
--
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/10039#comment:9>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica,
and MATLAB
--
You received this message because you are subscribed to the Google Groups
"sage-trac" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/sage-trac?hl=en.