#8169: include TOPCOM as optional spkg
----------------------------+-----------------------------------------------
Reporter: vbraun | Owner: AlexGhitza
Type: enhancement | Status: needs_work
Priority: major | Milestone: sage-feature
Component: geometry | Keywords:
Author: Volker Braun | Upstream: N/A
Reviewer: | Merged:
Work_issues: |
----------------------------+-----------------------------------------------
Old description:
> TOPCOM is a C++ program for triangulating polyhedra. More generally, it
> can find a single triangulation as well as enumerate all triangulations
> of a "point configuration", that is, the convex hull of points in
> euclidean space such that all vertices of simplices of the triangulation
> are in the given (finite) list of points.
>
> One problem with the upstream distribution is that it statically links
> many helper programs, yielding almost 200mb of binaries. Therefore, I
> suggest the following:
>
> - dynamically link TOPCOM via libtools to reduce size
> - Write a sage<->TOPCOM interface at sage.geometry.triangulation.py
>
> As an initial submission, my libtoolized TOPCOM spkg is here:
>
> http://www.stp.dias.ie/~vbraun/TOPCOM-0.16.2.p2.spkg
>
> and a first draft of triangulation.py is attached. The basic usage is
>
> {{{
> sage: points = PointConfiguration([[0,0],[0,1],[1,0],[1,1],[-1,-1]]);
> sage: points
> A point configuration in QQ^2 consisting of 5 points. The
> triangulations of this point configuration are assumed to
> be connected, not necessarily fine, not necessarily regular.
> sage: triang = points.triangulate() # find one triangulation
> sage: triang
> (<0,1,2>, <0,1,4>, <0,2,4>, <1,2,3>)
> sage: triang[0]
> (0, 1, 2)
> sage: list( points.triangulations() )
> [(<0,1,2>, <0,1,4>, <0,2,4>, <1,2,3>),
> (<0,1,3>, <0,1,4>, <0,2,3>, <0,2,4>),
> (<1,2,3>, <1,2,4>),
> (<1,3,4>, <2,3,4>)]
> sage: triang.plot(axes=False)
> }}}
>
> After we confirm that the libtoolized TOPCOM builds on all sage
> platforms, I'll contact upstream for eventual inclusion of the autotools
> sources.
>
> Note: see #8115 for a modified cddlib (required by TOPCOM) that provides
> a non-static cddlib library.
New description:
TOPCOM is a C++ program for triangulating polyhedra. More generally, it
can find a single triangulation as well as enumerate all triangulations of
a "point configuration", that is, the convex hull of points in euclidean
space such that all vertices of simplices of the triangulation are in the
given (finite) list of points.
One problem with the upstream distribution is that it statically links
many helper programs, yielding almost 200mb of binaries. Therefore, I
changed the TOPCOM build system to dynamically link TOPCOM via libtools to
reduce size
My libtoolized TOPCOM spkg is here:
http://www.stp.dias.ie/~vbraun/TOPCOM-0.16.2.p2.spkg
See also: #9918: triangulate point configurations, an extension to the
Sage library that optionally uses TOPCOM.
--
Comment(by vbraun):
I've split off a self-contained triangulation module into #9918. This
ticket will focus on getting the TOPCOM spkg build on all platforms. In
particular, OSX seems to be broken at the moment.
I still don't have access to an OSX machine, but will get this sorted out
eventually...
--
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/8169#comment:27>
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.