Macaulay2 » Documentation
Packages » Triangulations :: Triangulations
next | previous | forward | backward | up | index | toc

Triangulations -- generating and manipulating triangulations of point or vector configurations

Description

Warning! This package is experimental, documentation is missing, and the interface will be cleaned up and changed. Use only if these issues don't bother you!

Data of a triangulation

  • max(Triangulation) (missing documentation)
  • vectors(Triangulation) (missing documentation)

Creating triangulations

  • triangulation(Matrix,List) (missing documentation)
  • regularFineTriangulation(Matrix) (missing documentation)
  • generateTriangulations(Triangulation) (missing documentation)
  • allTriangulations(Matrix) -- use topcom to generate all triangulations of a point or vector configuration

Properties of triangulations

  • isWellDefined(Triangulation) (missing documentation)
  • isRegularTriangulation(Triangulation) -- determine if a given triangulation is a regular triangulation
  • regularTriangulationWeights(Triangulation) (missing documentation)
  • isStar(Triangulation) (missing documentation)
  • isFine(Triangulation) (missing documentation)
  • naiveIsTriangulation(Triangulation) (missing documentation)

Exploring the set of triangulations

  • bistellarFlip(Triangulation,List) (missing documentation)
  • flips(Triangulation) (missing documentation)
  • neighbors(Triangulation) (missing documentation)
  • affineCircuits(Triangulation) (missing documentation)
  • volumeVector(Triangulation) (missing documentation)
  • volumeVector(Triangulation) (missing documentation)
  • delaunayWeights(Matrix) (missing documentation)
  • delaunaySubdivision(Matrix) (missing documentation)

This package is designed to help compute and explore the set of all (or many) triangulations of a point set or polytope.

We give a sample use of this package.

i1 : LP = {{-1, 0, -1, 1}, {-1, 0, 1, 0}, {-1, 0, 2, -1}, {-1, 1, -1, 0}, {1, 0, -1, 0}, {1, 0, 1, 0}, {2, -1, -1, 0}, {0, 0, 1, 0}, {1, 0, 0, 0}, {0,0,0,0}}

o1 = {{-1, 0, -1, 1}, {-1, 0, 1, 0}, {-1, 0, 2, -1}, {-1, 1, -1, 0}, {1, 0,
     ------------------------------------------------------------------------
     -1, 0}, {1, 0, 1, 0}, {2, -1, -1, 0}, {0, 0, 1, 0}, {1, 0, 0, 0}, {0, 0,
     ------------------------------------------------------------------------
     0, 0}}

o1 : List
i2 : A = transpose matrix LP

o2 = | -1 -1 -1 -1 1  1 2  0 1 0 |
     | 0  0  0  1  0  0 -1 0 0 0 |
     | -1 1  2  -1 -1 1 -1 1 0 0 |
     | 1  0  -1 0  0  0 0  0 0 0 |

              4       10
o2 : Matrix ZZ  <-- ZZ
i3 : elapsedTime Ts = allTriangulations(A, Fine => true);
 -- 0.199608 seconds elapsed
i4 : select(Ts, T -> isStar T)

o4 = {triangulation {{0, 1, 2, 3, 9}, {0, 1, 2, 6, 9}, {0, 1, 3, 7, 9}, {0,
     ------------------------------------------------------------------------
     1, 6, 7, 9}, {0, 2, 3, 6, 9}, {0, 3, 4, 6, 9}, {0, 3, 4, 8, 9}, {0, 3,
     ------------------------------------------------------------------------
     5, 7, 9}, {0, 3, 5, 8, 9}, {0, 4, 6, 8, 9}, {0, 5, 6, 7, 9}, {0, 5, 6,
     ------------------------------------------------------------------------
     8, 9}, {1, 2, 3, 7, 9}, {1, 2, 6, 7, 9}, {2, 3, 4, 6, 9}, {2, 3, 4, 8,
     ------------------------------------------------------------------------
     9}, {2, 3, 5, 7, 9}, {2, 3, 5, 8, 9}, {2, 4, 6, 8, 9}, {2, 5, 6, 7, 9},
     ------------------------------------------------------------------------
     {2, 5, 6, 8, 9}}}

o4 : List
i5 : #oo == 1

o5 = true
i6 : #Ts == 51

o6 = true
i7 : T = regularFineTriangulation A

o7 = triangulation {{0, 1, 2, 3, 9}, {0, 1, 2, 6, 9}, {0, 1, 3, 7, 9}, {0, 1, 6, 7, 9}, {0, 2, 3, 4, 6}, {0, 2, 3, 4, 9}, {0, 2, 4, 6, 9}, {0, 3, 4, 7, 8}, {0, 3, 4, 7, 9}, {0, 3, 5, 7, 8}, {0, 4, 6, 7, 8}, {0, 4, 6, 7, 9}, {0, 5, 6, 7, 8}, {1, 2, 3, 7, 9}, {1, 2, 6, 7, 9}, {2, 3, 4, 7, 8}, {2, 3, 4, 7, 9}, {2, 3, 5, 7, 8}, {2, 4, 6, 7, 8}, {2, 4, 6, 7, 9}, {2, 5, 6, 7, 8}}

o7 : Triangulation
i8 : elapsedTime Ts2 = generateTriangulations T;
 -- 0.549618 seconds elapsed
i9 : #Ts2 == #Ts

o9 = true

See also

Author

Version

This documentation describes version 0.1 of Triangulations.

Source code

The source code from which this documentation is derived is in the file Triangulations.m2.

Exports

  • Types
    • Chirotope (missing documentation)
    • Triangulation (missing documentation)
  • Functions and commands
    • affineCircuits (missing documentation)
    • allTriangulations -- see allTriangulations(Matrix) -- use topcom to generate all triangulations of a point or vector configuration
    • bistellarFlip (missing documentation)
    • chirotope (missing documentation)
    • delaunaySubdivision (missing documentation)
    • delaunayWeights (missing documentation)
    • fineStarTriangulation (missing documentation)
    • flips (missing documentation)
    • generateTriangulations -- generate all triangulations with certain properties
    • gkzVector (missing documentation)
    • isFine (missing documentation)
    • isRegularTriangulation -- determine if a given triangulation is a regular triangulation
    • isStar (missing documentation)
    • naiveChirotope (missing documentation)
    • naiveIsTriangulation (missing documentation)
    • neighbors (missing documentation)
    • regularFineStarTriangulation (missing documentation)
    • regularFineTriangulation (missing documentation)
    • regularTriangulationWeights (missing documentation)
    • triangulation -- make a Triangulation object
    • vectors (missing documentation)
    • volumeVector (missing documentation)
  • Methods
    • allTriangulations(Matrix) -- use topcom to generate all triangulations of a point or vector configuration
    • generateTriangulations(Matrix) -- see generateTriangulations -- generate all triangulations with certain properties
    • isRegularTriangulation(Triangulation) -- see isRegularTriangulation -- determine if a given triangulation is a regular triangulation
  • Symbols
    • ConeIndex (missing documentation)

For the programmer

The object Triangulations is a package.