Macaulay2 » Documentation
Packages » NormalToricVarieties :: vertices(ToricDivisor)
next | previous | forward | backward | up | index | toc

vertices(ToricDivisor) -- compute the vertices of 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 vertices of the associated lattice polytope. For a non-effective Cartier divisor, this methods returns null. When the divisor is ample, the normal fan the corresponding polytope equals the fan associated to the normal toric variety.

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 : vertices (0*PP2_0)

o3 = 0

              2       1
o3 : Matrix ZZ  <-- ZZ
i4 : assert isAmple PP2_0
i5 : V1 = vertices (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 = vertices (2*PP2_0)

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

              2       3
o9 : Matrix ZZ  <-- ZZ
i10 : X2 = normalToricVariety V2;
i11 : assert (rays X2 === rays X1 and max X2 === max X1)

On a Hirzebruch surface, the polytopes associated to non-ample Cartier divisors give rise to other normal toric varieties.

i12 : FF2 = hirzebruchSurface 2;
i13 : assert not isAmple FF2_2
i14 : V3 = vertices FF2_2

o14 = | 0 1 |
      | 0 0 |

               2       2
o14 : Matrix ZZ  <-- ZZ
i15 : normalToricVariety V3  -- a degenerated version of the projective line

o15 = normalToricVariety ({{1, 0}, {-1, 0}}, {{0}, {1}})

o15 : NormalToricVariety
i16 : assert isDegenerate normalToricVariety V3
i17 : assert not isAmple FF2_3
i18 : V4 = vertices FF2_3

o18 = | 0 0 2 |
      | 0 1 1 |

               2       3
o18 : Matrix ZZ  <-- ZZ
i19 : normalToricVariety V4 -- a weighted projective space

o19 = normalToricVariety ({{1, 0}, {-1, 2}, {0, -1}}, {{0, 1}, {0, 2}, {1, 2}})

o19 : NormalToricVariety
i20 : vertices FF2_1

o20 = 0

               2       1
o20 : Matrix ZZ  <-- ZZ
i21 : assert isAmple (FF2_2 + FF2_3)
i22 : V5 = vertices (FF2_2 + FF2_3)

o22 = | 0 1 0 3 |
      | 0 0 1 1 |

               2       4
o22 : Matrix ZZ  <-- ZZ
i23 : X3 = normalToricVariety V5 -- isomorphic Hirzebruch surface

o23 = X3

o23 : NormalToricVariety
i24 : assert (set rays X3 === set rays FF2)

See also

Ways to use this method: