Classify
Coding
Deformations
Equidim Part
Existence
Finite Groups
Flatness
Genus
Hilbert Series
Membership
Monodromy
Normalization
Primdec
Puiseux
Plane Curves
Solving
Space Curves
Spectrum
SINGULAR code: tau-constant strata of A3
            ************************************************************
            ** requires dynamic loading and ringlists (Singular 2.1)  **
            ************************************************************
    
LIB "sing.lib";
LIB "partsb.lib";

ring rx=0,(x,y),ds;
poly f=x^4+y^2;

// determine basis of T1(f)
ideal jf=jacob(f),f;
ideal kb=kbase(std(jf));
kb;
==> kb[1]=x2
kb[2]=x
kb[3]=1

// define versal family
ring rt=0,(t(1..size(kb))),ds;
def rr=rt+rx;setring rr;
def f=imap(rx,f);
def kb=imap(rx,kb);
poly F=f;
for(int i=1;i<=size(kb);i++) { F=F+t(i)*kb[i]; }
F;
==> y^2+x^4+t(1)*x^2+t(2)*x+t(3)

// determine presentation of T1(F)
ideal jF=diff(F,x),diff(F,y),F;
list li=Ot_Presentation(jF,ideal(0),20,intvec(1,1,1,0,0));
matrix M=li[1];

// flattening stratification of M
flatteningStrat(M);
==>
   [1]:
      _[1]=256*t(3)^3-27*t(2)^4+144*t(1)*t(2)^2*t(3)-128*t(1)^2*t(3)^2-4*t(1)^3*t(2)^2+16*t(1)^4*t(3);
   [2]:
      _[1]=9*t(2)^2-8*t(1)*t(3)+2*t(1)^3
      _[2]=12*t(2)*t(3)+t(1)^2*t(2)
      _[3]=32*t(3)^2+3*t(1)*t(2)^2-8*t(1)^2*t(3)
   [3]:
      _[1]=t(1)
      _[2]=t(2)
      _[3]=t(3)
      
Interpretation of the output

Lille, 08-07-02 http://www.singular.uni-kl.de