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

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

--

-- 
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/10039#comment:10>
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.

Reply via email to