next | previous | forward | backward | up | top | index | toc | Macaulay2 web site
NormalToricVarieties :: makeSimplicial(NormalToricVariety)

makeSimplicial(NormalToricVariety) -- make a birational simplicial toric variety

Synopsis

Description

A normal toric variety is simplicial if every cone in its fan is simplicial and a cone is simplicial if its minimal generators are linearly independent over . In fact, the following conditions on a normal toric variety X are equivalent:

  • X is simplicial;
  • every Weil divisor on X has a positive integer multiple that is Cartier;
  • the Picard group of X has finite index in the class group of X;
  • X has only finite quotient singularities.

Given a normal toric variety, this method makes a simplicial toric variety with the same rays by triangulating the non-simplicial maximal cones. For the 0 strategy, the triangulation is constructed by repeated regular subdivisions using random integral weight vectors. For the 1 strategy, the triangulation is constructed by repeated pushing subdivisions (i.e. toricBlowups at a given ray).

i1 : X = normalToricVariety (id_(ZZ^3) | - id_(ZZ^3));
i2 : assert not isSimplicial X
i3 : Y1 = makeSimplicial X;
i4 : assert isSimplicial Y1
i5 : assert (rays Y1 === rays X)
i6 : max Y1

o6 = {{0, 1, 3}, {0, 1, 5}, {0, 2, 3}, {0, 2, 6}, {0, 4, 5}, {0, 4, 6}, {1,
     ------------------------------------------------------------------------
     3, 7}, {1, 5, 7}, {2, 3, 7}, {2, 6, 7}, {4, 5, 7}, {4, 6, 7}}

o6 : List
i7 : max X

o7 = {{0, 1, 2, 3}, {0, 1, 4, 5}, {0, 2, 4, 6}, {1, 3, 5, 7}, {2, 3, 6, 7},
     ------------------------------------------------------------------------
     {4, 5, 6, 7}}

o7 : List
i8 : Y2 = makeSimplicial(X, Strategy => 1);
i9 : assert isSimplicial Y2
i10 : assert (rays Y2 === rays X)
i11 : max Y2

o11 = {{0, 1, 3}, {0, 1, 5}, {0, 2, 3}, {0, 2, 6}, {0, 4, 5}, {0, 4, 6}, {1,
      -----------------------------------------------------------------------
      3, 7}, {1, 5, 7}, {2, 3, 7}, {2, 6, 7}, {4, 5, 7}, {4, 6, 7}}

o11 : List
i12 : max Y1 == max Y2

o12 = true

If the initial toric variety is simplicial, then this method simply returns it.

i13 : PP3 = toricProjectiveSpace 3;
i14 : assert isSimplicial PP3
i15 : Z = makeSimplicial PP3;
i16 : assert (rays Z === rays PP3 and max Z === max PP3)

See also