sagemath / sage

Main repository of SageMath. Now open for Issues and Pull Requests.
https://www.sagemath.org
Other
1.17k stars 408 forks source link

Make Parma Polyhedra Library a standard library #10039

Closed vbraun closed 13 years ago

vbraun commented 13 years ago

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.

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. My cython wrapper for PPL is attached. It has full doctest coverage and any invalid input is caught and raises ValueError.
  2. 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

To apply this ticket:

CC: @novoselt @jdemeyer @kiwifb

Component: geometry

Keywords: ppl spkg

Author: Volker Braun

Reviewer: Marshall Hampton, Jeroen Demeyer

Merged: sage-4.7.alpha4

Issue created by migration from https://trac.sagemath.org/ticket/10039

vbraun commented 13 years ago
comment:85

Oops, sorry. New trac_10039_ppl_fix_extremize.patch now has a commit message, no other changes. Setting this back to positive review as only metadata changed.

jdemeyer commented 13 years ago

Merged: sage-4.7.alpha4

jdemeyer commented 13 years ago

Description changed:

--- 
+++ 
@@ -12,14 +12,14 @@
 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.2.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.
+1. My cython wrapper for PPL is attached. It has full doctest coverage and any invalid input is caught and raises `ValueError`.
+2. 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

-To apply this ticket
-* copy the ppl spkg to `$SAGE_ROOT/spkg/standard`
+To apply this ticket:
+* download the new spkg [http://boxen.math.washington.edu/home/jdemeyer/spkg/ppl-0.11.2.spkg](http://boxen.math.washington.edu/home/jdemeyer/spkg/ppl-0.11.2.spkg)
+* copy the spkg to `$SAGE_ROOT/spkg/standard`
 * apply [attachment: trac_10039_parma_polyhedra_library.patch](https://github.com/sagemath/sage-prod/files/10651046/trac_10039_parma_polyhedra_library.patch.gz) to the Sage library
 * apply [attachment: trac_10039_ppl_fix_extremize.patch](https://github.com/sagemath/sage-prod/files/10651051/trac_10039_ppl_fix_extremize.patch.gz) to the Sage library
 * apply [attachment: 10039_manifest.patch](https://github.com/sagemath/sage-prod/files/10651049/10039_manifest.patch.gz) to the Sage library
jdemeyer commented 13 years ago
comment:87

www.stp.dias.ie seems to be down, so I'm mirroring the spkg myself.