Yes, it's a good idea to have PPL.
You can start by making it an optional package.

Are you saying that PPL cannot work with floating point numbers?

Dima

On Oct 18, 8:13 pm, Volker Braun <vbraun.n...@gmail.com> wrote:
> === Introduction ===
>
> I would like to have the Parma Polyhedra Library (PPL) included
> as a standard spkg. My goal is to rewrite as much of the
> sage.geometry.* modules on top of a Cython PPL wrapper as opposed
> to piping ASCII to/from cddlib. Some of the reasons are:
>
> * PPL is already faster by itself, and having a Cython wrapper reduces
>   overhead. I'm seeing about 20x speedup on medium-sized problems.
>
> * PPL is the only polyhedral computation toolkit that is from the
>   ground up designed to be used as a shared library.(1)
>
> * PPL is mature, well tested, has an active development including bug
>   tracker and mailing list. It is used in a variety of other projects,
>   including gcc's Graphite loop optimizer. It has been tested on
>   Linux, FreeBSD, OpenBSD, Solaris, IRIX64, Mac OS X, Cygwin, DEC
>   OSF/1.
>
> cddlib was the first really useful software package back in the day
> and it was hugely influential for many subsequent codes. But nowadays
> there are alternatives that combine the same algorithms with better
> implementations and software development practices.(2)
>
> Note that I'm not proposing to remove cddlib entirely. It is still a
> requirement for gfan and the only program to do polyhedral
> computations over floating point numbers.(3)
>
> === Work Plan ===
>
> I have written a PPL spkg and a Cython (C++) wrapper that should cover
> all functions necessary for dealing with polyhedra in Sage. You can
> find it here:
>
> http://trac.sagemath.org/sage_trac/ticket/10039
>
> Using this wrapper, I patched sage.geometry.cone:
>
> http://trac.sagemath.org/sage_trac/ticket/10140
>
> I think that the PPL spkg and the Cython wrapper is ready for
> inclusion in the next Sage release (4.6.1?). In the subsequent release
> we can then rebase sage.geometry modules on top of the wrapper.
>
> Right now I would like to invite any comments on this plan!
>
> === Notes ===
>
> (1) cddlib also comes with a shared library. But its poorly documented
> and, according to valgrind, leaks memory. Other toolkits like lrs and
> qhull don't build shared libraries but have minimal instructions for
> statically linking with parts of their code.
>
> (2) In particular, cddlib has no bug tracker, no new release in the
> last 5 years, and segfaults on some of its own testsuite.
>
> (3) Though in a numerically unstable way, see Trac #10046, #10037.

-- 
To post to this group, send an email to sage-devel@googlegroups.com
To unsubscribe from this group, send an email to 
sage-devel+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org

Reply via email to