4.1 Milnor and Tjurina

The Milnor number resp. the Tjurina number of a power series f in K[[x1,...,xn]] is
milnor(f) = dim_K(K[[x1,...,xn]]/jacob(f))
resp.
tjurina(f) = dim_K(K[[x1,...,xn]]/((f)+jacob(f)))
where jacob(f) is the ideal generated by the partials of f. tjurina(f) is finite, if and only if f has an isolated singularity. The same holds for milnor(f) if K has characteristic 0. SINGULAR displays -1 if the dimension is infinite.

SINGULAR cannot compute with infinite power series. But it can work in Loc_(x)K[x1,...,xn], the localization of K[x1,...,xn] at the maximal ideal (x1,...,xn). To do this one has to define an s-ordering like ds, Ds, ls, ws, Ws or an appropriate matrix ordering (look at the manual to get information about the possible monomial orderings in SINGULAR, or type help Monomial orderings; to get a menu of possible orderings. For further help type e.g. help local orderings;).

We shall show in the example below how to realize the following:

option(prot);
ring r1 = 32003,(x,y,z),ds;
r1;
==> //   characteristic : 32003
==> //   number of vars : 3
==> //        block   1 : ordering ds
==> //                  : names    x y z 
==> //        block   2 : ordering C
int a,b,c,t=11,5,3,0;
poly f = x^a+y^b+z^(3*c)+x^(c+2)*y^(c-1)+x^(c-1)*y^(c-1)*z3+
         x^(c-2)*y^c*(y^2+t*x)^2;
f;
==> y5+x5y2+x2y2z3+xy7+z9+x11
ideal i=jacob(f);
i;
==> i[1]=5x4y2+2xy2z3+y7+11x10
==> i[2]=5y4+2x5y+2x2yz3+7xy6
==> i[3]=3x2y2z2+9z8
ideal j=std(i);
==> 7(2)s8-s10.s11(2)s12.s(3)s13(4)s(5)s14(6)s(7)15--.s(6)-16.-.s(5)17.s(
==> 7)s.--s18(6).--19-..sH(24)20....21.---
==> product criterion:10 chain criterion:69
"The Milnor number of f(11,5,3) for t=0 is", vdim(j);
==> The Milnor number of f(11,5,3) for t=0 is 250
j=i+f;    // overwrite j
j=std(j);
==> 7(3)s8-s10.s11(3)s.s12(4)s(5)s13(6)s(8)s14(9).s(10).15--sH(23)....16.
==> .....17.......sH(21)(9)sH(20)16(10).17.---------sH(19)16-
==> product criterion:10 chain criterion:53
vdim(j);  // compute the Tjurina number for t=0
==> 195
t=1;
f=x^a+y^b+z^(3*c)+x^(c+2)*y^(c-1)+x^(c-1)*y^(c-1)*z3
  +x^(c-2)*y^c*(y^2+t*x)^2;
ideal i1=jacob(f);
ideal j1=std(i1);
==> 7(2)s8-s10.s11.s12(2)s13(3)s.s(4)s14(5)s(6)s15(7).....s(8)16.s....s(9
==> )..17............s18(10).....s(11)..-.19.......sH(24)......20........
==> ...21.--.......--------
==> product criterion:11 chain criterion:83
"The Milnor number of f(11,5,3) for t=1:",vdim(j1);
==> The Milnor number of f(11,5,3) for t=1: 248
vdim(std(j1+f));   // compute the Tjurina number for t=1
==> 7(16)s8-s10.s11.s.s(16)-12.s(16)-s13(16)s(17)s(18)s(19)-s..-14-s(17)-
==> s.s.s(17)s15(18)..-s(18)...--.16....-.......s(16).sH(23).s(18)...17..
==> ........18.........sH(20)17-.-------...s(12).---.----...sH(19)16-----
==> 
==> product criterion:15 chain criterion:174
==> 195
option(noprot);