Build. Blocks
Comb. Appl.
HCA Proving
Arrangements
Branches
Classify
Coding
Deformations
Equidim Part
Existence
Finite Groups
Flatness
Genus
Hilbert Series
Membership
Nonnormal Locus
Normalization
Primdec
Puiseux
Plane Curves
Saturation
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.

Sao Carlos, 08/02 http://www.singular.uni-kl.de