# Singular          #### D.6.8.2 esIdeal

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

Usage:
esIdeal(f[,any]]); f poly

Assume:
f is a reduced bivariate polynomial, the basering has precisely two variables, is local and no qring, and the characteristic of the ground field does not divide mult(f).

Return:
if called with only one parameter: list of two ideals,
 ``` _: equisingularity ideal of f (in sense of Wahl), _: ideal of equisingularity with fixed position of the singularity; ```
if called with more than one parameter: list of three ideals,
 ``` _: equisingularity ideal of f (in sense of Wahl) _: ideal of equisingularity with fixed position of the singularity; _: ideal of all g such that the deformation defined by f+eg (e^2=0) is isomorphic to an equisingular deformation of V(f) with all equimultiple sections being trivial. ```

Note:
if some of the above condition is not satisfied then return value is list(0,0).

Example:
 ```LIB "equising.lib"; ring r=0,(x,y),ds; poly f=x7+y7+(x-y)^2*x2y2; list K=esIdeal(f); ==> polynomial is Newton degenerate ! ==> ==> // ==> // versal deformation with triv. section ==> // ===================================== ==> // ==> // ==> // Compute equisingularity Stratum over Spec(C[t]/t^2) ==> // =================================================== ==> // ==> // finished ==> // option(redSB); // Wahl's equisingularity ideal: std(K); ==> _=4x4y-10x2y3+6xy4+21x6+14y6 ==> _=4x3y2-6x2y3+2xy4+7x6 ==> _=x2y4-xy5 ==> _=x7 ==> _=xy6 ==> _=y7 ring rr=0,(x,y),ds; poly f=x4+4x3y+6x2y2+4xy3+y4+2x2y15+4xy16+2y17+xy23+y24+y30+y31; list K=esIdeal(f); ==> polynomial is Newton degenerate ! ==> ==> // ==> // versal deformation with triv. section ==> // ===================================== ==> // ==> // ==> // Compute equisingularity Stratum over Spec(C[t]/t^2) ==> // =================================================== ==> // ==> // finished ==> // vdim(std(K)); ==> 68 // the latter should be equal to: tau_es(f); ==> 68 ``` 