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 : isRegularTriangulation(A,tri) o3 = false |
Setting 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.
Do we check that the triangulation is actually welll defined?
The object isRegularTriangulation is a method function with options.