Stacks

Written by

I actually wanted to write an introductory note on the basic Gromov–Witten invariant N_d counting the number of rational curves passing through 3d-1 points in a general position, and how the recursive formula

N_d = \sum_{d_1+d_2 = d; d_1, d_2 > 0} N_{d_1}N_{d_2}\left(d_1^2 d_2^2 {3d-4 \choose 3d_1-2} - d_1^3 d_2 {3d-4 \choose 3d_1-1} \right)

is obtained (the main reference is the classic Fulton–Pandharipande). But yes, again, I haven’t sufficiently understood the objects there, and my advisor also suggested me to try to work with stacks instead of coarse moduli spaces as schemes, so in this post I’ll try to build the notion of a stack from ground up. My main reference is Stacks for Everybody by Fantechi, and I studied Grothendieck topology from Wikipedia.

Why Stacks? And what are Moduli Spaces?

I’m not really qualified to say much about the motivation, since I haven’t really learned much about moduli spaces, but let me give an attempt.

A moduli functor is a functor \mathrm{Sch}_{\mathbb{C}}^{\mathrm{op}} \to \mathrm{Sets}.

For a scheme M \in \operatorname{Obj}(\mathrm{Sch}_{\mathbb{C}}), we define the functor h^M \colon \mathrm{Sch}_{\mathbb{C}}^{\mathrm{op}} \to \mathrm{Sets} by sending object X to \operatorname{Mor}_{\mathrm{Sch}_{\mathbb{C}}}(X, M) and sending morphism X' \xrightarrow{f} X to function \operatorname{Mor}_{\mathrm{Sch}_{\mathbb{C}}}(X, M) \to \operatorname{Mor}_{\mathrm{Sch}_{\mathbb{C}}}(X', M) defined by g \mapsto g \circ f.

A moduli functor h is representable if there exists M \in \operatorname{Obj}(\mathrm{Sch}_{\mathbb{C}}) such that h \cong h^M (natural isomorphism of functors). In such case we say M is a fine moduli space for h.

The motivation of introducing moduli spaces is the attempt to classify geometric objects up to isomorphism. For example, we may want to parametrize the lines in \mathbb{A}^{n+1} passing through the origin. In this case, \mathbb{P}^n is the moduli space of such lines. We may want to parametrize the curves of degree d in \mathbb{P}^3, obtaining the Chow variety \mathbf{Chow}(d, \mathbb{P}^3), etc. These basic objects forming some kind of a configuration space are the basic building blocks. But now we ask further: can the configuration space be viewed as an algebro-geometric object as well? For natural problems with direct solutions, we can grab this object (and it turns out to be a scheme) and we’re done. But for some other problems, there seems to be some obstruction to the existence of such an algebro-geometric object describing the configuration space.

Moreover, oftentimes we’re not directly interested in working with the configuration spaces, but we’re more interested in working with a family of objects in the configuration space, parametrized by another object. That is, perhaps we’re interested in a family (L_t)_{t \in X} of objects L_t \in M, parametrized by t \in X. The way we formalize this is that the collection (L_t)_{t \in X} should correspond to a morphism X \to M sending t to L_t. In this sense, we want to say that “family of objects in M parametrized by X” should be \operatorname{Mor}(X, M), and this is why we defined h^M that way.

Now, the problem is there is no such scheme M representing the configuration space. This happens particularly when there are nontrivial automorphisms of objects we’re interested in, and so we give up the ideal dream of getting a fine moduli space and step back a bit, getting a coarse moduli space instead. Instead of trying to grab h^M so that h \cong h^M, we look for a pair (M, \Phi) with \Phi \colon h \Rightarrow h^M being a natural transformation of functors, such that:

(a) The pair is initial among other possible pairs, that is, if (M', \Phi') is another pair, then there exists a unique natural transformation \Psi \colon h^M \Rightarrow h^{M'} such that this commutes:

Rendered by QuickLaTeX.com

(b) The natural transformation \Phi induces a bijection on \operatorname{Spec}(\mathbb{C}), i.e., h(\operatorname{Spec}(\mathbb{C})) \xrightarrow{\Phi_{\operatorname{Spec}(\mathbb{C})}} h^M(\operatorname{Spec}(\mathbb{C})) = M(\mathbb{C}) is a bijection.

This is how we accept losing some data and study the coarse moduli spaces as schemes in their own rights. This works, in some sense, but since this loses the precision, my advisor suggested me to work with stacks instead, so now I’ll be introducing the notion of a stack and consider how it fits into the theory of moduli spaces.

Grothendieck Topologies

The Development of Topology

In the beginning (Bachelor Year 1), I was taught about topology in \mathbb{R} in this way (if I remember correctly):

  • The open sets are sets U \subseteq \mathbb{R} such that for all x \in U there exists some \varepsilon > 0 such that (x-\varepsilon, x+\varepsilon) \subseteq U.
  • The closed sets are sets F \subseteq \mathbb{R} such that for all sequences (x_n)_{n \in \mathbb{N}} in F, if it has a limit \ell, then \ell \in F.
  • The compact sets are sets K \subseteq \mathbb{R} such that for all sequences (x_n)_{n \in \mathbb{N}} in K, there exists a subsequence which converges to some limit in K.

And when I grew up a bit (Bachelor Year 2), they taught us the topology of finite dimensional normed vector spaces: for a K-vector space E with norm \|\cdot\| (K = \mathbb{R} or K = \mathbb{C}), there is the notion of open balls: B_r(x) := \{x' \in E \colon \|x'-x\| < r\}, closed balls, and so on, etc, etc. The open sets are the sets that all points inside them admit an open ball contained in the set. The closed sets are the sets whose complement is an open set. Compact sets are still defined by sequential compactness in the above sense, but then we quickly show the Heine–Borel theorem and established the equivalence in terms of closed and bounded set.

And then (Bachelor Year 3), we began the general point-set topology. For a set X, a topology \mathcal{T} on X is a collection of subsets of X, i.e. \mathcal{T} \subseteq 2^X, such that the following axioms are satisfied:

  1. \varnothing, X \in \mathcal{T}.
  2. For an arbitrary collection (U_i)_{i \in I} where each U_i is in \mathcal{T}, the union \bigcup_{i \in I} U_i is also in \mathcal{T}.
  3. For a finite collection (U_i)_{i \in I} where each U_i is in \mathcal{T}, the intersection \bigcap_{i \in I} U_i is also in \mathcal{T}.

The elements of \mathcal{T} are called open sets. Closed sets are those whose complement is open. Compactness is defined by the “open covers has a finite subcover” definition. And so on.

This general point-set topology works surprisingly well even in later courses during my Master’s studies. It defined a sufficient and elegant ground towards more sophisticated definitions of manifolds (in differential geometry), Zariski topology (in algebraic geometry), weak topologies (in functional analysis), and others. I learned a bit more (in Master Year 2) about the Hausdorff axiom, and the local compactness property, and these are already pretty useful enough to work with other things in representation theory and in Lie groups.

Presheaves and Sheaves

Things start to get a bit more complicated (and at the same time, easier), when we look at the category \mathcal{C} whose objects are the open subsets (i.e. \operatorname{Obj}(\mathcal{C}) = \mathcal{T}) and the morphisms are inclusions (i.e. \operatorname{Mor}_{\mathcal{C}}(U, V) := \begin{cases}\iota_{U \to V} &; U \subseteq V\\\varnothing &; \text{ otherwise}\end{cases}, where \iota_{U \to V} \colon U \to V is the inclusion of sets). I don’t know how other people call this category, but here I’d call it \mathrm{Open}(X) for a topological space X.

In this way, a presheaf of \mathcal{D} on X is a functor \mathrm{Open}(X)^{\mathrm{op}} \to \mathcal{D}.

A sheaf is then a presheaf \mathcal{F} \colon \mathrm{Open}(X)^{\mathrm{op}} \to \mathcal{D} that satisfies the sheaf gluing axiom:

For all collection (U_i)_{i \in I} of objects from \mathrm{Open}(X), and for all collection (f_i)_{i \in I} where f_i \in \mathcal{F}(U_i) for each i \in I, suppose for all i, j \in I, \mathcal{F}(\iota_{U_i \cap U_j \to U_i})(f_i) = \mathcal{F}(\iota_{U_i \cap U_j \to U_j})(f_j), then, defining U := \bigcup_{i \in I} U_i, there exists a unique f \in \mathcal{F}(U) such that for each i \in I, \mathcal{F}(\iota_{U_i \to U})(f) = f_i.

This is intuitively clear when we talk in differential geometric terms and see explicit examples. Of course, in practice, we write f_i|_{U_i \cap U_j} instead of \mathcal{F}(\iota_{U_i \cap U_j \to U_i})(f_i). Some people use another syntax for restriction, which I like it very much: write {}_{\mathcal{F}}\!\operatorname{Res}^U_V \colon \mathcal{F}(U) \to \mathcal{F}(V) for \mathcal{F}(\iota_{V \to U}).

Now, a Grothendieck topology is a generalization in place of \mathrm{Open}(X). We work with a category \mathcal{C}, and think of it as “the category of open sets”, but now we don’t require the three topological axioms above (see what I wrote on Bachelor Year 3), and we instead focus on characterizing the notion of an open cover. Usually, we say that a collection (U_i)_{i \in I} of items in \mathrm{Open}(X) is an open cover of U \in \operatorname{Obj}(\mathrm{Open}(X)) if \bigcup_{i \in I} U_i = U. In Grothendieck topologies this notion is relaxed, and this allows the definition of other kinds of topologies, such as the Ă©tale topology or the Nisnevich topology, apart from the usual Zariski topology. We begin this by looking at sieves.

Sieves

Let \mathcal{C} be a category. Let c \in \operatorname{Obj}(\mathcal{C}) be an object. A sieve on c is a functor S \colon \mathcal{C}^{\mathrm{op}} \to \mathrm{Sets} such that

  1. For all c' \in \operatorname{Obj}(\mathcal{C}), S(c') \subseteq \operatorname{Mor}_{\mathcal{C}}(c', c).
  2. For all morphisms c'' \xrightarrow{f} c' in \mathcal{C}, S(f) \colon S(c') \to S(c'') is the restriction of the usual pullback \operatorname{Mor}_{\mathcal{C}}(c', c) \xrightarrow{f^*} \operatorname{Mor}_{\mathcal{C}}(c'', c) to S(c') \to S(c''). Equivalently, this means the following diagram commutes:

Rendered by QuickLaTeX.com

This may sound like some abstract nonsense, but it has an intuitive interpretation in the case \mathcal{C} := \mathrm{Open}(X). A sieve S on U \in \operatorname{Obj}(\mathrm{Open}(X)) assigns each V \in \operatorname{Obj}(\mathrm{Open}(X)) with a subset of \operatorname{Mor}_{\mathrm{Open}(X)}(V, U). If V \subseteq U then sure, there exists one morphism from V to U, namely the inclusion \iota_{V \to U}. If V \not\subseteq  U then there is no morphism from V to U, so the sieve must send V to \varnothing (there is no choice to be made here). In this sense, the sieve S is bitmasking each open subset of U whether we will collect it or not. Now, this implies that this bitmasking must be downward-closed, i.e., if V \subseteq W \subseteq U and W is enabled, then V must also be enabled as well. Why? Using the morphism

    \[V \xrightarrow{\iota_{V \to W}} W,\]

we can pass these into S to get

    \[S(V) \xleftarrow{S(\iota_{V \to W})} S(W).\]

Since S(W) is nonempty, and S(\iota_{V \to W}) is a morphism of sets (i.e. function S(W) \to S(V)), we can grab the only element of S(W) and push it through S(\iota_{V \to W}) to land somewhere in S(V), by definition, and then this means S(V) is nonempty, i.e., V is enabled.

In this sense, reinterpreting in the original category \mathrm{Open}(X), a sieve on U is nothing but a downward-closed collection of open subsets of U.

Covering Sieves

The main idea of a Grothendieck topology is (roughly) to assign a criterion to check whether a collection \{c_i \xrightarrow{f_i} c\}_{i \in I} is a special kind of collection (called “covering family” of c) or not. We first go through the construction using sieves, and we try to define whether a sieve is a covering sieve or not. Formally, for a category \mathcal{C}, a Grothendieck topology is a collection (J(c))_{c \in \operatorname{Obj}(\mathcal{C})} where J(c) is a collection of sieves on c, subject to some additional axioms. The sieves in J(c) are called covering sieves on c. The axioms that we require are the following:

  1. (Base change) Let X, Y \in \operatorname{Obj}(\mathcal{C}). If S \in J(X), and f \in \operatorname{Mor}_{\mathcal{C}}(Y, X), then f^*S \in J(Y), where f^*S is the pullback sieve of S by f (it is what you think it is).
  2. (Local character) Let X \in \operatorname{Obj}(\mathcal{C}). Let S \in J(X). Let T be any sieve on X. Suppose for all Y \in \operatorname{Obj}(\mathcal{C}) and all Y \xrightarrow{f} X in S(Y) the pullback sieve f^*T is in J(Y), then T \in J(X).
  3. (Identity) For each X \in \operatorname{Obj}(\mathcal{C}), the functor \operatorname{Mor}_{\mathcal{C}}(-, X), which forms a sieve, is in J(X).

Once such axioms hold, we say that J is a Grothendieck topology on \mathcal{C}. The pair (\mathcal{C}, J) is called a site.

Now, suppose we have a collection \{c_i \xrightarrow{f_i} c\}_{i \in I} of morphisms in \mathcal{C} going into c \in \operatorname{Obj}(\mathcal{C}), its corresponding sieve on c is defined as S(c') := \{c' \xrightarrow{f} c \colon \exists i \in I, g \in \operatorname{Mor}_{\mathcal{C}}(c', c_i), f = f_i \circ g\}. This sieve is called the sieve generated by \{c_i \xrightarrow{f_i} c\}_{i \in I}, and we say that the family \{c_i \xrightarrow{f_i} c\}_{i \in I} is a covering family (with respect to J) whenever the sieve generated by itself is a covering sieve (with respect to J).

Categories over Categories

Let \mathfrak{S} be our base category. A category X over \mathfrak{S} is a (covariant) functor \pi \colon X \to \mathfrak{S}. I will often write this situation as \substack{X\\\pi\downarrow\\\mathfrak{S}}.

We define what it means to be a category fibered in groupoids. Basically we recall the following commutative diagram, where E \in \operatorname{Obj}(X); S, T \in \operatorname{Obj}(\mathfrak{S}), and f \in \operatorname{Mor}_{\mathfrak{S}}(T, S).

Rendered by QuickLaTeX.com

A pullback (or a fiber product) for this diagram is a completion of the diagram above to the top-left (i.e. it is a pair (F, \bar{f}) with F \in \operatorname{Obj}(X) and \bar{f} \in \operatorname{Mor}_X(F, E) which makes the following diagram commutes and that \pi(\bar{f}) = f)

Rendered by QuickLaTeX.com

such that it is final in the following sense, for any U \in \operatorname{Obj}(X) with \pi(U) = T and any g \in \operatorname{Mor}_X(U, E) with \pi(g) = f, there exists a unique morphism \varphi \in \operatorname{Mor}_X(U, F) such that g = \bar{f} \circ \varphi.

Such pullback may or may not exist (I don’t know!). But we can require that it exists and is unique up to unique isomorphism. We give this condition precisely in the following definition.

Definition. A category \substack{X\\\pi\downarrow\\\mathfrak{S}} is said to be fibered in groupoids over \mathfrak{S} if for any T \xrightarrow{f} S in \mathfrak{S} and for any \substack{E\\\pi\downmapsto\\S} in \substack{X\\\pi\downarrow\\\mathfrak{S}}, there exists a pullback F \xrightarrow{\bar{f}} E and this pullback is unique up to unique isomorphism, that is, if F' \xrightarrow{\bar{f}'} E is another pullback, then there exists a unique isomorphism \alpha \in \operatorname{Mor}_X(F', F) with \pi(\alpha) = \mathrm{id}_T such that \bar{f}' = \bar{f} \circ \alpha. This situation looks (in a sense) like the following diagram.

Rendered by QuickLaTeX.com

Informally, this fibered in groupoids condition tells us that it “pulls back like bundles”.

Since such pullback is essentially unique (i.e. unique up to unique isomorphism), for each \substack{E\\\pi\downmapsto\\S} and each T \xrightarrow{f} S in \mathfrak{S} we may write such pullback F as E | T whenever f is clear from context.

Descent (i.e. Gluing)

What does it mean to glue things? Informally, for objects X and Y (imagine, say, two sheets of paper), to glue X to Y roughly means:

  1. Paste the glue on a part U_X of X.
  2. Paste the glue on a part U_Y of Y.
  3. Place the part U_X directly on U_Y in some way, i.e., find an isomorphism f \colon U_X \to U_Y and let the two parts stick together.
  4. The resulting object is (X \sqcup Y)/{\langle x \sim f(x) \rangle}.

Rendered by QuickLaTeX.com

    \[\downarrow\]

Rendered by QuickLaTeX.com

How about when there are multiple objects? Suppose we have a collection of objects (X_i)_{i \in I}, and we wish to glue them together. To do so, we must prescribe how object i glues with object j, that is, for each pair (i, j) \in I \times I we must prescribe a part U_{i,j} of X_i, a part V_{i,j} of X_j, and an isomorphism \alpha_{i,j} \colon U_{i,j} \to V_{i,j}.

Furthermore, the prescription must satisfies the following conditions in order for it to make sense:

  1. U_{i,j} = V_{j,i} and \alpha_{i,j} = \alpha_{j,i}^{-1} for all i, j \in I (and so we can discard the data of V_{i,j} entirely, i.e., just prescribe (U_{i,j})_{i,j \in I} and (\alpha_{i,j} \colon U_{i,j} \to U_{j,i})_{i,j \in I}).
  2. \alpha_{i,j}^{-1}(U_{j,k}) \subseteq U_{i,k} and \alpha_{j,k} \circ \alpha_{i,j} = \alpha_{i,k} on \alpha_{i,j}^{-1}(U_{j,k}), for each i, j, k \in I.

And then the glued space is (\coprod_{i \in I} X_i)/{\langle x \sim \alpha_{i,j}(x) \colon x \in U_{i,j}; i, j \in I \rangle}.

The main idea of the second condition is the cocycle condition which is stated generally as \alpha_{j,k} \circ \alpha_{i,j} = \alpha_{i,k}. The gluing mechanism above is a helpful tool to define varieties obtained by gluing affine varieties.

We now go back to our situation of a category fibered in groupoids \substack{X\\\pi\downarrow\\\mathfrak{S}} and proceed similarly about gluing objects. Suppose a Grothendieck topology J is prescribed on \mathfrak{S} and is fixed throughout the situation. We also assume that the category \mathfrak{S} admits fiber products.

Definition (Descent data). A descent datum for X over S \in \operatorname{Obj}(\mathfrak{S}) consists of the following data:

  1. A covering family \{S_i \xrightarrow{f} S\}_{i \in I} in \mathfrak{S} (with respect to J).
  2. A collection (E_i)_{i \in I} of objects in X such that for each i \in I, \pi(E_i) = S_i.
  3. A collection of isomorphisms (\alpha_{i,j} \colon E_i | S_{i,j} \to E_j | S_{i,j})_{i, j \in I} such that \pi(\alpha_{i,j}) = \mathrm{id}_{S_{i,j}} for each i, j \in I and such that this collection satisfies the cocycle condition \alpha_{i,k} = \alpha_{j,k} \circ \alpha_{i,j} over S_{i,j,k}, where we define S_{i,j} := S_i \times_S S_j as the fiber product, and S_{i,j,k} := S_i \times_S S_j \times_S S_k similarly.

We say that a descent datum is effective if it glues successfully, i.e., if there exists E \in \operatorname{Obj}(X) such that \pi(E) = S together with isomorphisms (\alpha_i \colon E | S_i \to E_i)_{i \in I}, each morphism \alpha_i mapping to \mathrm{id}_{S_i} by \pi, such that \alpha_{i,j} = (\alpha_j | S_{i,j}) \circ (\alpha_i | S_{i,j})^{-1} for each i, j \in I.

Isomorphisms being a sheaf

At this point everyone knows what is a sheaf. But now we can talk about our situation of a category fibered in groupoids \substack{X\\\pi\downarrow\\\mathfrak{S}} and talk about objects E', E of X over the same fiber S, i.e. \pi(E') = \pi(E) = S. Suppose we partially know that E' \to E is isomorphic over each piece S_i, and we also know that the pieces S_i‘s cover S, then the sheaf property is precisely that this glues to a unique isomorphism E' \to E over S. We give a formulation in the following.

Definition (Isomorphisms are a sheaf). Let \substack{X\\\pi\downarrow\\\mathfrak{S}} be a category fibered in groupoids and let J be a Grothendieck topology for \mathfrak{S}. We say that isomorphisms are a sheaf for X if, for any S \in \operatorname{Obj}(\mathfrak{S}) and any E', E \in \operatorname{Obj}(X) with \pi(E') = \pi(E) = S, for any covering family \{S_i \to S\}_{i \in I} with respect to J, and for every collection of isomorphisms (\alpha_i \colon E' | S_i \to E | S_i)_{i \in I} with \pi(\alpha_i) = \mathrm{id}_{S_i} for each i \in I, such that \alpha_i | S_{i,j} = \alpha_j | S_{i,j}, there exists a unique isomorphism \alpha \colon E' \to E in X with \pi(\alpha) = \mathrm{id}_S such that \alpha | S_i = \alpha_i for each i \in I.

Now we’re ready to define a stack (finally!!!).

Definition (Stack). A stack is a category fibered in groupoids \substack{X\\\pi\downarrow\\\mathfrak{S}} with a Grothendieck topology J on \mathfrak{S} such that isomorphisms are a sheaf and every descent datum is effective.

Moduli Stacks

If we have two categories \substack{X\\\pi_X\downarrow\\\mathfrak{S}} and \substack{Y\\\pi_Y\downarrow\\\mathfrak{S}}, then it makes sense to talk about morphisms between them. A morphism from \substack{X\\\pi_X\downarrow\\\mathfrak{S}} to \substack{Y\\\pi_Y\downarrow\\\mathfrak{S}} is a (covariant) functor \mathcal{F} \colon X \to Y commuting with the projections, i.e. making the following diagram commutes (both on objects and on morphisms):

Rendered by QuickLaTeX.com

An isomorphism is a morphism that is also an equivalence of categories.

This allows us to fix \mathfrak{S} and J, and consider the category of stacks over \mathfrak{S} with respect to J. I’ll denote this category by \mathrm{Stk}_{(\mathfrak{S}, J)}.

Now we can revisit the notion of a moduli functor, which is a functor \mathrm{Sch}_{\mathbb{C}}^{\mathrm{op}} \to \mathrm{Sets}.

Recall that we defined h^M \colon \mathrm{Sch}_{\mathbb{C}}^{\mathrm{op}} \to \mathrm{Sets} as X \mapsto \operatorname{Mor}_{\mathrm{Sch}_{\mathbb{C}}}(X, M), and we looked for M so that a specified h is naturally isomorphic to h^M.

Now, we change the definition of a moduli functor (in order to remember the forgotten information during passing into coarse moduli spaces) to be a functor \mathrm{Sch}_{\mathbb{C}}^{\mathrm{op}} \to \mathrm{Groupoids}.

We can now define the notion of a moduli stack. A stack \mathcal{M} \in \operatorname{Obj}(\mathrm{Stk}_{(\mathrm{Sch}_{\mathbb{C}}, \mathrm{Zar})}) is said to be a moduli stack for h if h \cong h^{\mathcal{M}} (natural isomorphism), where the functor h^{\mathcal{M}} \colon \mathrm{Sch}_{\mathbb{C}}^{\mathrm{op}} \to \mathrm{Groupoids} is defined by X \mapsto \operatorname{Mor}_{\mathrm{Stk}_{(\mathrm{Sch}_{\mathbb{C}}, \mathrm{Zar})}}(\mathrm{Sch}_{\mathbb{C}}/X, \mathcal{M}), where the stack \mathrm{Sch}_{\mathbb{C}}/X is the category described by:

  • \operatorname{Obj}(\mathrm{Sch}_{\mathbb{C}}/X) := \{Y \xrightarrow{f} X \colon Y \in \operatorname{Obj}(\mathrm{Sch}_{\mathbb{C}}); f \in \operatorname{Mor}_{\mathrm{Sch}_{\mathbb{C}}}(Y, X)\}.
  • \operatorname{Mor}_{\mathrm{Sch}_{\mathbb{C}}/X}(\substack{Y\\f\downarrow\\X}, \substack{Z\\g\downarrow\\X}) := \{\varphi \in \operatorname{Mor}_{\mathrm{Sch}_{\mathbb{C}}}(Y, Z) \colon g \circ \varphi = f\}.

(i.e. it is what you think it is…)

For reinterpreting “the set of morphisms” into “the groupoid of morphisms”, we define the groupoid to be the category whose objects are the morphisms, and morphisms between objects are 2-morphisms. This is a bit vague and I don’t have enough mastery to get into the details, but the intuition is that in this way the automorphisms and information we usually “forget” when seeing \operatorname{Mor}_{\mathrm{Stk}_{(\mathrm{Sch}_{\mathbb{C}}, \mathrm{Zar})}}(\mathrm{Sch}_{\mathbb{C}}/X, \mathcal{M}) as a set is retained when we see it as a groupoid.

Oftentimes, even if we fail to construct a fine moduli space, we can still construct a moduli stack to represent our moduli functor we’re interested in. I’m still a pure beginner in this topic, and so tomorrow (and beyond) I’ll start attempting to interpret \overline{\mathcal{M}}_{g,n} in terms of stacks and I’ll keep this blog updated whenever I progress learning about stable maps and quantum cohomology!

Comments