|  |  D.6.10.2 CurveRes Procedure from librarycurvepar.lib(see  curvepar_lib).
 
Example: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][1] is an ideal J of a new curve. J=teta(I).
Resolve[i][2] 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][3] 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][4] sequence of multiplicities (sum over all branches in Resolve as long as
they intersect each other !)
 Resolve[i][5] is a list of integers l. It shows, which standard charts we considered.
Resolve[i][6] HN matrix
 Resolve[i][7] (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.
 
 |  | LIB "curvepar.lib";
ring r=0,(x,y,z),dp;
ideal i=x2-y3,z2-y5;
def s=CurveRes(i);
setring s;
Resolve;
==> [1]:
==>    [1]:
==>       _[1]=x(1)
==>       _[2]=x(1)*x(2)-x(3)^2+2*x(3)
==>    [2]:
==>       _[1]=x(1)^2*x(2)^5+2*x(1)*x(2)^4+x(2)^3
==>       _[2]=x(1)*x(2)^3+x(2)^2
==>       _[3]=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
==>       _[4]=a
==>    [3]:
==>       a
==>    [4]:
==>       [1]:
==>          4
==>       [2]:
==>          2
==>       [3]:
==>          2
==>       [4]:
==>          2
==>    [5]:
==>       [1]:
==>          2
==>       [2]:
==>          1
==>       [3]:
==>          2
==>       [4]:
==>          2
==>    [6]:
==>       [1]:
==>          _[1]=0
==>          _[2]=1
==>          _[3]=0
==>       [2]:
==>          _[1]=1
==>          _[2]=0
==>          _[3]=0
==>       [3]:
==>          _[1]=1
==>          _[2]=1
==>          _[3]=0
==>       [4]:
==>          _[1]=0
==>          _[2]=1
==>          _[3]=-1
==> [2]:
==>    [1]:
==>       _[1]=x(1)
==>       _[2]=x(1)*x(2)-x(3)^2-2*x(3)
==>    [2]:
==>       _[1]=x(1)^2*x(2)^5+2*x(1)*x(2)^4+x(2)^3
==>       _[2]=x(1)*x(2)^3+x(2)^2
==>       _[3]=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
==>       _[4]=a
==>    [3]:
==>       a
==>    [4]:
==>       [1]:
==>          4
==>       [2]:
==>          2
==>       [3]:
==>          2
==>       [4]:
==>          2
==>    [5]:
==>       [1]:
==>          2
==>       [2]:
==>          1
==>       [3]:
==>          2
==>       [4]:
==>          2
==>    [6]:
==>       [1]:
==>          _[1]=0
==>          _[2]=1
==>          _[3]=0
==>       [2]:
==>          _[1]=1
==>          _[2]=0
==>          _[3]=0
==>       [3]:
==>          _[1]=1
==>          _[2]=1
==>          _[3]=0
==>       [4]:
==>          _[1]=0
==>          _[2]=1
==>          _[3]=1
 | 
 
 |