|  |  D.6.8.3 esStratum Procedure from libraryequising.lib(see  equising_lib).
 
Example:Usage:
esStratum(F[,m,L]); F poly, m int, L list
Assume:
F defines a deformation of a reduced bivariate polynomial f
and the characteristic of the basering does not divide mult(f). If nv is the number of variables of the basering, then the first
nv-2 variables are the deformation parameters.
 If the basering is a qring, ideal(basering) must only depend
on the deformation parameters.
 
Compute:
equations for the stratum of equisingular deformations with
fixed (trivial) section.
Return:
list l: either consisting of a list and an integer, where
or consisting of a ring and an integer, where|  |   l[1][1]=ideal defining the equisingularity stratum
  l[1][2]=ideal defining the part of the equisingularity stratum where all
          equimultiple sections through the non-nodes of the reduced total
          transform are trivial sections
  l[2]=1 if some error has occurred,  l[2]=0 otherwise;
 | 
 |  |   l[1]=ESSring is a ring extension of basering containing the ideal ES
        (describing the ES-stratum), the ideal ES_all_triv (describing the
        part with trivial equimultiple sections) and the polynomial p_F=F,
  l[2]=1 if some error has occurred,  l[2]=0 otherwise.
 | 
 
Note:
L is supposed to be the output of hnexpansion (with the given ordering
of the variables appearing in f). If m is given, the ES Stratum over A/maxideal(m) is computed.
 This procedure uses
 executeor calls a procedure usingexecute.
printlevel>=2 displays additional information.
 See also:
 esIdeal;
 isEquising.|  | LIB "equising.lib";
int p=printlevel;
printlevel=1;
ring r = 0,(a,b,c,d,e,f,g,x,y),ds;
poly F = (x2+2xy+y2+x5)+ax+by+cx2+dxy+ey2+fx3+gx4;
list M = esStratum(F);
M[1][1];
==> _[1]=g
==> _[2]=f
==> _[3]=b
==> _[4]=a
==> _[5]=-4c+4d-4e+d2-4ce
printlevel=3;     // displays additional information
esStratum(F,2)  ; // ES-stratum over Q[a,b,c,d,e,f,g] / <a,b,c,d,e,f,g>^2
==> // 
==> // Compute HN expansion
==> // ---------------------
==> // finished
==> // 
==> // Blowup Step 1 completed
==> // Blowup Step 2 completed
==> // Blowup Step 3 completed
==> // 1 branch finished
==> // 
==> // Elimination starts:
==> // -------------------
==> // 
==> // Remove superfluous equations:
==> // -----------------------------
==> // finished
==> // 
==> // output of 'esStratum' is a list consisting of:
==> //    _[1][1] = ideal defining the equisingularity stratum
==> //    _[1][2] = ideal defining the part of the equisingularity stratum
==> //              where all equimultiple sections are trivial
==> //    _[2] = 0
==> [1]:
==>    [1]:
==>       _[1]=b
==>       _[2]=a
==>       _[3]=c-d+e
==>       _[4]=g
==>       _[5]=f
==>    [2]:
==>       _[1]=g
==>       _[2]=f
==>       _[3]=d-2e
==>       _[4]=c-e
==>       _[5]=b
==>       _[6]=a
==> [2]:
==>    0
ideal I = f-fa,e+b;
qring q = std(I);
poly F = imap(r,F);
esStratum(F);
==> // 
==> // Compute HN expansion
==> // ---------------------
==> // finished
==> // 
==> // Blowup Step 1 completed
==> // Blowup Step 2 completed
==> // Blowup Step 3 completed
==> // 1 branch finished
==> // 
==> // Elimination starts:
==> // -------------------
==> // 
==> // Remove superfluous equations:
==> // -----------------------------
==> // finished
==> // 
==> // output of 'esStratum' is a list consisting of:
==> //    _[1][1] = ideal defining the equisingularity stratum
==> //    _[1][2] = ideal defining the part of the equisingularity stratum
==> //              where all equimultiple sections are trivial
==> //    _[2] = 0
==> [1]:
==>    [1]:
==>       _[1]=e
==>       _[2]=a
==>       _[3]=-4c+4d+d2
==>       _[4]=g
==>    [2]:
==>       _[1]=g
==>       _[2]=e
==>       _[3]=d
==>       _[4]=c
==>       _[5]=a
==> [2]:
==>    0
printlevel=p;
 | 
 
 |