### A.4.9 Resolution of singularities

Resolution of singularities and applications thereof are provided by the libraries `resolve.lib` and `reszeta.lib`; graphical output may be generated automatically by using external programs `surf` and `dot` respectively to which a specialized interface is provided by the library `resgraph.lib`. In this example, the basic functionality of the resolution of singularities package is illustrated by the computation of the intersection matrix and genera of the exceptional curves on a surface obtained from resolving the A6 surface singularity. A separate tutorial, which introduces the complete functionality of the package and explains the rather complicated data structures appearing in intermediate results, can be found at `http://www.singular.uni-kl.de/tutor_resol.ps`.

    LIB"resolve.lib";                   // load the resolution algorithm
    LIB"reszeta.lib";                   // load its application algorithms

    ring R=0,(x,y,z),dp;              // define the ring Q[x,y,z]
    ideal I=x7+y2-z2;                 // an A6 surface singularity
    list L=resolve(I);                // compute the resolution
    list iD=intersectionDiv(L);       // compute intersection properties
    iD;                               // show the output
    ==> [1]:
    ==>    -2,0,1,0,0,0,
    ==>    0,-2,0,1,0,0,
    ==>    1,0,-2,0,1,0,
    ==>    0,1,0,-2,0,1,
    ==>    0,0,1,0,-2,1,
    ==>    0,0,0,1,1,-2
    ==> [2]:
    ==>    0,0,0,0,0,0
    ==> [3]:
    ==>    [1]:
    ==>       [1]:
    ==>          2,1,1
    ==>       [2]:
    ==>          4,1,1
    ==>    [2]:
    ==>       [1]:
    ==>          2,1,2
    ==>       [2]:
    ==>          4,1,2
    ==>    [3]:
    ==>       [1]:
    ==>          4,2,1
    ==>       [2]:
    ==>          6,2,1
    ==>    [4]:
    ==>       [1]:
    ==>          4,2,2
    ==>       [2]:
    ==>          6,2,2
    ==>    [5]:
    ==>       [1]:
    ==>          6,3,1
    ==>       [2]:
    ==>          7,3,1
    ==>    [6]:
    ==>       [1]:
    ==>          6,3,2
    ==>       [2]:
    ==>          7,3,2
    ==> [4]:
    ==>    1,1,1,1,1,1
    // The output is a list whose first entry contains the intersection matrix
    // of the exceptional divisors. The second entry is the list of genera
    // of these divisors. The third and fourth entry contain the information
    // how to find the corresponding divisors in the respective charts.

User manual for Singular version 4-0-3, 2016, generated by texi2html.