admcycles - a Sage package for computations in the tautological ring of the moduli space of stable curves
Authors
Based on earlier implementation by Aaron Pixton
Johannes Schmitt
Jason van Zelm
Vincent Delecroix
How to get access
Website : https://gitlab.com/jo314schmitt/admcycles
Online tool : https://cocalc.com
- currently slightly older version
User manual : https://arxiv.org/abs/2002.01709
The moduli space of stable curves
Definition/Theorem (Deligne, Mumford - 1969)
Let be integers (with ). $$\overline{\mathcal{M}}_{g,n} = \left\{(C,p_1, \ldots, p_n) \colon \begin{array}{l} {C \text{ compact complex algebraic}\\ \text{curve of }\color{red}{\text{arithmetic}}\text{ genus }g \\ \text{with at worst }\color{red}{\text{nodal singularities}}}\\ {p_1, \ldots, p_n \in C \text{ distinct $\color{red}{\text{smooth}}ParseError: KaTeX parse error: Expected 'EOF', got '}' at position 8: points}̲}\\ {\colo…$ Then we have
is a smooth, irreducible, compact complex orbifold of dimension .
The subset where the curve is smooth is dense and open and the complement is a normal-crossing divisor.
Below we illustrate the space .
Recursive boundary structure
To we can associate a stable graph
Conversely, given a stable graph we have a gluing map
Proposition
The map is finite with image equal to the closure of
Example
The output [1, 2] [[1, 2, 3], [4]] [(3, 4)]
corresponds to the stable graph
Exercise
Execute the cell above (which says from admcycles import * ...
) by clicking the grey box and then pressing Shift + Enter
to start the computation.
Then, use the cell below to compute the number of stable graphs in with precisely 2 edges.
(Hint: given a list L
you can compute its length using len(L)
)
The tautological ring of
compact space the singular cohomology is a finite-dimensional -algebra
Generators of the tautological ring
Using the fact that is a moduli space, we can write down many natural cohomology classes.
Definition (-classes)
complex line bundle,
Definition (-classes)
Forgetful morphism [ smooth]
Definition (The tautological ring)
The tautological ring is spanned as a -vector subspace by elements called decorated strata classes.
Let's start playing around with tautological classes. We can display a list of all generators using the function list_tautgens(g,n,d)
and get access to this list using tautgens(g,n,d)
.
Intersection products
One of the basic operations in singular cohomology is the cup product of cohomology classes. The following results allows us to compute such products for decorated strata classes.
Theorem (Graber, Pandharipande - 2003)
The set of tautological classes is closed under the intersection/cup product, and there exists an explicit formula with running over graphs which are simultaneous specializations of and .
We can look at some examples involving the generators above.
Comparing with the picture above, we can see that T[3]
and T[7]
are the classes of two boundary divisors, which intersect transversally in the codimension stratum associated to the stable graph above.
Intersection numbers
We can also compute actual intersection numbers. For this, given a tautological class t
contained in , we can compute its degree using t.evaluate()
. This is based on a conjecture by [Witten - 1991], proved by [Kontsevich - 1992].
Exercise
Use the cell below to compute the integral Hint: You can get access to the classes either from the list T
above, or using the function psiclass(i,g,n)
.
Tautological relations
An important aspect of the tautological ring is that the generators are not necessarily linearly independent. A linear relation between them is called a tautological relation. A lot of work has gone into studying such relations ([Faber, Zagier - 2000]; [Pandharipande, Pixton - 2010]; [Pixton - 2012]; [Pandharipande, Pixton, Zvonkine - 2013]), finally leading to a conjectural description of all tautological relations, originally proposed by Pixton.
These so-called generalized Faber-Zagier relations have been implemented by Pixton in the predecessor of admcycles
and are accessible in admcycles
in two ways: given a tautological class t
in you can
check if it is contained in the system (and thus zero) by calling
t.is_zero()
,express it in a basis of the vector space which is conjecturally isomorphic to , by calling
t.toTautbasis()
.
Exercise
There exists a linear relation between the classes
Find the relation using the function toTautbasis()
and confirm it using is_zero
.
Note: This task may require more than one command. You can create new cells for computations via the menu Insert->Insert Cell Above/Below
at the top of the screen.
The functions toTautbasis
and is_zero
are perfectly fine for confirming that classes are zero, since R.is_zero() == True
means that R
is a combination of known tautological relations, and thus indeed vanishes.
But what if we want to show that things don't vanish? Since the generalized Faber-Zagier relations are only conjecturally complete, an output R.is_zero() == False
just tells us that R
is not zero assuming the conjecture.
To get a non-conditional result, i.e how to show that in the exact sequence the kernel vanishes (and thus that indeed give all relations)? We can use the following strategy: there exists an intersection pairing
As we have seen in the last sections, we can explicitly compute all pairings appearing above using admcycles
and obtain a matrix whose entries are and this matrix satisfies Then if we check it follows that in indeed the kernel must vanish.
Example :
Let's see this in practice: for the classes in considered above, we saw that toTautbasis()
gave out vectors of length , so in this case. Since in this case, the relevant pairing is
Let's compute the matrix and its rank:
So indeed we get the equality and thus we can be sure that the system is complete in this case.
Natural cycle classes on the moduli space of stable curves
Using the fact that is a moduli space, there are many ways to construct interesting cohomology classes on it. Many (though not all) of them actually result in tautological classes, and again many (though not all) of these have been implemented in admcycles
.
A) Cycles associated to closed subsets
For a closed, algebraic subset of -codimension , there exists a fundamental class where is the isomorphism from Poincaré duality.
Example : Hyperelliptic cycles
An important example are the loci of hyperelliptic curves
Then, [Faber, Pandharipande - 2005] showed that the fundamental classes of the closures
are always tautological. In [Schmitt, van Zelm - 2018] with Jason van Zelm we give an algorithm to compute intersection numbers of the hyperelliptic cycles with tautological classes. Using these numbers, the package admcycles
can compute them (in many cases) via the function Hyperell(g,n,m)
.
Example: Strata of differentials
Given with , we consider the locus Then is a closed algebraic subset of and taking the fundamental class of the closure , we obtain cohomology classes
These classes have been studied intensely in the last couple of years. Some highlights:
In the appendix of the paper [Farkas, Pandharipande - 2015], Janda, Pandharipande, Pixton and Zvonkine wrote down a conjectural formula relating the classes of strata of meromorphic differentials to the so-called double ramification cycles. These DR cycles are computed by an explicit formula in the tautological ring proposed by Pixton. This conjecture was recently proven by combining the results of papers [Holmes, Schmitt - 2019], [Bae, Holmes, Pandharipande, Schmitt, Schwarz - 2020]. The above formula can be used to recursively compute all cycles , both in the holomorphic and meromorphic case. This has been implemented in the function
Strataclass(g,1,(a1, ..., an))
.
The strata themselves were studied in a series of papers by Bainbridge, Chen, Gendron, Grushevsky, Möller ([BCGGM - 2018], [BCGGM - 2019], [BCGGM - 2020]). In particular, the authors define a smooth compact moduli space sitting proper, birationally over , called the space of multiscale differentials. They describe the boundary strata of (and thus of ) in terms of certain enhanced level graphs.
The intersection theory and tautological ring of have been implemented by [Costantini, Möller, Zachhuber - 2020] in an extension/sub-package of
admcycles
calleddiffstrata
. They use this in a second paper [Costantini, Möller, Zachhuber - 2020] to compute the (orbifold) Euler characteristics of the open strata in a range of examples.
B) Lambda classes (and generalizations)
On there exists a vector bundle , called the Hodge bundle, with fibres The Chern classes are called the -classes. They are tautological, with an explicit formula first computed by [Mumford - 1983], and can be computed in terms of generators using lambdaclass(i,g,n)
.
Exercise
A special case of the main result of [Faber, Pandharipande - 2000] is that the generating series is given by Check their result for .
Hint: To get you started, I compute the expansion of at below.
Note that for the universal curve and the relative dualizing line bundle of this morphism, we have The paper [Pagani, Ricolfi, van Zelm - 2019] generalizes the -classes and computes, for an arbitrary line bundle on the Chern classes of the derived pushforward of by . In fact, admcycles
had a hand in this: the original version [Pagani, Ricolfi - 2018] of the paper missed some terms in the computation, which was discovered by van Zelm using admcycles
.
Formulas for lambda-classes
(ongoing research with R. Pandharipande, S. Molcho)
As mentioned before, there is a computation of Mumford, giving a formula for the -classes The formula following by Mumford's computation is reasonably nice, but it does feature some slightly complicated terms. However, we could hope for something better! Consider the open subset of curves such that the stable graph of is a tree (i.e. contains no circular path). Then there exists a class such that So, up to a scalar factor, the class is a power of a divisor class! However, it turns out that this equality does not hold in general on the whole of .
What we can show now is that such a formula cannot work at all if is sufficiently large! To be slightly more precise, denote by the sub--algebra of generated by elements of cohomological degree at most . In particular, is the set of classes which can be written as linear combinations of products of divisor classes.
Then we have the following:
Theorem (Molcho, S, Pandharipande)
For we have and for we have assuming that the generalized Faber-Zagier relations give all the relations in the spaces Idea of proof Useadmcycles
to check the statement in and . The assumption tells us that in the corresponding spacestoTautbasis()
really does express as well as elements of in a basis of , so the statement is just linear algebra. The case of larger can then be shown using a small argument applying boundary gluing maps like using the fact that .
With the strategy discussed before, we can hopefully get rid of the assumption of the Faber-Zagier relations. The only problem is that the expected dimension of is , so the matrix we have to compute is a matrix of size at least of intersection numbers on the space of complex dimension . This will take a bit of time and effort, but doesn't seem impossible.
Appendix
Connection to moduli spaces of abelian varieties
Ongoing developments
Johannes Schwab (PhD student of M. Möller) - Expand
diffstrata
for spaces of quadratic differentialsJavier Sendra (Master student of G. Oberdieck and myself) - Implement algorithm for computing Gromow-Witten invariants of K3 surfaces described by [Maulik, Pandharipande, Thomas - 2010]
Danilo Lewanski (Postdoc, IPhT Paris), Zekun Ji (Master student of myself) - Exploring ELSV type formulas for various kinds of Hurwitz numbers (double Hurwitz numbers, r-Hurwitz numbers)
Exercise
Verify one of the most important tautological relations, called the WDVV-relation on the space :
D) Double ramification cycles
When discussing strata of differentials, we saw that double ramification cycles played an important role for computing them. Again, we'll mostly treat them as a black box, but we'll open the box a little bit to be able to show some cool conjecture.
Construction (Pixton - 2014)
Let and with . Then for any integer Pixton gave an explicit formula $$\mathrm{DR}_g^{\,d,k,r}(A) = \sum_{\Gamma,w} \left[\Gamma, \text{(polynomial in $\kappa,\psiwParseError: KaTeX parse error: Expected 'EOF', got '}' at position 2: )}̲ \right]\in RH^…\Gammawr\Gamma[\Gamma, \alpha]rr \gg 0$ and we define the DR cycle as the value of this polynomial at .
The tautological class is accessible in admcycles
by the function DR_cycle(g,A,d)
and we can even compute using DR_cycle(g,A,d,rpoly=True)
.
We can use admcycles
to verify theoretical results about Double ramification cycles in special cases. Take the following result, proving a conjecture by Pixton.
Theorem (Clader, Janda - Jan 2016)
Let and with . Then vanishes in degree .
Let us check the above vanishing in a special case in genus .
Admissible cover cycles in admcycles
In joint work with Jason van Zelm, we studied admissible cover cycles - fundamental classes of loci of curves in admitting finite covers to some curve of genus such that are ramification points of the cover.
For simplicity, let's restrict ourselves to the case of degree covers with , then we have
Then, in many cases, the package admcycles
can compute the fundamental classes
accessible via the functions Hyperell(g,n,m)
and Biell(g,n,m)
.
The cycles are computed by using information from their pullbacks via boundary gluing morphisms. For instance, for , consider the gluing morphism
Then the pullback of the cycle is given by
In particular, the intersection of with is given by . This is something we can again verify in an example, showing how such boundary pushforwards can be constructed.
First we construct the stable graph associated to the boundary divisor.
The class can also be constructed using boundary_pushforward
.
Relationship between DR-cycles and admissible cover cycles
There is a natural connection between Double ramification and admissible cover cycles. The cycle is defined as the pushforward of the moduli space of stable maps to rubber . The components of this rubber moduli space, where generically the curve is smooth, map exactly to the admissible cover cycle of curves mapping to with marked ramification points over .
For covers of degree , the admissible cover cycles above are exactly the hyperelliptic cycles. The possible partitions are
: two marked Weierstrass point
: one marked Weierstrass point, one pair of conjugate points
: two pairs of conjugate points
As a proof of concept, the above approach can be applied in genus . Here we are looking at the codimension hyperelliptic cycles
So, in the first case, we know that the cycles and agree away from the boundary. Let's use admcycles
to identify the correction - which must be a combination of the classes of boundary divisors.
By similar experiments, one concludes the following formulas:
On Tuesday, we started exploring the case and found/verified a more complicated formula
As a final example, let us verify the following result
Theorem (Holmes, Pixton, S. - Nov 2017)
Let be vectors of integers with and , then we have but the same relation is not in general true on all of .
in the case .