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

volumeVector -- the GKZ vector (per-vertex/per-ray volume sum) of a triangulation

Description

For each maximal simplex $t$, the function computes $|\det A_t| / d!$. The output's $i$-th entry is the sum of these values over all $t$ containing $i$. This is the GKZ vector (or volume vector) of the triangulation; the two names volumeVector and gkzVector are aliases for the same method.

The geometric reading of $|\det A_t|/d!$ depends on whether $A$ is a point or vector configuration:

  • Point configuration (homogenized matrix, last row of $1$'s; e.g. a Triangulation built with the default Homogenize => true): |det A_t|/d! is the $d$-dimensional volume of the simplex with vertices the columns of A_t; the result is the GKZ vector in the polytope / secondary-fan sense.
  • Vector configuration (e.g. a Triangulation built with Homogenize => false, whose columns span the rays of a simplicial fan): |det A_t|/d! is the normalized lattice volume of the cone, equivalently the index of the sublattice generated by the rays in A_t; the result is the per-ray sum of cone indices.

If $A$ has fewer rows than $d{+}1$ where $d{+}1 = |t|$ for any simplex $t \in tri$, $A$ is auto-homogenized with a final row of $1$'s before the determinant is taken.

Example: a fine regular triangulation of a planar point set, regarded as a point configuration:

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 : T = regularFineTriangulation A

o2 = triangulation {{0, 1, 2}, {0, 1, 3}, {0, 2, 4}, {0, 3, 5}, {1, 2, 3}, {2, 3, 4}, {3, 4, 5}}

o2 : Triangulation
i3 : volumeVector T

             19  27  21  19
o3 = {13, 4, --, --, --, --}
              2   2   2   2

o3 : List

Example: the rays of the fan of $\mathbb{P}^1 \times \mathbb{P}^1$, as a vector configuration:

i4 : B = matrix{{1,0,-1,0},{0,1,0,-1}}

o4 = | 1 0 -1 0  |
     | 0 1 0  -1 |

              2       4
o4 : Matrix ZZ  <-- ZZ
i5 : TB = triangulation(B, {{0,1},{1,2},{2,3},{0,3}}, Homogenize => false)

o5 = triangulation {{0, 1}, {0, 3}, {1, 2}, {2, 3}}

o5 : Triangulation
i6 : gkzVector TB

o6 = {2, 2, 2, 2}

o6 : List

See also

Ways to use volumeVector:

  • volumeVector(Matrix,List)
  • volumeVector(Triangulation)

For the programmer

The object volumeVector is a method function.


The source of this document is in Triangulations.m2:2640:0.