#### 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.