MATH 531: Singular: Milnor and Tjurina numbers,  standard bases w.r.t. local orderings.

1. Milnor number. SINGULAR offers a comfortable programming language, with a syntax close to C. So it is possible to define procedures which collect several commands to a new one. Procedures are defined with the keyword proc followed by a name and an optional parameter list with specified types. Finally, a procedure may return values using the command return.

Define the following procedure called Milnor:

proc Milnor(poly h)
{
return(vdim(std(jacob(h))));
};

Let apply the procedure to compute Milnor number of the origin in the following example:

ring R = 0, (x,y), ds;
poly h = x5+y2+2y3+y4;
Milnor(h);
==> 4

Exercise: Find all singular points of h. Show that the sum of Milnor numbers at the singularities equals the dimension of the quotient ring k[x,y]/<jacob(h)>.
(Hints:
(1) you might need to use subst to change the coordinates;
(2) create a new ring S changing the ordering to the global ordering dp. Then you may use poly h' = fetch(R,h) to convert polynomial h to a polynomial in the ring S.)

Instead of writing Milnor procedure ourselves, we could have loaded it from the library sing.lib

LIB "sing.lib";

As all input in SINGULAR is case sensitive, there is no conflict with the previously defined procedure Milnor, but the result is the same.

milnor(f);
==> 12

The procedures in a library have a help part which is displayed by typing

help milnor;

as well as some examples, which are executed by

example milnor;

Likewise, the library itself has a help part, to show a list of all the functions available for the user which are contained in the library.

help sing.lib;

2. Tjurina number. One of the functions of the library, tjurina, takes care of computing Tjurina number at the origin.

tjurina(h);
==> 4

Exercise:  Find all singular points of h. Show that the sum of Tjurina numbers at the singularities equals the dimension of the quotient ring k[x,y]/<h, jacob(h)>.

3. Local orderings. 

ls
negative lexicographical ordering

ds
negative degree reverse lexicographical ordering

Ds
negative degree lexicographical ordering

ws( intvec_expression )
(general) weighted reverse lexicographical ordering; the first element of the weight vector has to be non-zero.

Ws( intvec_expression )
(general) weighted lexicographical ordering; the first element of the weight vector has to be non-zero.

Local orderings are not well-orderings. They are denoted by an s as the second character in their name.

Exercise: The following ring uses a weighted monomial ordering:

ring R=0, (x,y,z), ws(1,1,1);

What standard local  ordering is this equivalent to?

The ideal I in R is defined by

poly s1 = x3-yz;

poly s2 = y3-xz;
poly s3 = z3-xy;
ideal I = s1,s2,s3;

Compare the staircases for I w.r.t. local weighted orderings ws(1,1,1), ws(10,1,1) and ws(1,2,3).

4. Planar geometry revisited. Consider a parallelogram with ACBD with vertices A=(0,0), B=(u,0), C=(v,b), D=(a,b) with diagonals AC and BD intersecting at the point N=(c,d). This statement is reflected by the following ideal in the ring k[a,b,c,d,u,v]:

ideal I = a-u-v, ad-bc, d*(v-u)-(c-u)*b;

We would like to show that the point N bisects both diagonals. This conclusion can be described as vanishing of two polynomials:

poly g1 = a2-2ac-2bd+b2;
poly g2 = 2cu-2cv-2bd-u2+v2+b2;

Exercise: (1) Show that g1 and g2 are not in the radical of I. What does it mean?
(2) Observe that for a square the conclusion holds. Show that it also holds in the neighborhood of the point (a,b,u,v)=(1,1,1,1).