Macaulay2 » Documentation
Packages » RandomPlaneCurves :: nodalPlaneCurve
next | previous | forward | backward | up | index | toc

nodalPlaneCurve -- get a random nodal plane curve

Synopsis

Description

The procedure starts by choosing

\ \ \ 1) an ideal I of delta random points in $\PP^2$, and then returns

\ \ \ 2) the principal ideal generated by an random element in the saturated square J=saturate(I^2) of degree d.

If the procedure fails, for example if J_d=0, then the null is returned.

Under the option Certified=>true, the result is certified by establishing that

\ \ \ 1) the points are distinct nodes, and that

\ \ \ 2) the curve has ordinary nodes at these points

by using the Jacobian criterion applied to the singular locus of the curve.

Under the option Attempts=>n, the program makes n attempts in both steps to achieve the desired goal. Here n can be infinity. The default value is n=1.

i1 : setRandomSeed("alpha");
i2 : R=ZZ/32003[x_0..x_2];
i3 : F=(random nodalPlaneCurve)(8,5,R);

o3 : Ideal of R
i4 : (dim F, degree F)

o4 = (2, 8)

o4 : Sequence
i5 : singF = F + ideal jacobian F;

o5 : Ideal of R
i6 : (dim singF,degree singF)

o6 = (1, 5)

o6 : Sequence

Over very small fields the curves are often singular:

i7 : R=ZZ/3[x_0..x_2];
i8 : tally apply(3^4,i-> null===((random nodalPlaneCurve)(8,5,R,Certify=>true, Attempts=>1)))

o8 = Tally{false => 17}
           true => 64

o8 : Tally

For the programmer

The object nodalPlaneCurve is an instance of the type RandomObject.