On Mon, Feb 18, 2013 at 06:20:44AM -0800, Volker Braun wrote:
>    You are talking about lattice polytopes, right? 

Actually no; I build a bunch of plain Polyhedrons to compute some
intersections and plot them.

Running to catch my bus!


>    There are three different representations:
>    * The LatticePolytope class, which is mostly geared towards reflexive
>    polytopes in small dimensions. It uses a pexpect interface with PALP. It
>    also has some compile-time limits with number of points and dimension that
>    make it unsuitable for arbitrary lattice polytopes.
>    * The PPL-based polytopes over ZZ: Polyhedron([[1,0],[0,1],[0,0]],
>    base_ring=ZZ). I think this should be eventually the default lattice
>    polytope class, but it lacks some functionality specific to lattice
>    polytopes. And its not backwards compatible with LatticePolytope since the
>    latter interface isn't particularly nice in some cases.
>    * The LatticePolytope_PPL class that is not public and currently only
>    in http://trac.sagemath.org/12553. Its rather bare-bones but designed to
>    be fast enough to be able to iterate through all 4d reflexive polytopes
>    (~500 million). I've been using it for internal computations for a while
>    now.
>    So my suggestion would be to base your stuff on Polyhedron() whether or
>    not your have lattice polytopes. If you need any particular functionality
>    thats not available then let me know.
>    On Monday, February 18, 2013 1:58:53 PM UTC, Nicolas M. Thiery wrote:
> 
>              Hi Volker,
> 
>      I am building pictures (for representing root systems) having
>      typically 1000 small polyhedrons of small dimension (2).  It's very
>      nice to be able to express my problem at this level! However, a lot of
>      time seems to be spent in communications:
> 
>      sage: %prun RootSystem(["G",2,1]).coambient_space().plot(bounding_box=3)
>               11585493 function calls (11505945 primitive calls) in 95.937
>      seconds
> 
>         Ordered by: internal time
> 
>         ncalls  tottime  percall  cumtime  percall filename:lineno(function)
>           9756   36.522    0.004   36.522    0.004 {posix.read}
>           3252   21.061    0.006   21.061    0.006 {posix.fork}
>          53198    7.324    0.000   13.506    0.000 weakref.py:55(__getitem__)
>        3887440    6.768    0.000    7.237    0.000 face.py:235(__cmp__)
>          13433    2.890    0.000    2.890    0.000 {built-in method poll}
>           8657    1.886    0.000    3.290    0.000 weakref.py:79(__setitem__)
> 
>      Is this to be expected (i.e. should I try to use less polyhedrons)?
>      Would you have recommendations? Things are roughly 3 times faster with
>      the ppl backend, but at this point I can't always have data in QQ.
> 
>      I can push my code to the sage-combinat queue tomorrow in case you
>      would like to experiment with it.
> 
>      Thanks!
> 
>      Cheers,
>                                      Nicolas
>      --
>      Nicolas M. ThiA-A?A 1/2ry "Isil" <nth...@users.sf.net>
>      http://Nicolas.Thiery.name/

                                Nicolas
--
Nicolas M. ThiƩry "Isil" <nthi...@users.sf.net>
http://Nicolas.Thiery.name/

-- 
You received this message because you are subscribed to the Google Groups 
"sage-combinat-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-combinat-devel+unsubscr...@googlegroups.com.
To post to this group, send email to sage-combinat-devel@googlegroups.com.
Visit this group at http://groups.google.com/group/sage-combinat-devel?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to