Using Polyhedron as you are doing is the correct way to compute convex
hulls in Sage.  If your vertices are integral, then you could also try
using the LatticePolytope class.  LatticePolytope uses PALP instead of
cddlib, and so might be faster for some inputs.

I have meant for a long time to make lrs an optional backend for
computing convex hulls, but I have never found the time.  For some
inputs lrs is much faster than cddlib, but it is difficult to tell in
advance which will be better.  I did make an optional lrs package for
Sage, and thanks to the work of others (Volker Braun primarily) the
Polyhedron class could be extended to use lrs pretty easily.

In the past when I looked at qhull it seemed poorly supported and
could not do exact computations in high dimensions.  I just looked at
the project page and it has been updated recently so maybe it would be
good to revisit it.  A first step would be making an optional spkg of
qhull for Sage.

For years the Sage interface to polymake has been broken, and it was
never very complete.  Polymake also uses cddlib and lrs, so there
would be no advantage there, but it also has a beneath-and-beyond
implementation that is sometimes faster than cddlib or lrs.  So you
might want to see if that works for you.  I've always had a lot of
trouble compiling polymake, and for various reasons its doubtful it
could be made a standard component of Sage, so I have preferred to
work on Sage-native solutions.  But it would be great to have a
working interface to it in Sage.

Hope that helps.
Marshall Hampton

On Jul 17, 4:24 pm, tvn <[email protected]> wrote:
> I use p = Polyhedron(vertices=set_of_vertices)  to compute the convex
> hull of the given set_of_vertices.   It works fine except way too slow
> when dealing with high dimension  and large set of vertices.   I am
> wondering if there's anyway to speed up the process.
>
> 1)  Is using Polyhedron()  the correct way to compute convex hull in
> Sage ?  is there another way ?
>
> 2) There's another program/algorithm called qhull that works very
> fast  ---   anyone has considered implementing that algorithm in
> Sage ?

-- 
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-support
URL: http://www.sagemath.org

Reply via email to