In mathematics, the Hirzebruch–Riemann–Roch theorem, named after Friedrich Hirzebruch, Bernhard Riemann, and Gustav Roch, is Hirzebruch's 1954 result contributing to the Riemann–Roch problem for complex algebraic varieties of all dimensions. It was the first successful generalisation of the classical Riemann–Roch theorem on Riemann surfaces to all higher dimensions, and paved the way to the Grothendieck–Hirzebruch–Riemann–Roch theorem proved about three years later.
Statement of Hirzebruch–Riemann–Roch theorem
The Hirzebruch–Riemann–Roch theorem applies to any holomorphic vector bundle E on a compact complex manifold X, to calculate the holomorphic Euler characteristic of E in sheaf cohomology, namely the alternating sum
of the dimensions as complex vector spaces.
Hirzebruch's theorem states that χ(X, E) is computable in terms of the Chern classes Cj(E) of E, and the Todd polynomials Tj in the Chern classes of the holomorphic tangent bundle of X. These all lie in the cohomology ring of X; by use of the fundamental class (or, in other words, integration over X) we can obtain numbers from classes in H2n(X). The Hirzebruch formula asserts that
taken over all relevant j (so 0 ≤ j ≤ n), using the Chern character ch(E) in cohomology. In other words, the cross products are formed in the cohomology ring of all the 'matching' degrees that add up to 2n, where to 'massage' the Cj(E) a formal manipulation is done, setting
and the total Chern class
Formulated differently the theorem gives the equality
where td(X) is the Todd class of the tangent bundle of X.
Significant special cases are when E is a complex line bundle, and when X is an algebraic surface (Noether's formula). Weil's Riemann–Roch theorem for vector bundles on curves, and the Riemann–Roch theorem for algebraic surfaces (see below), are included in its scope. The formula also expresses in a precise way the vague notion that the Todd classes are in some sense reciprocals of characteristic classes.
Riemann Roch theorem for curves
For curves, the Hirzebruch–Riemann–Roch theorem is essentially the classical Riemann–Roch theorem. To see this, recall that for each divisor D on a curve there is an invertible sheaf O(D) (which corresponds to a line bundle) such that the linear system of D is more or less the space of sections of O(D). For curves the Todd class is 1 + c1(T(X))/2, and the Chern character of a sheaf O(D) is just 1+c1(O(D)), so the Hirzebruch–Riemann–Roch theorem states that
- (integrated over X).
But h0(O(D)) is just l(D), the dimension of the linear system of D, and by Serre duality h1(O(D)) = h0(O(K − D)) = l(K − D) where K is the canonical divisor. Moreover c1(O(D)) integrated over X is the degree of D, and c1(T(X)) integrated over X is the Euler class 2 − 2g of the curve X, where g is the genus. So we get the classical Riemann Roch theorem
For vector bundles V, the Chern character is rank(V) + c1(V), so we get Weil's Riemann Roch theorem for vector bundles over curves:
Riemann Roch theorem for surfaces
For surfaces, the Hirzebruch–Riemann–Roch theorem is essentially the Riemann–Roch theorem for surfaces
combined with the Noether formula.
If we want, we can use Serre duality to express h2(O(D)) as h0(O(K − D)), but unlike the case of curves there is in general no easy way to write the h1(O(D)) term in a form not involving sheaf cohomology (although in practice it often vanishes).