# Singular          #### D.5.8.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 in C, the exeptional locus, the strict transform of BO

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=BM an ideal, say Wi, defining the ambient space of the i-th chart of the blowing up
BO=BM an ideal defining the strict transform
BO intvec, the first integer b such that in the original object (Delta^b(BO))==1
the subsequent integers have the same property for Coeff-Objects of BO used when determining the center
BM intvec, BM[i] is the assigned multiplicity of BM[i]
BO=BM the list of exceptional divisors
BO=BM an ideal defining the map K[W] ----> K[Wi]
BO=BM an intvec BO[j]=1 indicates that <BO[j],BO>=1, i.e. the strict transform does not meet the j-th exceptional divisor
BO intvec, the index of the first blown-up object in the resolution process leading to this object for which the value of b was BO the subsequent ones are the indices for the Coeff-Objects of BO used when determining the center
BM intvec, BM[i] is the index at which the (2i-1)st entry of the invariant first reached its current maximal value
BO=BM a matrix indicating that BO[i] meets BO[j] by BO[i,j]=1 for i < j
BO empty
BM the invariant

Example:
 ```LIB "resolve.lib"; ring R=0,(x,y),dp; ideal W; ideal J=x2-y3; 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); list blow=blowUpBO(BO,C,0); def Q=blow; setring Q; BO; ==> : ==> _=0 ==> : ==> _=y(1)^2-x(2) ==> : ==> 1 ==> : ==> : ==> _=x(2) ==> : ==> _=x(2)*y(1) ==> _=x(2) ==> : ==> 0 ==> : ==> -1 ==> : ==> _[1,1]=0 ==> : ==> 0 ```

### Misc 