#### D.5.8.2 blowUp2

Procedure from library `resolve.lib` (see resolve_lib).

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

Example:

    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;
    ==> //   characteristic : 0
    ==> //   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;
    ==> //   characteristic : 0
    ==> //   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

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