# CheckSmooth

## Description

The option CheckSmooth is only used by the commands CSM and only when computing the CSM class of a toric variety. It is set to true by default. When true it will check if the toric variety is smooth before proceeding, if it is this will speed up computation; however checking for smoothness does take some time.

 ```i1 : needsPackage "NormalToricVarieties" o1 = NormalToricVarieties o1 : Package``` ```i2 : U = toricProjectiveSpace 7 o2 = normalToricVariety((({{-1, -1, -1, -1, -1, -1, -1}, {1, 0, 0, 0, 0, 0, 0}, {0, 1, 0, 0, 0, 0, 0}, {0, 0, 1, 0, 0, 0, 0}, {0, 0, 0, 1, 0, 0, 0}, {0, 0, 0, 0, 1, 0, 0}, {0, 0, 0, 0, 0, 1, 0}, {0, 0, 0, 0, 0, 0, 1}}(,({{0, 1, 2, 3, 4, 5, 6}, {0, 1, 2, 3, 4, 5, 7}, {0, 1, 2, 3, 4, 6, 7}, {0, 1, 2, 3, 5, 6, 7}, {0, 1, 2, 4, 5, 6, 7}, {0, 1, 3, 4, 5, 6, 7}, {0, 2, 3, 4, 5, 6, 7}, {1, 2, 3, 4, 5, 6, 7}} ))))) o2 : NormalToricVariety``` ```i3 : time CSM U -- used 0.0392858 seconds 7 6 5 4 3 2 o3 = 8x + 28x + 56x + 70x + 56x + 28x + 8x + 1 7 7 7 7 7 7 7 ZZ[x , x , x , x , x , x , x , x ] 0 1 2 3 4 5 6 7 o3 : ----------------------------------------------------------------------------------------------- (x x x x x x x x , - x + x , - x + x , - x + x , - x + x , - x + x , - x + x , - x + x ) 0 1 2 3 4 5 6 7 0 1 0 2 0 3 0 4 0 5 0 6 0 7``` ```i4 : time CSM(U,CheckSmooth=>false) -- used 0.132094 seconds 7 6 5 4 3 2 o4 = 8x + 28x + 56x + 70x + 56x + 28x + 8x + 1 7 7 7 7 7 7 7 ZZ[x , x , x , x , x , x , x , x ] 0 1 2 3 4 5 6 7 o4 : ----------------------------------------------------------------------------------------------- (x x x x x x x x , - x + x , - x + x , - x + x , - x + x , - x + x , - x + x , - x + x ) 0 1 2 3 4 5 6 7 0 1 0 2 0 3 0 4 0 5 0 6 0 7```

## Functions with optional argument named CheckSmooth :

• CSM(..., CheckSmooth => ...) (missing documentation)

## For the programmer

The object CheckSmooth is .