# Singular          #### D.6.1.12 tau_es2

Procedure from library `alexpoly.lib` (see alexpoly_lib).

Usage:
tau_es2(INPUT); INPUT poly or list

Assume:
INPUT is either a REDUCED bivariate polynomial defining a plane curve singularity, or the output of `hnexpansion(f[,"ess"])`, or the list `hne` in the ring created by `hnexpansion(f[,"ess"])`, or the output of `develop(f)` resp. of `extdevelop(f,n)`, or a list containing the contact matrix and a list of integer vectors with the characteristic exponents of the branches of a plane curve singularity, or an integer vector containing the characteristic exponents of an irreducible plane curve singularity.

Return:
int, the equisingular Tjurina number of f, i. e. the codimension of the mu-constant stratum in the semiuniversal deformation of f, where mu is the Milnor number of f.

Note:
The equisingular Tjurina number is calculated with the aid of a Hamburger-Noether expansion, which is the hard part of the calculation.
In case the Hamburger-Noether expansion of the curve f is needed for other purposes as well it is better to calculate this first with the aid of `hnexpansion` and use it as input instead of the polynomial itself.
If you are not sure whether the INPUT polynomial is reduced or not, use `squarefree(INPUT)` as input instead.

Example:
 ```LIB "alexpoly.lib"; ring r=0,(x,y),ls; poly f1=y2-x3; poly f2=(y2-x3)^2-4x5y-x7; poly f3=y3-x2; tau_es2(f1); ==> 2 tau_es2(f2); ==> 14 tau_es2(f1*f2*f3); ==> 49 ``` 