next | previous | forward | backward | up | top | index | toc | Macaulay2 web site
Schubert2 :: blowup

blowup -- blow up an abstract variety along a subvariety

Synopsis

Description

Blowing up a point in 2:
i1 : X = projectiveSpace 0

o1 = X

o1 : a flag bundle with ranks {1, 0}
i2 : Y = projectiveSpace 2

o2 = Y

o2 : a flag bundle with ranks {1, 2}
i3 : i = map(Y,X,OO_X)

o3 = i

o3 : a map to Y from X
i4 : (Ytilde, PN, PNmap, Ymap) = blowup(i)

o4 = (Ytilde, PN, PNmap, Ymap)

o4 : Sequence
i5 : Ediv = chern(1, exceptionalDivisor Ytilde) -- the class of the exceptional divisor

o5 = E
      0

            QQ[][h, H   , H   ]
                     2,1   2,2
     ---------------------------------[E ]
     (h + H   , h*H    + H   , h*H   )  0
           2,1     2,1    2,2     2,2
o5 : -------------------------------------
                        2
              (H   E , E  + H   )
                2,1 0   0    2,2
i6 : integral (Ediv^2)

o6 = -1
As a more interesting example, we can derive the classical formula for the degree of the zero-dimensional locus of intersection of three surfaces in 3 containing a twisted cubic:
i7 : B = base(r,s,t)

o7 = B

o7 : an abstract variety of dimension 0
i8 : X = projectiveSpace(1, B)

o8 = X

o8 : a flag bundle with ranks {1, 1}
i9 : Y = projectiveSpace(3, B)

o9 = Y

o9 : a flag bundle with ranks {1, 3}
i10 : i = map(Y,X,OO_X(3)) --includes P^1 into P^3 as the twisted cubic

o10 = i

o10 : a map to Y from X
i11 : (Ytilde, PN, PNmap, Ymap) = blowup(i)

o11 = (Ytilde, PN, PNmap, Ymap)

o11 : Sequence
i12 : Ediv = chern(1, exceptionalDivisor Ytilde)

o12 = E
       0

              QQ[r, s, t][h, H   , H   , H   ]
                              2,1   2,2   2,3
      ------------------------------------------------[E ]
      (h + H   , h*H    + H   , h*H    + H   , h*H   )  0
            2,1     2,1    2,2     2,2    2,3     2,3
o12 : ----------------------------------------------------
                               2
            (H   E , H   E , 3E  - 10H   E  + 9H   )
              2,2 0   2,3 0    0      2,1 0     2,2
i13 : hyperplane = chern(1,OO_Y(1))

o13 = H
       2,1

              QQ[r, s, t][h, H   , H   , H   ]
                              2,1   2,2   2,3
o13 : ------------------------------------------------
      (h + H   , h*H    + H   , h*H    + H   , h*H   )
            2,1     2,1    2,2     2,2    2,3     2,3
i14 : (rsurf, ssurf, tsurf) = (x -> hyperplane * x) \ (r,s,t) --classes of surfaces of degrees r,s,t

o14 = (r*H   , s*H   , t*H   )
          2,1     2,1     2,1

o14 : Sequence
i15 : (ptr, pts, ptt) = (x -> (Ymap^* x) - Ediv) \ oo --proper transforms of each surface

o15 = (- E  + r*H   , - E  + s*H   , - E  + t*H   )
          0      2,1     0      2,1     0      2,1

o15 : Sequence
i16 : integral(ptr * pts * ptt)

o16 = r*s*t - 3r - 3s - 3t + 10

o16 : QQ[r, s, t]
The file Schubert2/blowup-test.m2 has several more examples.

See also

Ways to use blowup :