# Singular          #### D.6.6.2 CurveRes

Procedure from library `curvepar.lib` (see curvepar_lib).

Usage:
CurveRes(I);
I ideal

Assume:
The basering is r=0,(x(1..n))
V(I) is a curve with a singular point 0.

Compute:
Resolution of the curve V(I).

Return:
a ring R=basering+k[a]
Ring R contains a list Resolve
Resolve is a list of charts
Each Resolve[i] is a list of size 6
Resolve[i] is an ideal J of a new curve. J=teta(I). Resolve[i] ideal which represents the map
teta:k[x(1)..x(n),a]-->k[x(1)..x(n),a] from the
new curve to the old one.
Resolve[i] is an irreducible poly g in k[a]. It is a minimal polynomial for the new parameter a. deg(g) gives the number of branches in Resolve[i] Resolve[i] sequence of multiplicities (sum over all branches in Resolve as long as they intersect each other !)
Resolve[i] is a list of integers l. It shows, which standard charts we considered. Resolve[i] HN matrix
Resolve[i] (only for plane curves) the development of exceptional divisors the entries correspond to the i-th blowing up. The first entry is an intvec. The first negative entry gives the splitting of the (over Q irreducible) branches. The second entry is a list of the exceptional divisors. If the entry is an integer i, it says that the divisor is not visible in this chart after the i-th blowing up.

Example:
 ```LIB "curvepar.lib"; ring r=0,(x,y,z),dp; ideal i=x2-y3,z2-y5; def s=CurveRes(i); setring s; Resolve; ==> : ==> : ==> _=x(1) ==> _=x(1)*x(2)-x(3)^2+2*x(3) ==> : ==> _=x(1)^2*x(2)^5+2*x(1)*x(2)^4+x(2)^3 ==> _=x(1)*x(2)^3+x(2)^2 ==> _=x(1)^2*x(2)^7*x(3)-x(1)^2*x(2)^7+2*x(1)*x(2)^6*x(3)-2*x(1)*x(2\ )^6+x(2)^5*x(3)-x(2)^5 ==> _=a ==> : ==> a ==> : ==> : ==> 4 ==> : ==> 2 ==> : ==> 2 ==> : ==> 2 ==> : ==> : ==> 2 ==> : ==> 1 ==> : ==> 2 ==> : ==> 2 ==> : ==> : ==> _=0 ==> _=1 ==> _=0 ==> : ==> _=1 ==> _=0 ==> _=0 ==> : ==> _=1 ==> _=1 ==> _=0 ==> : ==> _=0 ==> _=1 ==> _=-1 ==> : ==> : ==> _=x(1) ==> _=x(1)*x(2)-x(3)^2-2*x(3) ==> : ==> _=x(1)^2*x(2)^5+2*x(1)*x(2)^4+x(2)^3 ==> _=x(1)*x(2)^3+x(2)^2 ==> _=x(1)^2*x(2)^7*x(3)+x(1)^2*x(2)^7+2*x(1)*x(2)^6*x(3)+2*x(1)*x(2\ )^6+x(2)^5*x(3)+x(2)^5 ==> _=a ==> : ==> a ==> : ==> : ==> 4 ==> : ==> 2 ==> : ==> 2 ==> : ==> 2 ==> : ==> : ==> 2 ==> : ==> 1 ==> : ==> 2 ==> : ==> 2 ==> : ==> : ==> _=0 ==> _=1 ==> _=0 ==> : ==> _=1 ==> _=0 ==> _=0 ==> : ==> _=1 ==> _=1 ==> _=0 ==> : ==> _=0 ==> _=1 ==> _=1 ```

### Misc 