Home Online Manual
Top
Back: triangulations
Forward: secondaryFan
FastBack:
FastForward:
Up: polymake_lib
Top: Singular Manual
Contents: Table of Contents
Index: Index
About: About this document

D.13.2.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.rambau.wm.uni-bayreuth.de/TOPCOM/);

Example:
 
LIB "polymake.lib";
==> Welcome to polymake version
==> Copyright (c) 1997-2015
==> Ewgenij Gawrilow, Michael Joswig (TU Darmstadt)
==> http://www.polymake.org
// 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);
==> Evaluating Commandline Options ...
==> ... done.
==> 0
==> 0
// the points in the secondary polytope
print(secpoly[1]);
==>      1     2     2     1
==>      2     1     1     2
// the corresponding triangulations
secpoly[2];
==> [1]:
==>    [1]:
==>       1,2,3
==>    [2]:
==>       2,3,4
==> [2]:
==>    [1]:
==>       1,3,4
==>    [2]:
==>       1,2,4