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

## Synopsis

• Function: isSmooth
• Usage:
isSmooth X
• Inputs:
• X, ,
• Outputs:
• , that is true if the minimal nonzero lattice points on the rays in each maximal cone in the associated fan of form part of a $\ZZ$-basis

## Description

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.

 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)
 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)