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

Reply via email to