# isRegularTriangulation -- determine if a given triangulation is a regular triangulation

## Synopsis

• Usage:
isRegularTriangulation T
• Inputs:
• T, an instance of the type Triangulation (missing documentation) , A triangulation of a point or vector configuration
• Optional inputs:
• Homogenize (missing documentation) => , default value true, unused for this method
• Outputs:
• , whether the given triangulation is regular

## Description

A triangulation is called regular if it can be constructed in the following way: place the point set in one higher dimension at various heights in the new variable. Compute the convex hull. Collect the list of facets with downward pointing normal (last coordinate of normal vector is negative). If each of these is a simplex, then these form a triangulation of the original point set. A triangulation which arises this way is called regular. See the book [deLoera et al] for more details and many beautiful properties of such triangulations.

The following example is one of the simplest examples of a non-regular triangulation. Notice that tri is a triangulation of the polytope which is the convex hull of the columns of $A$, which are the only points allowed in the triangulation.

 i1 : A = transpose matrix {{0,3},{0,1},{-1,-1},{1,-1},{-4,-2},{4,-2}} o1 = | 0 0 -1 1 -4 4 | | 3 1 -1 -1 -2 -2 | 2 6 o1 : Matrix ZZ <--- ZZ i2 : tri = {{0,1,2}, {1,3,5}, {2,3,4}, {0,1,5}, {0,2,4}, {3,4,5}, {1,2,3}} o2 = {{0, 1, 2}, {1, 3, 5}, {2, 3, 4}, {0, 1, 5}, {0, 2, 4}, {3, 4, 5}, {1, ------------------------------------------------------------------------ 2, 3}} o2 : List i3 : T = triangulation(A, tri) o3 = triangulation {{0, 1, 2}, {0, 1, 5}, {0, 2, 4}, {1, 2, 3}, {1, 3, 5}, {2, 3, 4}, {3, 4, 5}} o3 : Triangulation

We check that T is indeed a triangulation, and whether it is a regular triangulation.

 i4 : isWellDefined T o4 = true i5 : isRegularTriangulation T o5 = false

Many of the functions in this package are wrappers for topcom functions. Setting the global variable debugLevel to either 1,2, or 5 will give more detail about what files are written to Topcom, and what the executable is. Setting debugLevel to 0 means that the function will run silently.

## Caveat

Does topcom check that the triangulation is actually well defined? I'm not sure... This is why we call isWellDefined(Triangulation) (missing documentation) first.

## See also

• regularTriangulationWeights(Triangulation) (missing documentation)
• regularFineTriangulation (missing documentation)
• isWellDefined(Triangulation) (missing documentation)

## Ways to use isRegularTriangulation :

• "isRegularTriangulation(Triangulation)"
• isRegularTriangulation(Matrix,List) (missing documentation)

## For the programmer

The object isRegularTriangulation is .