# 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