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:
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.