# Singular

#### D.6.1.1 resolutiongraph

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

Usage:
resolutiongraph(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:
intmat, the incidence matrix of the resolution graph of the plane curve defined by INPUT, where the entries on the diagonal are the weights of the vertices of the graph and a negative entry corresponds to the strict transform of a branch of the curve.

Note:
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)^2-4x5y-x7; poly f2=y2-x3; poly f3=y3-x2; resolutiongraph(f1*f2*f3); ==> 1,0,1,0,0,0,0,0,1,0, ==> 0,2,1,0,0,0,0,0,0,0, ==> 1,1,3,0,1,0,0,0,0,0, ==> 0,0,0,4,1,0,1,0,0,0, ==> 0,0,1,1,5,1,0,0,0,0, ==> 0,0,0,0,1,-1,0,0,0,0, ==> 0,0,0,1,0,0,-2,0,0,0, ==> 0,0,0,0,0,0,0,2,1,0, ==> 1,0,0,0,0,0,0,1,3,1, ==> 0,0,0,0,0,0,0,0,1,-3 ```