|  |  D.5.8.2 blowUp2 Procedure from libraryresolve.lib(see  resolve_lib).
 
Example:Usage:
blowUp2(J,C);
J,C = ideals,
 
Assume:
C = ideal containing J
Note:
C the ideal of the center of the blowup and J the ideal
of the variety
Important differences to blowUp:
 - V(J) itself is blown up, not the ambient space
 - C is not assumed to be non-singular
 
Compute:
the blowing up of J in C, the exceptional locus and the blow-up
map
Return:
list, say l, of size at most size(C),
l[i] is the affine ring corresponding to the i-th chart
each l[i] contains the ideals
- Jnew, ideal of the blownup J
 - eD, ideal of the new exceptional divisor
 - bM, ideal corresponding to the blowup map
 
 |  | LIB "resolve.lib";
ring r=0,(x,y,z),dp;
ideal I=z2-x^3*y^2;
ideal C=z,xy;
list li=blowUp2(I,C);
size(li);                  // number of charts
==> 2
def S1=li[1];
setring S1;                // chart 1
basering;
==> // coefficients: QQ
==> // number of vars : 3
==> //        block   1 : ordering dp
==> //                  : names    x(1) x(3) y(2)
==> //        block   2 : ordering C
Jnew;
==> Jnew[1]=x(1)*y(2)^2-1
eD;
==> eD[1]=x(3)
==> eD[2]=x(1)*y(2)^2-1
bM;
==> bM[1]=x(1)
==> bM[2]=x(3)*y(2)^3
==> bM[3]=x(3)
def S2=li[2];
setring S2;                // chart 2
basering;
==> // coefficients: QQ
==> // number of vars : 2
==> //        block   1 : ordering dp
==> //                  : names    x(2) y(1)
==> //        block   2 : ordering C
Jnew;
==> Jnew[1]=0
eD;
==> eD[1]=x(2)*y(1)^2
bM;
==> bM[1]=y(1)^2
==> bM[2]=x(2)
==> bM[3]=x(2)*y(1)^3
 | 
 
 |