#10140: Base sage.geometry.cone on the Parma Polyhedra Library (PPL)
------------------------------------------------+---------------------------
Reporter: vbraun | Owner: mhampton
Type: enhancement | Status: needs_review
Priority: major | Milestone: sage-4.7
Component: geometry | Keywords: ppl
Work_issues: | Upstream: N/A
Reviewer: Andrey Novoseltsev, Volker Braun | Author: Volker
Braun, Andrey Novoseltsev
Merged: | Dependencies: #10039
------------------------------------------------+---------------------------
Changes (by newvalueoldvalue):
* status: needs_work => needs_review
* work_issues: remove/review dependencies =>
* author: Volker Braun => Volker Braun, Andrey Novoseltsev
* dependencies: => #10039
* reviewer: Andrey Novoseltsev => Andrey Novoseltsev, Volker Braun
Old description:
> As a first useful application of the PPL Cython library interface I have
> changed `sage.geometry.cone.Cone` to use the PPL wrapper instead of
> `cddlib`. Here is a quick benchmark with a fan that was somewhat
> challenging:
> {{{
> sage: from sage.schemes.generic.toric_variety_library import
> toric_varieties_rays_cones
> sage: rays, cones = toric_varieties_rays_cones['BCdlOG']
> sage: timeit('Fan(cones,rays)')
> 5 loops, best of 3: 1.95 s per loop
> }}}
> With the old `Polyhedron`/`cddlib` interface, I got instead
> {{{
> 5 loops, best of 3: 42.1 s per loop
> }}}
>
> '''Depends on'''
> 1. #10039: Make Parma Polyhedra Library a standard library
> 1. #10882: Add kernel fan to fan morphism
>
> '''Apply'''
> 1. [attachment:trac_10140_sublattice_intersection.patch]
> 1. [attachment:trac_10140_base_cone_on_ppl_original.patch]
> 1. [attachment:trac_10140_reviewer.patch]
New description:
As a first useful application of the PPL Cython library interface I have
changed `sage.geometry.cone.Cone` to use the PPL wrapper instead of
`cddlib`. Here is a quick benchmark with a fan that was somewhat
challenging:
{{{
sage: from sage.schemes.generic.toric_variety_library import
toric_varieties_rays_cones
sage: rays, cones = toric_varieties_rays_cones['BCdlOG']
sage: timeit('Fan(cones,rays)')
5 loops, best of 3: 1.95 s per loop
}}}
With the old `Polyhedron`/`cddlib` interface, I got instead
{{{
5 loops, best of 3: 42.1 s per loop
}}}
'''Apply'''
1. [attachment:trac_10140_sublattice_intersection.patch]
1. [attachment:trac_10140_base_cone_on_ppl_original.patch]
1. [attachment:trac_10140_reviewer.patch]
--
Comment:
OK, the new patches apply cleanly to sage-4.7.alpha4 and pass all long
tests, documentation builds without warnings. The first patch now includes
some adjustments to lattice treatment, moved here from #10882 (I'll update
the patch there shortly.)
Volker, if you are fine with my patches, please switch it to positive
review!
--
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/10140#comment:47>
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.