# isSmooth -- whether R mod the ideal is smooth

## Synopsis

• Usage:
isSmooth( I )
• Inputs:
• Optional inputs:
• IsGraded => , default value false, specify that we should do this computation on a projective algebraic variety
• Outputs:
• flag, ,

## Description

This function returns true if $R/I$ is regular where $R$ is the ambient ring of $I$, otherwise it sets to false.

 i1 : R = QQ[x, y, z]; i2 : I = ideal(x * y - z^2 ) 2 o2 = ideal(x*y - z ) o2 : Ideal of R i3 : isSmooth( I ) o3 = false
 i4 : R = QQ[x, y, u, v]; i5 : I = ideal(x * y - u * v) o5 = ideal(x*y - u*v) o5 : Ideal of R i6 : isSmooth( I ) o6 = false
 i7 : R = QQ[x, y, z]; i8 : J = ideal( x ) o8 = ideal x o8 : Ideal of R i9 : isSmooth( J ) o9 = true

If IsGraded is set to true (default false) then it treats $I$ as an ideal on $Proj R$ (and it assumes $R$ is standard graded over a field). In particular, singularities at the origin (corresponding to the irrelevant ideal) are ignored.

 i10 : R = QQ[x, y, z]; i11 : I = ideal(x * y - z^2 ) 2 o11 = ideal(x*y - z ) o11 : Ideal of R i12 : isSmooth(I) o12 = false i13 : isSmooth(I, IsGraded => true) o13 = true
 i14 : R = QQ[x, y, u, v]; i15 : I = ideal(x * y - u * v) o15 = ideal(x*y - u*v) o15 : Ideal of R i16 : isSmooth(I) o16 = false i17 : isSmooth(I, IsGraded => true) o17 = true

## Ways to use isSmooth :

• "isSmooth(Ideal)"

## For the programmer

The object isSmooth is .