Subsection 5.4.3
To treat tangent bundles to hypersurfaces in Schubert2, we have to be a little more careful. If $X$ is a hypersurface in ${\mathbb P}^n$, we cannot hope to construct the Chow ring to $X$. Even for the case of an elliptic curve $E$ (a degree-3 hypersurface in $\mathbb{P}^2$), the construction of $A^1(E)$ amounts to completely understanding the group law on $E$ and all points of $E$ (so in particular, this ring is never finitely generated over $\mathbb{C}$), and the situation quickly gets worse for higher dimensions and degrees.
However, for classes on $X$ which are obtained by restricting classes on ${\mathbb P}^n$ to $X$, we can easily understand a great deal via the projection formula, which in this particular case tells us that if $i:X \rightarrow {\mathbb P}^n$ is the inclusion, then
$$i_*(\alpha|_X) = \alpha \cap [X]$$
So, if for example we are interested in calculating the degree of $\alpha|_X$, we can equivalently calculate the degree of $\alpha \cap [X]$. In this way we ``push the problem forward'' to ${\mathbb P}^n$.
As an example, if we want to calculate the degree of the top Chern class of the tangent bundle to a hypersurface $X$ of degree $4$ in ${\mathbb P}^3$, we can compute:
i1 : P3 = flagBundle({1,3})
o1 = P3
o1 : a flag bundle with subquotient ranks {1, 3}
|
i2 : O1 = dual(P3.Bundles#0)
o2 = O1
o2 : an abstract sheaf of rank 1 on P3
|
i3 : T = tangentBundle(P3)
o3 = T
o3 : an abstract sheaf of rank 3 on P3
|
i4 : NX = O1^**4 -- the fourth tensor power of O(1), i.e. O(4)
o4 = NX
o4 : an abstract sheaf of rank 1 on P3
|
i5 : X = chern(1,NX) -- the fundamental class [X] of X
o5 = 4H
2,1
QQ[][H , H ..H ]
1,1 2,1 2,3
o5 : ----------------------------------------------------------------
(- H - H , - H H - H , - H H - H , -H H )
1,1 2,1 1,1 2,1 2,2 1,1 2,2 2,3 1,1 2,3
|
i6 : TX = chern(T - NX) * X
o6 = 4H + 24H
2,1 2,3
QQ[][H , H ..H ]
1,1 2,1 2,3
o6 : ----------------------------------------------------------------
(- H - H , - H H - H , - H H - H , -H H )
1,1 2,1 1,1 2,1 2,2 1,1 2,2 2,3 1,1 2,3
|
i7 : integral TX -- The Euler characteristic of a quartic surface
o7 = 24
|
This works because we have $$c(T_X) = \frac{c(T_P)|_X}{c(N_X)} = \frac{c(T_P)}{c(O_P(X))}|_X.$$
More generally, we can compute the Euler characteristic of a degree-$d$ hypersurface in $\mathbb{P}^n$ as in the book. We can even compute a closed formula for all $d$ and fixed $n$ using base.
i8 : eulerChar = n -> (
S := base d;
Pn := flagBundle({1,n},S);
TPn := tangentBundle(Pn);
O1 := dual(Pn.Bundles#0);
NX := O1^**d;
TX := chern(TPn - NX)*chern(1,NX);
integral TX)
o8 = eulerChar
o8 : FunctionClosure
|
i9 : eulerChar(4) -- The Euler characteristic of a degree-d hypersurface in P4
4 3 2
o9 = - d + 5d - 10d + 10d
o9 : QQ[d]
|
i10 : sub(eulerChar(4),{d=>4/1}) -- The Euler characteristic of quartic threefold
o10 = -56
o10 : QQ
|
And now we can similarly calculate a formula for the middle Betti number of such a hypersurface:
i11 : middleBetti = n -> (
euC := eulerChar(n);
((-1)^(n-1)) * (euC - 2*ceiling((n-1)/2)))
o11 = middleBetti
o11 : FunctionClosure
|
i12 : middleBetti(4) -- The middle Betti number of a degree-d hypersurface in P4
4 3 2
o12 = d - 5d + 10d - 10d + 4
o12 : QQ[d]
|
i13 : sub(middleBetti(4), {d => 5/1}) -- The middle Betti number of a quintic threefold
o13 = 204
o13 : QQ
|
Using this, we easily reproduce the table given in the text:
i14 : for n from 3 to 5 do (
for e from 2 to 5 do (
euC := sub(eulerChar(n),{d=>e/1});
midB := sub(middleBetti(n),{d=>e/1});
<< "n: " << n << " d: " << e << " chi: " << euC << " middle Betti: " << midB << endl))
n: 3 d: 2 chi: 4 middle Betti: 2
n: 3 d: 3 chi: 9 middle Betti: 7
n: 3 d: 4 chi: 24 middle Betti: 22
n: 3 d: 5 chi: 55 middle Betti: 53
n: 4 d: 2 chi: 4 middle Betti: 0
n: 4 d: 3 chi: -6 middle Betti: 10
n: 4 d: 4 chi: -56 middle Betti: 60
n: 4 d: 5 chi: -200 middle Betti: 204
n: 5 d: 2 chi: 6 middle Betti: 2
n: 5 d: 3 chi: 27 middle Betti: 23
n: 5 d: 4 chi: 188 middle Betti: 184
n: 5 d: 5 chi: 825 middle Betti: 821
|
Exercise 5.11: Betti numbers of smooth complete intersections
In the same way as for hypersurfaces, we compute that if $X$ is a complete intersection of hypersurfaces of degrees $d_1, \ldots, d_k$ in $P = {\mathbb P}^n$, then $$c(T_X) = c(T_P)/(\prod_{i=1}^k c(O_P(d_i)))|_X$$ We can use then Schubert2 to produce a closed-form formula for the degree of the top Chern class of the tangent bundle to a complete intersection of $k$ hypersurfaces in ${\mathbb P}^n$:
i15 : eulerChar = (n,k) -> (
S := base(e_1 .. e_k);
Pn := flagBundle({1,n},S);
TPn := tangentBundle(Pn);
O1 := dual(Pn.Bundles#0);
N := sum(1..k, i-> O1^**(e_i)); --the denominator in the above formula
X := product(1..k, i->chern(1,O1^**(e_i))); --fundamental class of X
TX := chern(TPn - N) * X;
integral TX)
o15 = eulerChar
o15 : FunctionClosure
|
i16 : eulerChar(4,2) -- Euler char of a complete intersection surface in P4
3 2 2 3 2 2
o16 = e e + e e + e e - 5e e - 5e e + 10e e
1 2 1 2 1 2 1 2 1 2 1 2
o16 : QQ[e ..e ]
1 2
|
And from here we can compute the middle Betti numbers:
i17 : middleBetti = (n,k) -> (
euC := eulerChar(n,k);
((-1)^(n-k)) * (euC - 2*ceiling((n-k)/2)))
o17 = middleBetti
o17 : FunctionClosure
|
Now our particular problem is easy:
i18 : sub(middleBetti(4,2),{e_1=>2,e_2=>3/1}) -- complete intersection of a quadric and cubic in P4
o18 = 22
o18 : QQ
|
i19 : sub(middleBetti(5,3),{e_1=>2,e_2=>2,e_3=>2/1}) -- three quadrics in P5
o19 = 22
o19 : QQ
|
For good measure, we'll also compute the Euler characteristics:
i20 : sub(eulerChar(4,2),{e_1=>2,e_2=>3/1}) -- complete intersection of a quadric and cubic in P4
o20 = 24
o20 : QQ
|
i21 : sub(eulerChar(5,3),{e_1=>2,e_2=>2,e_3=>2/1}) -- three quadrics in P5
o21 = 24
o21 : QQ
|
Exercise 5.12: Betti numbers of the quadric line complex
The only interesting Betti number is the middle one, which we compute immediately from the above:
i22 : sub(middleBetti(5,2),{e_1=>2,e_2=>2/1})
o22 = 4
o22 : QQ
|
Exercise 5.13: Calculate the Euler characteristic of a smooth hypersurface of bidegree $(a,b)$ in ${\mathbb P}^m \times {\mathbb P}^n$
Working on ${\mathbb P}^m \times {\mathbb P}^n$ in Schubert2 is easy using relative flag bundles (or relative projective spaces): this space is the same as the projectivization of a trivial rank-$n+1$ bundle on ${\mathbb P}^m$. So, for example, to build ${\mathbb P}^2 \times {\mathbb P}^3$:
i23 : P2 = flagBundle({1,2})
o23 = P2
o23 : a flag bundle with subquotient ranks {1..2}
|
i24 : P2xP3 = flagBundle({1,3},P2,VariableNames => K)
o24 = P2xP3
o24 : a flag bundle with subquotient ranks {1, 3}
|
i25 : intersectionRing(P2xP3)
QQ[][H , H ..H ]
1,1 2,1 2,2
---------------------------------------------[K , K ..K ]
(- H - H , - H H - H , -H H ) 1,1 2,1 2,3
1,1 2,1 1,1 2,1 2,2 1,1 2,2
o25 = ----------------------------------------------------------------
(- K - K , - K K - K , - K K - K , -K K )
1,1 2,1 1,1 2,1 2,2 1,1 2,2 2,3 1,1 2,3
o25 : QuotientRing
|
Note that if we didn't use the VariableNames options this ring would be horrible to look at, since classes pulled back from ${\mathbb P}^2$ and ${\mathbb P}^3$ would both be named $H$.
We can calculate a closed-form formula for the Euler characteristic of a smooth hypersurface of bidegree $(a,b)$ once we have fixed $m$ and $n$, but we cannot use $m$ and $n$ as base parameters themselves.
i26 : eulerChar = (n,m) -> (
S := base(a,b);
Pn := flagBundle({1,n},S);
PnxPm := flagBundle({1,m},Pn);
T := tangentBundle(PnxPm);
O1Pn := dual(Pn.Bundles#0);
f := PnxPm / Pn; -- the first projection map from P2xP3 to P2
O10 := f^* O1Pn; -- we pull back O_P2(1) to get O(1,0)
O01 := dual(PnxPm.Bundles#0); -- O(0,1)
NX := (O10^**a)**(O01^**b); -- O(a,b)
X := chern(1,NX); -- Chow class of divisor of type (a,b)
TX := chern(T - NX) * X; -- pushed-forward total Chern class of tangent bundle to X
integral TX) -- chi of a smooth hypersurface of bidegree (a,b) in PnxPm
o26 = eulerChar
o26 : FunctionClosure
|
i27 : eulerChar(4,4) -- chi of a smooth hypersurface of bidegree (a,b) in P4xP4
4 4 4 3 3 4 4 2 3 3 2 4 4
o27 = - 70a b + 175a b + 175a b - 150a b - 500a b - 150a b + 50a b +
-----------------------------------------------------------------------
3 2 2 3 4 4 3 2 2 3 4
500a b + 500a b + 50a*b - 5a - 200a b - 600a b - 200a*b - 5b +
-----------------------------------------------------------------------
3 2 2 3 2 2
25a + 300a b + 300a*b + 25b - 50a - 200a*b - 50b + 50a + 50b
o27 : QQ[a..b]
|
i28 : sub(eulerChar(2,3),{a=>1,b=>0/1}) -- is P1xP3, should be 8 by Kunneth
o28 = 8
o28 : QQ
|
i29 : sub(eulerChar(1,1),{a=>1,b=>1/1}) -- a conic in P2, should be 2
o29 = 2
o29 : QQ
|
i30 : sub(eulerChar(1,1),{a=>2,b=>1/1}) -- a twisted cubic, should be 2
o30 = 2
o30 : QQ
|