#10039: Make Parma Polyhedra Library a standard library
--------------------------------+-------------------------------------------
Reporter: vbraun | Owner: mhampton
Type: enhancement | Status: needs_review
Priority: major | Milestone: sage-feature
Component: geometry | Keywords: ppl spkg
Author: Volker Braun | Upstream: N/A
Reviewer: Marshall Hampton | Merged:
Work_issues: |
--------------------------------+-------------------------------------------
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.spkg
> 2. My cython wrapper for PPL is attached. It has full doctest coverage
> and any invalid input is caught and raises `ValueError`.
> 3. Is split off into trac #10140.
>
> For convenience I mirrored the reference manual page here:
> http://www.stp.dias.ie/~vbraun/Sage/html/en/reference/sage/libs/ppl.html
>
> Dependencies:
> * #10094: cython and c++
> * #9828: Upgrade to Cython 0.13
> * #10233: Incomplete cython search path in `setup.py`
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.1.spkg
2. My cython wrapper for PPL is attached. It has full doctest coverage
and any invalid input is caught and raises `ValueError`.
3. Is split off into trac #10140.
For convenience I mirrored the reference manual page here:
http://www.stp.dias.ie/~vbraun/Sage/html/en/reference/sage/libs/ppl.html
Dependencies:
* #10094: cython and c++
* #9828: Upgrade to Cython 0.13
* #10233: Incomplete cython search path in `setup.py`
--
Comment(by vbraun):
I've updated the PPL spkg to the new upstream version 0.11.1 and tested it
on Fedora 14 i386. It passes all tests on my system, so I'm pretty
confident that it works fine on 32bit.
--
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/10039#comment:55>
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.