
D.5.5.8 blowUpBO
Procedure from library resolve.lib (see resolve_lib).
 Usage:
 blowUpBO (BO,C,e);
BO = basic object, a list: ideal W,
ideal J,
intvec b,
list Ex,
ideal ab,
intvec v,
intvec w,
matrix M
C = ideal
e = integer (0 usual blowing up, 1 deleting extra charts, 2 deleting
no charts )
 Assume:
 R = basering, a polynomial ring, W an ideal of R,
J = ideal containing W,
C = ideal containing J
 Compute:
 the blowing up of BO[1] in C, the exeptional locus, the strict
transform of BO[2]
 Note:
 blowUpBO may be applied to basic objects in the sense of
[Bravo, Encinas, Villamayor] in the following referred to as BO and
to presentations in the sense of [Bierstone, Milman] in the following
referred to as BM.
 Return:
 a list l of length at most size(C),
l[i] is a ring containing an object BO resp. BM:
BO[1]=BM[1] an ideal, say Wi, defining the ambient space of the
ith chart of the blowing up
BO[2]=BM[2] an ideal defining the strict transform
BO[3] intvec, the first integer b such that in the original object
(Delta^b(BO[2]))==1
the subsequent integers have the same property for CoeffObjects
of BO[2] used when determining the center
BM[3] intvec, BM[3][i] is the assigned multiplicity of BM[2][i]
BO[4]=BM[4] the list of exceptional divisors
BO[5]=BM[5] an ideal defining the map K[W] > K[Wi]
BO[6]=BM[6] an intvec BO[6][j]=1 indicates that <BO[4][j],BO[2]>=1,
i.e. the strict transform does not meet the jth exceptional
divisor
BO[7] intvec,
the index of the first blownup object in the resolution process
leading to this object for which the value of b was BO[3]
the subsequent ones are the indices for the CoeffObjects
of BO[2] used when determining the center
BM[7] intvec, BM[7][i] is the index at which the (2i1)st entry
of the invariant first reached its current maximal value
BO[8]=BM[8] a matrix indicating that BO[4][i] meets BO[4][j] by
BO[8][i,j]=1 for i < j
BO[9] empty
BM[9] the invariant
Example:
 LIB "resolve.lib";
ring R=0,(x,y),dp;
ideal W;
ideal J=x2y3;
intvec b=1;
list E;
ideal abb=maxideal(1);
intvec v;
intvec w=1;
matrix M;
intvec ma;
list BO=W,J,b,E,abb,v,w,M,ma;
ideal C=CenterBO(BO)[1];
list blow=blowUpBO(BO,C,0);
def Q=blow[1];
setring Q;
BO;
==> [1]:
==> _[1]=0
==> [2]:
==> _[1]=y(1)^2x(2)
==> [3]:
==> 1
==> [4]:
==> [1]:
==> _[1]=x(2)
==> [5]:
==> _[1]=x(2)*y(1)
==> _[2]=x(2)
==> [6]:
==> 0
==> [7]:
==> 1
==> [8]:
==> _[1,1]=0
==> [9]:
==> 0

