Procedure from library polymake.lib (see polymake_lib).
Usage:
secondaryPolytope(polygon[,#]); list polygon, list #
Assume:
- polygon is a list of integer vectors of the same size representing
the affine coordinates of lattice points
- if the triangulations of the corresponding polygon have already been
computed with the procedure triangulations then these can be given as
a second (optional) argument in order to avoid doing this computation
again
Purpose:
the procedure considers the marked polytope given as the convex hull of
the lattice points and with these lattice points as markings; it then
computes the lattice points of the secondary polytope given by this
marked polytope which correspond to the triangulations computed by
the procedure triangulations
Return:
list, say L, such that:
L[1] = intmat, each row gives the affine coordinates of a lattice
point in the secondary polytope given by the marked
polytope corresponding to polygon
L[2] = the list of corresponding triangulations
Note:
if the triangluations are not handed over as optional argument the
procedure calls for its computation of these triangulations the program
points2triangs from the program topcom by Joerg Rambau, Universitaet
Bayreuth; it therefore is necessary that this program is installed in
order to use this procedure; see
http://www.uni-bayreuth.de/departments/wirtschaftsmathematik/rambau/TOPCOM
Example:
LIB "polymake.lib";
// the lattice points of the unit square in the plane
list polygon=intvec(0,0),intvec(0,1),intvec(1,0),intvec(1,1);
// the secondary polytope of this lattice point configuration is computed
list secpoly=secondaryPolytope(polygon);
// the points in the secondary polytope
print(secpoly[1]);
// the corresponding triangulations
secpoly[2];