#### D.13.1.7 secondaryPolytope

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];

User manual for Singular version 4-0-3, 2016, generated by texi2html.