next | previous | forward | backward | up | top | index | toc | Macaulay2 web site
MatFac15 :: isSmoothCurve

isSmoothCurve -- check whether the ideal defines a smooth curve

Synopsis

Description

The function checks for smoothness with the jacobian criterion. So in a first step, we check for associated points. In case of n > 3 we project to P3 from the center defined by the first 4 variables of the coordinate ring of Pn. Then we check for smoothness of the projected curve. We might be unluck that the projection introduces a singularity as in the example of i17-o19 below.

i1 : kk=ZZ/101;S=kk[x_0..x_2];
i3 : C=ideal(x_0^2,x_0*x_1);isSmoothCurve C

o3 : Ideal of S
there are associated points

o4 = false
i5 : C=ideal(x_0*x_2^2-x_1^3);isSmoothCurve C

o5 : Ideal of S

o6 = false
i7 : S=kk[x_0..x_3];
i8 : C=intersect(ideal(x_0,x_1), ideal( x_1,x_2,x_3))

o8 = ideal (x , x x , x x )
             1   0 3   0 2

o8 : Ideal of S
i9 : isSmoothCurve C
there are associated points

o9 = false
i10 : C=ideal(x_0,x_1*x_2);isSmoothCurve C

o10 : Ideal of S

o11 = false
i12 : S=kk[x_0..x_4]

o12 = S

o12 : PolynomialRing
i13 : C=ideal(x_0,x_1,x_2*x_3);isSmoothCurve C

o13 : Ideal of S
bad projection center

o14 = false
i15 : C=ideal(x_4,x_1,x_2*x_3);isSmoothCurve C

o15 : Ideal of S

o16 = false
i17 : m=matrix{{x_0,x_4,x_2,x_3},{x_4,x_2,x_3,x_1}}

o17 = | x_0 x_4 x_2 x_3 |
      | x_4 x_2 x_3 x_1 |

              2       4
o17 : Matrix S  <--- S
i18 : C=minors(2,m);isSmoothCurve C

o18 : Ideal of S

o19 = false
i20 : C=minors(2,random(S^2,S^{4:-1}));isSmoothCurve C

o20 : Ideal of S

o21 = true

Ways to use isSmoothCurve :

  • isSmoothCurve(Ideal)