# Singular

#### D.13.1.6 triangulations

Procedure from library `polymake.lib` (see polymake_lib).

Usage:
triangulations(polygon[,#]); list polygon, list #

Assume:
polygon is a list of integer vectors of the same size representing the affine coordinates of the lattice points

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 all possible triangulations of this marked polytope

Return:
list, each entry corresponds to one triangulation and the ith entry is itself a list of integer vectors of size three, where each integer vector defines one triangle in the triangulation by telling which points of the input are the vertices of the triangle

Note:
- the procedure calls for its computations 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
- if you only want to have the regular triangulations the procedure should be called with the string 'regular' as optional argument
- the procedure creates the files /tmp/triangulationsinput and /tmp/triangulationsoutput;
the former is used as input for points2triangs and the latter is its output containing the triangulations of corresponding to points in the format of points2triangs; if you wish to use this for further computations with topcom, you have to call the procedure with the string 'keepfiles' as optional argument
- note that an integer i in an integer vector representing a triangle refers to the ith lattice point, i.e. polygon[i]; this convention is different from TOPCOM's convention, where i would refer to the i-1st lattice point

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 triangulations of this lattice point configuration are computed list triang=triangulations(polygon); triang; ```