next | previous | forward | backward | up | top | index | toc | Macaulay2 website
NormalToricVarieties :: latticePoints(ToricDivisor)

latticePoints(ToricDivisor) -- compute the lattice points in the associated polytope

Synopsis

Description

On a complete normal toric variety, the polyhedron associated to a Cartier divisor is a lattice polytope. Given a torus-invariant Cartier divisor on a normal toric variety, this method returns an integer matrix whose columns correspond to the lattices points contained in the associated polytope. For a non-effective Cartier divisor, this method returns null.

On the projective plane, the associate polytope is either empty, a point, or a triangle.

i1 : PP2 = toricProjectiveSpace 2;
i2 : assert (null === vertices (-PP2_0))
i3 : latticePoints (0*PP2_0)

o3 = 0

              2        1
o3 : Matrix ZZ  <--- ZZ
i4 : assert isAmple PP2_0
i5 : V1 = latticePoints (PP2_0)

o5 = | 0 1 0 |
     | 0 0 1 |

              2        3
o5 : Matrix ZZ  <--- ZZ
i6 : X1 = normalToricVariety V1;
i7 : assert (set rays X1 === set rays PP2 and  max X1 === max PP2)
i8 : assert isAmple (2*PP2_0)
i9 : V2 = latticePoints (2*PP2_0)

o9 = | 0 1 2 0 1 0 |
     | 0 0 0 1 1 2 |

              2        6
o9 : Matrix ZZ  <--- ZZ
i10 : X2 = normalToricVariety(V2, MinimalGenerators => true);
i11 : assert (rays X2 === rays X1 and max X2 === max X1)

In this singular example, we see that all the lattice points in the polytope arising from a divisor $2D$ do not come from the lattice points in the polytope arising from $D$.

i12 : Y = normalToricVariety matrix {{0,1,0,0,1},{0,0,1,0,1},{0,0,0,1,1},{0,0,0,0,3}};
i13 : D = 3*Y_0;

o13 : ToricDivisor on Y
i14 : latticePoints D

o14 = | 0 1 0 0 1 |
      | 0 0 1 0 1 |
      | 0 0 0 1 1 |
      | 0 0 0 0 3 |

               4        5
o14 : Matrix ZZ  <--- ZZ
i15 : latticePoints (2*D)

o15 = | 0 1 2 0 1 0 0 1 0 0 1 1 2 1 1 2 |
      | 0 0 0 1 1 2 0 0 1 0 1 1 1 2 1 2 |
      | 0 0 0 0 0 0 1 1 1 2 1 1 1 1 2 2 |
      | 0 0 0 0 0 0 0 0 0 0 2 3 3 3 3 6 |

               4        16
o15 : Matrix ZZ  <--- ZZ

See also