|  |  D.6.15.14 Tjurina Procedure from librarysing.lib(see  sing_lib).
 
Example:Usage:
Tjurina(id[,<any>]); id=ideal or poly
Assume:
id=ICIS (isolated complete intersection singularity)
Return:
standard basis of Tjurina-module of id,
of type module if id=ideal, resp. of type ideal if id=poly.
If a second argument is present (of any type) return a list:
 [1] = Tjurina number,
 [2] = k-basis of miniversal deformation,
 [3] = SB of Tjurina module,
 [4] = Tjurina module
 
Display:
Tjurina number if printlevel >= 0 (default)
Note:
Tjurina number = -1 implies that id is not an ICIS
 |  | LIB "sing.lib";
int p      = printlevel;
printlevel = 1;
ring r     = 0,(x,y,z),ds;
poly f     = x5+y6+z7+xyz;        // singularity T[5,6,7]
list T     = Tjurina(f,"");
==> // Tjurina number = 16
show(T[1]);                       // Tjurina number, should be 16
==> // int, size 1
==> 16
show(T[2]);                       // basis of miniversal deformation
==> // ideal, 16 generator(s)
==> z6,
==> z5,
==> z4,
==> z3,
==> z2,
==> z,
==> y5,
==> y4,
==> y3,
==> y2,
==> y,
==> x4,
==> x3,
==> x2,
==> x,
==> 1
show(T[3]);                       // SB of Tjurina ideal
==> // ideal, 6 generator(s)
==> xy+7z6,
==> xz+6y5,
==> yz+5x4,
==> 5x5-6y6,
==> y6,
==> z7
show(T[4]); "";                   // Tjurina ideal
==> // ideal, 4 generator(s)
==> yz+5x4,
==> xz+6y5,
==> xy+7z6,
==> xyz+x5+y6+z7
==> 
ideal j    = x2+y2+z2,x2+2y2+3z2;
show(kbase(Tjurina(j)));          // basis of miniversal deformation
==> // Tjurina number = 5
==> // module, 5 generator(s)
==> [z]
==> [y]
==> [x]
==> [1]
==> [0,1]
hilb(Tjurina(j));                 // Hilbert series of Tjurina module
==> // Tjurina number = 5
==> //         2 t^0
==> //        -3 t^1
==> //        -3 t^2
==> //         7 t^3
==> //        -3 t^4
==> 
==> //         2 t^0
==> //         3 t^1
==> // dimension (local)   = 0
==> // multiplicity = 5
printlevel = p;
 | 
 
 |