next | previous | forward | backward | up | top | index | toc | Macaulay2 website
NormalToricVarieties :: isSmooth(NormalToricVariety)

isSmooth(NormalToricVariety) -- whether a normal toric variety is smooth



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

  • X is smooth,
  • every torus-invariant Weil divisor on X is Cartier,
  • the Picard group of X equals the class group of X,
  • X has no singularities.

For more information, see Proposition 4.2.6 in Cox-Little-Schenck's Toric Varieties.

Many of our favourite normal toric varieties are smooth.

i1 : PP1 = toricProjectiveSpace 1;
i2 : assert (isSmooth PP1 and isProjective PP1)
i3 : FF7 = hirzebruchSurface 7;
i4 : assert (isSmooth FF7 and isProjective FF7)
i5 : AA3 = affineSpace 3;
i6 : assert (isSmooth AA3 and not isComplete AA3 and # max AA3 === 1)
i7 : X = smoothFanoToricVariety (4,120);
i8 : assert (isSmooth X and isProjective X and isFano X)
i9 : U = normalToricVariety ({{4,-1},{0,1}},{{0},{1}});
i10 : assert (isSmooth U and not isComplete U)

However, not all normal toric varieties are smooth.

i11 : P12234 = weightedProjectiveSpace {1,2,2,3,4};
i12 : assert (not isSmooth P12234 and isSimplicial P12234 and isProjective P12234)
i13 : C = normalToricVariety ({{4,-1},{0,1}},{{0,1}});
i14 : assert (not isSmooth C and isSimplicial C and # max C === 1)
i15 : Q = normalToricVariety ({{1,0,0},{0,1,0},{0,0,1},{1,1,-1}},{{0,1,2,3}});
i16 : assert (not isSmooth Q and not isSimplicial Q and not isComplete Q)
i17 : Y = normalToricVariety ( id_(ZZ^3) | - id_(ZZ^3));
i18 : assert (not isSmooth Y and not isSimplicial Y and isProjective Y)

To avoid repeating a computation, the package caches the result in the CacheTable of the normal toric variety.

See also