# Singular          #### D.6.8.3 esStratum

Procedure from library `equising.lib` (see equising_lib).

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
 ``` l=ideal defining the equisingularity stratum l=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=1 if some error has occurred, l=0 otherwise; ```
or consisting of a ring and an integer, where
 ``` l=ESSring is a ring extension of basering containing the ideal ES (describing the ES-stratum), the ideal ES_all_triv (describing the part with trival equimultiple sections) and the polynomial p_F=F, l=1 if some error has occurred, l=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 `execute` or calls a procedure using `execute`. printlevel>=2 displays additional information.

Example:
 ```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; ==> _=g ==> _=f ==> _=b ==> _=a ==> _=-4c+4d-4e+d2-4ce printlevel=3; // displays additional information esStratum(F,2) ; // ES-stratum over Q[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: ==> // _ = ideal defining the equisingularity stratum ==> // _ = ideal defining the part of the equisingularity stratum ==> // where all equimultiple sections are trivial ==> // _ = 0 ==> : ==> : ==> _=b ==> _=a ==> _=c-d+e ==> _=g ==> _=f ==> : ==> _=g ==> _=f ==> _=d-2e ==> _=c-e ==> _=b ==> _=a ==> : ==> 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: ==> // _ = ideal defining the equisingularity stratum ==> // _ = ideal defining the part of the equisingularity stratum ==> // where all equimultiple sections are trivial ==> // _ = 0 ==> : ==> : ==> _=e ==> _=a ==> _=-4c+4d+d2 ==> _=g ==> : ==> _=g ==> _=e ==> _=d ==> _=c ==> _=a ==> : ==> 0 printlevel=p; ``` 