|
D.13.4.5 eta
Procedure from library polymake.lib (see polymake_lib).
- Usage:
- eta(triang,polygon); triang, polygon list
- Assume:
- polygon has the format of the output of splitPolygon, i.e. it is a
list with three entries describing a convex lattice polygon in the
following way:
polygon[1] : is a list of lists; for each i the entry polygon[1][i][1]
is a lattice point which is a vertex of the lattice
polygon, and polygon[1][i][2] is an integer assigned to
this lattice point as identifying index
polygon[2] : is a list of lists; for each vertex of the polygon,
i.e. for each entry in polygon[1], it contains a list
polygon[2][i], which contains the lattice points on the
facet with endpoints polygon[1][i] and polygon[1][i+1]
- i considered mod size(polygon[1]);
each such lattice point contributes an entry
polygon[2][i][j][1] which is an integer
vector giving the coordinate of the lattice point and an
entry polygon[2][i][j][2] which is the identifying index
polygon[3] : is a list of lists, where each entry corresponds to a
lattice point in the interior of the polygon, with
polygon[3][j][1] being the coordinates of the point
and polygon[3][j][2] being the identifying index;
triang is a list of integer vectors all of size three describing a
triangulation of the polygon described by polygon; if an entry of
triang is the vector (i,j,k) then the triangle is built by the vertices
with indices i, j and k
- Return:
- intvec, the integer vector eta describing that vertex of the Newton
polytope discriminant of the polygon whose dual cone in the
Groebner fan contains the cone of the secondary fan of the
polygon corresponding to the given triangulation
- Note:
- for a better description of eta see Gelfand, Kapranov,
Zelevinski: Discriminants, Resultants and multidimensional Determinants.
Chapter 10.
Example:
| LIB "polymake.lib";
// the lattice polygon spanned by the points (0,0), (3,0) and (0,3)
// with all integer points as markings
list polygon=intvec(1,1),intvec(3,0),intvec(2,0),intvec(1,0),
intvec(0,0),intvec(2,1),intvec(0,1),intvec(1,2),
intvec(0,2),intvec(0,3);
// split the polygon in its vertices, its facets and its interior points
list sp=splitPolygon(polygon);
// define a triangulation by connecting the only interior point
// with the vertices
list triang=intvec(1,2,5),intvec(1,5,10),intvec(1,5,10);
// compute the eta-vector of this triangulation
eta(triang,sp);
==> 9,1,0,0,1,0,0,0,0,1
|
|