| #### D.4.5.3 curveDeligneNumber Procedure from library `curveInv.lib` (see curveInv_lib). Usage: curveDeligneNumber(I); I ideal Assume: I is a radical ideal, dim(R/I) = 1 Return: the Deligne number of R/I Remarks: The Deligne number e satisfies by definition: e = 3delta - m. So the algorithm splits the computation into two parts: one part computes the delta invariant, the other part the colength of derivations m. Note: the optional parameter can be used if the normalization has already been computed. If a list L contains the output of the procedure normal (with options prim, wd and usering if the ring has a mixed ordering), apply curveDeligneNumber(I,L) Example:
    LIB "curveInv.lib";
    //////////////////////////////
    // Deligne number of curves //
    //////////////////////////////
    // Example 1:
    ring R = 0,(x,y,z),ds;
    ideal I = x2-y4z,z3y2+xy2;
    I = std(radical(I));
    curveDeligneNumber(I);
    ==> 30
    // Example 2:
    ring S = 0,(x,y),ds;
    ideal I = (x+y)*(x2-y3);
    curveDeligneNumber(I);
    ==> 5
    // Example 3:
    ideal J = (x2-y3)*(x2+y2)*(x-y);
    curveDeligneNumber(J);
    ==> 15
    // Let us also compute the milnor number of this complete intersection:
    milnor(J);
    ==> 17
    // We see that the Milnor number is bigger than the Deligne number. Hence, this
    // curve cannot be quasi homogeneous. This can also be verified by Saitos criterion:
    reduce(J[1],std(jacob(J[1])));
    ==> -1/5y6+19/50y7
See also: curveColengthDerivations; curveDeltaInv.

User manual for Singular version 4.4.1, 2025, generated by texi2html.