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]
|