Introduction

A variety in this chapter is a smooth irreducible projective algebraic set over the complex numbers. A subvariety of a variety $X$ is an irreducible algebraic subset of $X$. We will

  • present OSCAR tools which support computations in the intersection theory of varieties, and
  • give examples which illustrate how intersection theory is used to solve problems from enumerative geometry.
Note

A first version of what we present here was written by Jeiao Song as a separate julia package based on OSCAR. This package was "heavily inspired by the Macaulay2 package Schubert2 and the sage library Chow. Some functionalities from [the sage library] Schubert3 are also implemented." The authors of Schubert2 are Daniel R. Grayson, Michael E. Stillman, Stein A. Strømme, David Eisenbud, and Charley Crissman, while Chow is due to Manfred Lehn and Christoph Sorger. Schubert3 as well as the Singular library schubert.lib is due to Dang Tuan Hiep. All this work, including ours, is inspired by the Maple package Schubert written by Sheldon Katz and Stein A. Strømme.

The starting point for developing the Schubert package was the problem of enumerating twisted cubic curves on a general quintic hypersurface in $\mathbb P^4$, see [ES02]. We quote from that paper:

One way to approach enumerative problems is to find a suitable complete parameter space for the objects that one wants to count, and express the locus of objects satisfying given conditions as a certain zero-cycle on the parameter space. For this method to yield an explicit numerical answer, one needs in particular to be able to evaluate the degree of a given zerodimensional cycle class. This is possible in principle whenever the numerical intersection ring (cycles modulo numerical equivalence) of the parameter space is known, say in terms of generators and relations.

A cycle on a variety $X$ is a finite formal sum of subvarieties of $X$, with integer coefficients. That is, a cycle on $X$ is an element of the free abelian group generated by the subvarieties of $X$. We consider this group with its grading by codimension, that is, we work with the graded group $Z^\ast(X) = \bigoplus^{\dim(X)}_{c=0} Z^c(X)$, where $Z^c(X)$ consists of the cycles of codimension $c$ on $X$.

A useful cycle theory is obtained by considering an adequate equivalence relation, given on the cycle groups $Z^\ast(X)$ of all varieties $X$ (see [Sam60], [Mur14]). Such a relation $\sim$ is compatible with the group structure and grading on $Z^\ast(X)$. It gives rise to a suitable concept of moving cycles and, thus, to a well-defined intersection product on cycle classes which makes the quotient group $C_{\sim}^\ast(X) := Z^\ast(X)/\sim$ into a graded ring (intersection ring). The construction of such rings is functorial with respect to morphisms of varieties in the sense that, given a morphism $f:X \rightarrow Y$, there are associated pushforward and pullback maps $f_{\ast}$ and $f^{\ast}$ for cycle classes (recall that we work with projective varieties). More precisely, for each $d$, building the group $C_d^{\sim}(X)$ of cycle classes of dimension $d$ gives rise to a covariant functor from varieties to groups via $f_{\ast}$, while building $C_{\sim}^\ast(X)$ gives rise to a contravariant functor from varieties to rings via $f^{\ast}$. Moreover, we have the projection formula

\[f_\ast(f^\ast(\beta)\cdot \alpha) = f_\ast(\alpha)\cdot \beta \;\text{ for all }\; \alpha\in C_{\sim}^\ast(X), \beta\in C_{\sim}^\ast(Y)\]

(here, we extend $f_{\ast}$ by additivity to all cycle classes on $Y$).

Since we grade by codimension, the degree-0 part of an intersection ring consists of cycle classes of dimension $\dim(X)$. Note that this part is isomorphic to $\mathbb Z$: It is generated by the class of $X$ in $C_{\sim}^\ast(X)$, the fundamental class of $X$ with respect to $\sim$ (recall that we assume that $X$ is irreducible). On the other hand, the degree-$n$ part of an intersection ring consists of classes of 0-cycles, that is, cycles of dimension zero. We have a well-defined degree homomorphism, or integral,

\[\deg =\int_X : C_{\sim}^{\dim(X)}(X) \rightarrow \mathbb Z\]

which sends the class of a point of $X$ to 1, and which extends to a homomorphism on all of $C_{\sim}^\ast(X)$ :

\[\int_X : C_{\sim}^\ast(X)\rightarrow \mathbb Z, \quad \alpha = \sum _{c = 0}^{\dim(X)} \alpha_c\mapsto \int \alpha_{\dim(X)}.\]

In particular, we have the intersection pairings

\[C_{\sim}^c(X)\times C_{\sim}^{\dim(X)-c}(X)\rightarrow C_{\sim}^{\dim(X)}(X) \overset{\deg}\longrightarrow \mathbb Z.\]

The finest adequate equivalence relation is rational equivalence which is the most common relation to work with. The resulting intersection ring of $X$ is usually denoted by $A^\ast(X)$ and called the Chow ring of $X$. Note that such rings are often difficult to handle. For example, while $A^0(X)$ is isomorphic to $\mathbb Z$ as pointed out above, it may happen that the group $A^{\dim(X)}$ is not even finitely generated. To be unaffected by such problems, we follow the authors of Schubert and work with numerical equivalence, the coarsest adequate equivalence relation. That is, we only care about the intersection numbers with respect to classes in complementary codimension. This is enough for handling most enumerative problems, with the additional benefit that we often can compute the pushforward of a cycle along a morphism $f$ of varieties when only the pullback homomorphism $ f^\ast$ is known (see Abstract Variety Maps). We will write $N^\ast(X)$ for the numerical intersection ring of $X$.

In our implementation of numerical intersection rings, we allow rational coefficients when forming cycles. That is, given $X$, we consider the ring

\[N^\ast(X)_{\mathbb Q} = N^\ast(X) \otimes_{\mathbb Z} {\mathbb Q} = \bigoplus^{\dim(X)}_{c=0} N^c(X)_{\mathbb Q}\]

and extend notions such as integral or intersection pairing to this situation. The graded pieces $N^c(X)_{\mathbb Q}$ are then finite-dimensional $\mathbb Q$-vector spaces, their dimensions $\beta_c(X) = \dim N^c(X)_{\mathbb Q}$ are called the Betti-numbers of $X$. Since the intersection pairings

\[N^c(X)_{\mathbb Q}\times N^{\dim(X)-c}(X)_{\mathbb Q}\rightarrow N^{\dim(X)}(X)_{\mathbb Q} \overset{\deg}\longrightarrow \mathbb Q\]

are nondegenerate by the very definition of numerical equivalence, we have $\beta_c(X) = \beta_{\dim(X)-c}(X)$ for each $c$. In particular, $N^0(X)_{\mathbb Q} $ and $N^{\dim(X)}_{\mathbb Q} $ are both 1-dimensional $\mathbb Q$-vector spaces, generated by the fundamental class $[X]$ and the class of a point (a class that integrates to 1), respectively.

Note

In this chapter, we abuse our notation in that the name Chow ring always refers to a ring of type $N^\ast(X)_{\mathbb Q}$.

With respect to computations, again following Schubert, our approach is abstract in the sense that we do not work with explicit varieties given by equations. Instead, we specify the dimension of the variety together with its Chow ring and, possibly, further data. We refer to such a collection of data as an abstract variety, and to results obtained from manipulating the data as results which apply to all (smooth projective complex) varieties sharing the data.

Of particular interest is the tangent bundle of a variety (the Todd class of the tangent bundle enters the Hirzebruch-Riemann-Roch formula). As with any other vector bundle, the tangent bundle is represented as a collection of data referred to as an abstract vector bundle. The main data here is the Chern character of the vector bundle.

In the same spirit, we introduce abstract variety maps. Their key data is the pullback homomorphism between the respective Chow rings.

Some comments on this set-up are in order:

Let $X$ be a variety. Write $K^{\circ}(X)$ for the Grothendieck group of vector bundles on $X$. That is, $K^{\circ} (X)$ is the free abelian group generated by the isomorphy classes of vector bundles on $X$, modulo the relations of type $[E]=[E^{\prime}]-[E^{\prime \prime}]$, where $E$, $E^\prime$, and $ E^{\prime \prime}$ fit into an exact sequence $0\rightarrow E^\prime \rightarrow E \rightarrow E^{\prime \prime} \rightarrow 0$. The tensor product turns $K^{\circ}(X)$ into a ring, the Grothendieck ring of vector bundles on $X$. By Riemann-Roch, the Chern character defines a ring isomorphism $\text{ch}: K^{\circ}(X)_{\mathbb Q} \overset{\simeq}\longrightarrow A^*(X) _{\mathbb Q}$. Since rational equivalence is (much) finer than numerical equivalence, we obtain a ring epimorphism

\[\text{ch}: K^{\circ}(X)_{\mathbb Q} \overset{\simeq}\longrightarrow A^*(X) _{\mathbb Q}\twoheadrightarrow N^*(X)_{\mathbb Q}.\]

Note

Write $K_{\circ} (X)$ for the Grothendieck group of coherent sheaves on $X$. Then, since $X$ is supposed to be smooth, the natural map $K^{\circ} (X)\rightarrow K_{\circ} (X)$ is an isomorphism (every coherent sheaf on $X$ has a finite resolution by locally free sheaves). We may, thus, speak of coherent sheaves given by virtual vector bundles, that is, by elements of $K^{\circ} (X)$. Hence, we can use the concept of abstract vector bundles also to infer information on coherent sheaves, with algebraic operations such as - or * (tensor product) being virtual.

Warning

In many cases, there is no algorithm for computing the entire Chow ring: We will only be able to obtain information on a certain subring generated by some tautological classes. We are then actually working with the class of all varieties sharing the same piece of tautological ring (and, possibly, further data). We illustrate this in Example: Cubic surfaces.

For some nice varieties, however, numerical equivalence coincides with rational equivalence. For such a variety $X$, the Chow ring coincides with the rational cohomology ring and can be completely computed, so problems as above disappear. A nice consequence is that the Betti numbers of $X$ introduced above are exactly the (even) Betti numbers of $X$ considered as a compact complex manifold, so we have an equality sum(betti_numbers(X)) == euler_number(X). The class of such varieties $X$ includes projective spaces, Grassmannians, homogeneous spaces for affine algebraic groups (for example, flag varieties), and in general any variety with an affine stratification. Moreover, products, projective bundles, flag bundles, and blowups with center in this class will remain in this class. As Eisenbud and Harris [EH16] put it: This class represents a tiny fraction of all varieties, but a large fraction of the set of varieties on which we can effectively carry out intersection theory. In OSCAR, internally, we use set_attribute(X, :alg => true) to declare that $X$ satisfies this property. Accordingly, entering get_attribute(X, :alg) reveals whether :alg has been set to true or not.

General textbooks offering details on theory and algorithms include:

For the Chow rings of abstract flag bundles see

Tutorials

We encourage you to take a look at the tutorials on intersection theory in OSCAR, which can be found here.

Contact

Please direct questions about this part of OSCAR to the following people:

You can ask questions in the OSCAR Slack.

Alternatively, you can raise an issue on github.