- Usage:
`isSmooth X`

- Function: isSmooth
- Inputs:
`X`, a normal toric variety

- Outputs:
- a Boolean value, 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
*ℤ*-basis

- a Boolean value, 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

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 *ℤ*. 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.

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

- Basic invariants and properties of normal toric varieties
- rays(NormalToricVariety) -- get the rays of the associated fan
- max(NormalToricVariety) -- get the maximal cones in the associated fan
- isSimplicial(NormalToricVariety) -- whether a normal toric variety is simplicial