Introduction to Stacks

Today I went to a talk by David Nadler which was titled “Introduction to Stacks”. The idea was to motivate the definition of a stack and give some examples, without actually defining everything rigorously. Despite having read a fair bit about stacks and going to a couple of talks, I found his presentation quite enlightening for the following reasons:

  • It struck a good balance between not drowning the audience in a pool of functorial abstraction, and providing enough intuition to enable one to work out the details if sufficiently motivated.
  • It focused on the bare bones essence of the subject, which made it clear that stacks are a general framework that can be applied to many parts of mathematics.


The overarching pedagogical metaphor was based on a typical introduction to manifolds. When introducing manifolds, it is necessary to first explain the local picture which of course is \mathbb{R}^n. In addition to being the atom from which all other manifolds are constructed, it is a manifold worth of study in it’s own right. After getting familiar with this example, the next step is to explain how these local pieces can be stitched together to form the atlas of a manifold.

Finally, we can step back and notice that one big advantage of manifolds is that they allow us to talk about spaces with a specific local structure, without having to actually provide a collection of local objects and the manual for gluing them together. This has obvious practical advantages, but the conceptual benefits are arguably greater still. Take for example the sphere. There are many ways to build it from a collection of linear spaces, but intuitively, these constructions should be different facets of the same object. I.e, the notion of a sphere should not depend on the specific way in which we choose to construct it. Manifolds such as the sphere have the important property that they exist as topological spaces independently of their construction, and thus allow us to rigorously compare the various ways in which they can be assembled.

Each of these steps formally requires many layers of details, but it’s possible to attain an intuitive understanding, and even a working knowledge, with a more parsimonious exposition. For example, it’s easy to get a feeling for \mathbb{R}^2 without rigorously defining the real line and products of sets. Similarly, it’s possible to explain the gluing of local data and the ambiant topological space without formally defining topological spaces, homeomrphisms and diffeomorphisms.

We’ll take a similar approach in our introduction to stacks. This time, the local picture comes in the form of a groupoid so we’ll spend some time getting an intuitive feel for these objects and explicitly working out a couple of key examples. A stack can be constructed from a collection of groupoids, but exists abstractly as a certain type of functor which plays the role of the topological spaces in the manifold analogy.


Enough with the philosophy – let’s start by understanding what groupoids are and what they’re used for. In order to describe a groupoid, we first have to decide which category w’re working in. Let’s denote this category by \mathcal{C}. A groupoid is a pair of objects X_0 and X_1 in ob(\mathcal{C}), and a pair of morphisms:


We think of the object X_1 as parameterizing a collection of elements, and of the object X_0 as parameterizing a collection of morphisms between these elements. The map s intuitively takes a morphism to the element that is it’s source, and the map t takes a morphism to it’s target.

We would of course like this data to actually behave like a collection of elements and morphisms, so we introduce a map c


that tells us how to take two morphisms and produce a third. The fiber product X_0\times_{X_1}X_0 is taken with the left map being X_0\xrightarrow{s}X_1 and the right map being X_0\xrightarrow{t}X_1. This insures that the target of the first map is equal to the source of the second map which is a natural assumption to make when composing maps.

In addition, we would like all of our morphisms to have inverses, which we formally enforce by introducing a third map


which intuitively sends each morphism to its inverse. Finally, we have a map


which is supposed to send each element in X_1 to an identity map. Of course, we must formally write down conditions involving these maps that guarantee that they behave as we expect, but this is an easy and boring exercise in drawing commutative diagrams.

Following the analogy to atlases of manifolds, we would like to think of elements in X_1 as being components of an atlas, and of X_0 as the gluing data of the atlas.

Let’s see some examples of this definition in action.

  • Groups The simplest category is \textbf{Set}, so this is the category that we’ll use in the first example. Let G be a group, which is in particular an object in \textbf{Set}. To represent G as a groupoid, we can set X_0=G and X_1=\{pt\}. In this case, the morphisms s and t are the unique maps from G to a point so they are completely uninteresting. On the other hand, the composition map G\times G\xrightarrow{c}G is the group multiplication, the inverse maps G\xrightarrow{i}G sends an element of G to it’s inverse, and the map \{pt\}\xrightarrow{e}G sends the point to the identity element of G.
  • Group Actions We now move onto a similar, but less trivial example which will hopefully be more illuminating as well. As before, we’ll stay in the category of sets. Let G be a group and X a set that it acts on. We can use this group action to construct a groupoid in the following manner. First of all, we set X_0=X\times G and X_1=X. Unlike the previous example, the morphisms s and t now play an important role. We define X\times G\xrightarrow{s}X to be the projection onto X and X\times G\xrightarrow{t}X to be the map sending (x,g) to g\cdot x. It isn’t hard to work out the correct definitions of c, i, and e.
  • The Projective Plane One reason that we like groupoids is that they provide a framework that formalizes what it means to glue together elements of a category along identifying maps. In this example, we’ll work in the category in which you like to think of the complex projective place \mathbb{CP}^1. For example, we could work in the category of schemes. As we know, one way to define the projective plane is to start with two copies of the affine line \mathbb{A}^1_{\mathbb{C}}, and glue them together. Let A_0 be the copy containing 0, and let A_\infty be the one containing infinity. Furthermore, we define G_0=A_0\setminus{0} and G_\infty =A_\infty\setminus{\infty}. Following the usual construction, we glue A_0 and A_\infty by identifying G_0 to G_\infty via the map 1/z. In other words, we have a map G_0\xrightarrow{\alpha}G_\infty and its inverse \beta.

    We will now define a groupoid which captures the data in this gluing process. For starters, the elements that we would like to map to one another are the points of A_0 and A_\infty so we define the scheme X_1 to be the disjoint union of these two spaces:

    X_1=A_0\coprod A_\infty

    We now need to find a scheme X_0 that parameterizes our gluing maps. We claim that the following scheme does the job:

    X_0=A_0\coprod A_\infty \coprod G_0 \coprod G_\infty

    Indeed, the A_0 component represents the identity maps for the points in A_0 as we would clearly like to identify points to themselves. A_\infty plays the same role. The points of G_0 represent the maps from the points in G_0 to the points in G_\infty. In other words, this part of X_0 tells us how to identify G_0\subset A_0 with G_\infty\subset A_\infty. The component G_\infty plays the same role in the other direction. It is easy to formalize this by defining the source and target maps. For example, s will send a point in G_0\subset X_0 to the corresponding point in G_0\subset A_0\subset X_1 and t will send a point a\in G_0\subset X_0 to \alpha(a)\in G_\infty\subset A_\infty\subset X_1.

    While reading this example you may have been bothered by the following objection. Instead of fooling around with affine lines and gluing maps, why couldn’t we have simply taken both X_0 and X_1 to be \mathbb{P}^1 itself, which is surely a perfectly legitimate scheme, and set the source and target maps to be the identity morphisms? The answer is that this indeed would have been a perfectly good groupoid, and in general, there is typically more than one groupoid that intuitively corresponds to an object that we are interested in. The quest to tie these various groupoids into a slick coordinate free package is what will lead us to notion of a stack.

    Furthermore, this example showcases the analogy between groupoids and atlases of manifolds.


    Paraphrasing David Nadler, a groupoid is a stack together with a choice of an atlas.

    As in the example of the projective plane, there may be multiple ways of constructing a groupoid that encodes a structure of interest. How can we unify these constructions into a single unified object? In other words, what are the abstract properties of groupids which allow us to declare when two of them are the “same”?

    We turn to the land of manifolds for inspiration. As Grothendeick realized, instead of studying a manifold directly, it is sometimes convenient to study the functor of points that it induces on the category of topological spaces. In other words, we may associate to an atlas \mathcal{A} of a manifold M the functor


    which sends a topological space X to \textrm{Maps}(X,\mathcal{A}). This last set is the set of maps from X to M that factor through the atlas. Explicitly, to get such a map we cover X by a collection of open subsets and map them to the components of the atlas such that the obvious compatibility conditions are satisfied. We thus end up with a map of topological spaces from X to the manifold.

    The advantage is that different choices of an atlas on M will still induce the same functor of points. In other words, they will allow the same maps from a given topological space. This extra level of abstraction provides us with an intrinsic object that is independent of our particular construction of the manifold.

    In fact, we could reverse this process isolate a list of properties shared by functors of the form h_\mathcal{A} for an atlas \mathcal{A}, and define a manifold to be a functor from \textbf{Top} to \textbf{Set} which satisfies these properties. Of course, isolating these properties may be difficult, but the payoff would be a completely coordinate free definition of a manifold in terms of that ways in which topological spaces can map to it.

    The idea in the case of groupoids is similar. As before, we first must fix a category \mathcal{C}. Given a groupoid G=(X_0,X_1,s,t,c,e,i), we can define a functor


    where, somewhat confusingly, \textbf{Groupoid} is the category of groupoids taken in the category of sets (otherwise just known as “groupoids”), not in the category \mathcal{C}.

    The functor h_G associates to an object C\in\mathcal{C} the groupoid with


    and where the maps s', t' etc… are the naturally induced maps. Notice the similarity with the manifold case. In order to make the comparison more evident, consider the groupoid in example of the projective plane. In that case, X_1=A_0\coprod A_\infty and so \textrm{Maps}(C,X_1) can be viewed as maps to our chosen cover. The other groupoid conditions tell us about the compatibility required for this to induce a map to \mathbb{P}^1.

    In this construction, we’ve swept one detail under the rug. Notice that if we take for example our object to be \mathbb{P}^1 itself, then the identity map from \mathbb{P}^1 to \mathbb{P}^1 does not factor through X_1=A_0\coprod A_\infty. So to get all of the maps we need, we have to “sheafify” the functor h_G. I.e, we have to add elements that appear if we cover our object C\in\mathcal{C} by a sufficiently fine cover. This is entirely analogous to what happens in the manifold case.

    Even our first (and somewhat trivial) example of a groupoid gives us an interesting functor. Recall that in that example, we had X_0=G and X_1=\{pt\}. In that situation, X'_1=\textrm{Maps}(C,\{pt\}) isn’t interesting, but X'_0=\textrm{Maps}(C,G), together with the composition, inverse and identity maps, give us the data of a sections of a G-bundle on C.

    As with manifolds, we would now like to define a stack to be a functor from \mathcal{C} to \textbf{Groupoid} which is “similar” to a functor of the form h_G for some groupoid G. However, given the nature of this exposition, we wont’t go into the details of the meaning of the word “similar”. On the other hand, I do think that it is instructive to try to get a feel for what such a functor should look like. For starters, the functor of points of an actual object in \mathcal{C} is of this form. More generally, given an equivalence relation on an object, it is easy to see that we can use it to construct a functor that is of the form h_G for a groupoid G, even if the quotient may not exist as an object in our category. So whatever “similar” means, they will at the very least allow us to describe quotients of objects by various relations. This is extremely useful in categories such as schemes where constructing quotients is typically hard, or even impossible.

Posted in Exposition | Tagged , | 1 Comment

Whitney Stratifications

Stratifications have been coming up a lot recently, and I finally decided to read Mather’s Notes on Topological Stability in the hope of obtaining a more concrete understanding.

In this post I’ll try to give a motivation for Whitney stratifications, and an overview of the key insights.

In the world of manifolds, our absolute understanding of the local picture frequently allows us to translate differential information into topological information. A basic example is the inverse function theorem and it’s many corollaries. As a concrete example, consider Ehresmann’s fibration lemma:

Theorem: (Ehresmann)
Let M\rightarrow{f}N be a proper submersion of manifolds. Then f is locally a trivial fibration.

The idea is that if we start at any point p in N and choose a vector v\in T_{p}N, then we can lift this vector to a vector field on the fiber M_p. We can then use Picards theorem on the existance of unique solutions to ODE’s to lift an open ball B around p to a neighborhood of M_p which is homeomerphic to M_p\times B. I will refer to this as the “Ehresmann argument”.

Now, the question is how to generalize these ideas so possibly singular subsets of a manifold. For example, let S be some closed subset of a manifold M and let M\rightarrow{f}N be a proper submersion. When is f|_{S}:S\rightarrow N a proper submersion?

As an example where this fails, let M=\mathbb{C}^3 and S be the Whitney cusp as pictured below:

Whitney cusp

We can look at this of a degeneration of a family of nodes to a cusp, parameterized by N=\mathbb{C}. Let f be the projection map from M to N. The restriction to S is clearly not locally a fibration since one of the fibers is a cuspidal curve while the others are nodal curves.

If we try to run the “Ehresmann argument” on S, we see that the problem occurs while trying to lift tangent vectors ot the origin of N to the fiber which is a cusp. Another way of saying this is that there is no smooth way to wiggle the cusp around in the family.

Whitney tries to circumvent this with the following idea. First, break up S into a disjoint union of smooth manifolds (strata). On each of these manifolds, we know that the Ehresmann argument goes through. The difficulty now lies in the way that these manifolds lie in relation to one another. Inspired by the above, we would like some condition that would ensure that for each pair of strata (X,Y) with X\subset\overline{Y}\setminus Y, there is a unique way of “wiggling” X into Y. Because if we had this, then we would make local arguments on each strata and then glue them together by relying on the above property.

The condition that Whitney came up with is the following. It is called “Whitney condition (b)”, and it implies a simpler one called “Whitney condition (a)”.

Whitney Condition (b): We say that a pair (X,Y) satisfies the Whitney condition (b) at a point y\in Y if the following condition holds. Let \{x_i\} be a sequence of points in X converging to y\in Y and \{y_i\} a sequence in Y, also converging to y. Suppose the lines (x_i,y_i) converge to a line l\in \mathbb{P}T_{y}M and the sequence of tangent spaces T_{x_i}X converges in the appropriate Grassmanian to a plane \tau\subset T_{y}M. Then l\subset\tau.

Before we continue, you may be wondering what it means to talk about the “line” (x_i,y_i). If x_i and y_i are in a vector space then this is just the line spanned by the points. But what does this mean for two points on a manifold and in what sense does it converge to a line in \mathbb{P}T_{y}M?

The cleanest way to define this seems to be with a blowup construction. Let B be the blowup of M\times M are the diagonal \Delta. Then, B is naturally the disjoint union of M\times M \setminus \Delta and the exceptional divisor E\cong\mathbb{P}TM. Then, the when we say that the lines (x_i,y_i) converge to a line l\in \mathbb{P}T_{y}M, we mean that the sequence of points \{(x_i,y_i)\}\in B converges to the point l\in E.

A Whitney stratification of a subset S of a manifold M is a cover of S by pairwise disjoint smooth manifolds \mathcal{S}=\{X_i\} (the strata) such that:

  • locally finite Each point of M meets only finitely strata.
  • frontier condition For each stratum X, it’s frontier \overline{X}\setminus X is a union of strata.
  • Whitney condition Each pair of strata (X,Y) satisfy the Whitney condition (b) at all points of Y.

Now, what is the motivation for such a definition? One way to see it is to look at where it fails for the Whitney cusp. Suppose we tried to stratify the Whitney cusp S by the pair (X,Y) where Y is the line running through the nodal and cuspidal singularities and X=S\setminus Y. We will see that this pair is not a Whitney stratification.

Consider the sequence of points \{x_i\} in X drawn as blue dots in the image below, the sequence \{y_i\} in Y drawn as red points and the black point y\in Y.


Clearly, both sequences converge to y. In addition, the black lines show the lines (x_i,y_i). However, the limit of the tangent spaces of the points \{x_i\}, whose cross sections are the thin blue lines in the picture, and the limit of the black lines (x_i,y_i) are orthogonal. Thus, the Whitney condition (b) is not satisfied at y.

With a little imagination, we can see that the “collapse of this black line” is a symptom of the inability to wiggle the cupidal curve inside our family of curves.

With this in mind, the intuition behind the Whitney condition is that if forces a strata X to have neighborhood in S which is nice enough to allow us to move it freely. This can be stated formally in terms of what Mather calls “control data”, which, roughly speaking, says that given a Whitney stratification \mathcal{S} and a pair of strata Y\subset\overline{X}\setminus X, Y has a neighborhood in X which can be retracted in a controlled way onto Y.

We can now state Thom’s generalization of the Ehresmann fibration theorem.

Theorem: (Thom’s First Isotopy Lemma)
Let M\rightarrow{f}N be a map of smooth manifolds and let S\subset M be a subset of M which admits a Whitney stratification \mathcal{S}. Furthermore, suppose that for each stratum X\in\mathcal{S}, f|_{X}:X\rightarrow N is a proper submersion. Then f|_{S}:S\rightarrow N is a local fibration.

In order to get a feel for this theorem, let’s go back to the example we started with of Whitney cusp S embedded in M=\mathbb{C}^3, together with the projection M\rightarrow{f}N=\mathbb{C}. As before, we think of S as a family of curves parameterized by N. In this case, we saw that f|_{S}:S\rightarrow N is not a local fibration.

Suppose we tried to construct a Whitney stratification of S. One way to do this would be to take X_1 as the cuspidal singularity, X_2 as the cusp minus X_1, and X_3 as the rest of S. In this case, the map f|_{X_2}:X_2\rightarrow N is clearly not a submersion, so the hypotheses of Thom’s lemma do not hold. In fact, we see by the lemma that for any Whitney stratification of S, one of the strata will not submerge onto N.

Posted in Exposition | Tagged , , , | 1 Comment

Macphearson’s Chern Class

In this post we’ll follow Macphearson’s paper Chern Classes for singular algebraic varieties

In Fulton’s intersection theory, one of the basic constructions is a natural transformation

Z_{*}X\rightarrow A_{*}X

which maps a cycle to it’s rational equivalence class. A different way of looking at this is as a map from constructible functions to A_{*}X. Because by definition, CF(X) is the group of functions generated by the characteristic functions 1_{W} for subvarieties $V\subset $.

The essential properties of the functor CF are captured by the following proposition:

There is a unique covariant functor CF from compact complex algebraic varieties to abelian groups whose value on a variety is the group of constructible functions from the variety to the integers and whose value on a map f satisfies:

f_{*}(1_{W})(p) = \chi(f^{-1}(p)\cap W)

Where \chi denotes the topological Euler characteristic.

Now, we can associate to each smooth variety X a natural homology class by taking the Poincare dual of the total chern class of it’s tangent bundle. Our primary goal is to generalize this construction to arbitrary varieties. Macphearson accomplishes this by proving the following theorem.

There exists a natural transformation c_* from CF to homology which, on a smooth variety X, takes the constant function 1 to the Poincare dual of the total chern class of X.

Given the theorem, we can define the chern class of a variety V to be c_{*}(1_{V}).

One useful trick that Macphearson uses is the following application of resolution of singularities. Let \alpha be a constructible function on V. By a successive resolution of singularities of the support of \alpha, we can find integers k_i and maps g_i from smooth varieties X_i to V such that

\alpha =  \sum k_i g_{i*}(1)

By combining this trick with the projection formula for homology, we can reduce many statements about c_* to the case where the ambiant variety is smooth and the function is the identity.

The two main tools in the construction of c_* are the Mather class and the Euler obstruction

The Mather class

The Mather class attempts to solve the same problem as the Macphearson class. On the one hand, it manages to define a class which reduces to the chern class on smooth varieties. However, it fails to be functorial under pushforward. In some sense, the Macphearson class can be seen as an attempt to fix this failure. It does this by carefully breaking up a variety into pieces and applying the Mather class to each piece, together with integer weights.

The idea of the Mather class is fairly straightforward. Given a singular variety V, we embed it in a smooth variety N and use the tangent bundle TN to construct a natural bundle on V that agrees with the tangent bundle on the smooth part of V. We then take the chern class of this new bundle.

We do this as follows. Let v be the dimension of V and n the dimension of N. Over the smooth part of V there is a natural section of G_v(TN), the grassmanian of v-hyperplanes in TN, given by the tangent space of V. The Nash blowup \hat{V} of V is defined to be the closure of the image of this section. It comes equipped with a map \nu:\hat{V}\rightarrow V and a natural bundle TV\rightarrow\hat{V} given by the restriction of the tautological bundle on the grasmanian. We can then define the Mather class as:

c_M(V) = \nu_{*}(c(TV)\cap[\hat{V}])

It is important to note that the Mather class can be calculated in this way using any proper resolution \nu:\hat{V}\rightarrow V with a subbundle TV \subset \nu^{*}TN which, over the smooth part of V, agrees with the pullback of the tangent bundle of V. One way to see this is to note that any two such resolutions are dominated by a third. So when comparing the resolutions X\rightarrow V and Y\rightarrow V, we can assume that we’re in the situation X\rightarrow Y\rightarrow V such that the bundle on X is the pullback of the bundle on Y. We then apply the projection formula for proper maps.

The Euler obstruction

The Euler obstruction will give us a new way to associate a constructible function to a variety V. The naive approach is to take the function V and this is equal to the Euler obstruction when V is smooth. However, when V is singular, the Euler obstruction gives better information about the singularities.

As before, let \nu:\hat{V}\rightarrow V be the Nash blowup. Let (z_1,\dots,z_n) be coordinates around a point p in N. Let f be the real valued function z_1\bar{z_1}+\dots +z_n\bar{z_n}. Then df is a section of T^{*}N which pulls back to give us a section r:\hat{V}\rightarrow T^{*}V.

Lemma: For small \epsilon, r is nonzero over \nu^{-1}(z) for 0<f(z)\leq\epsilon.

The proof of the theorem uses Whitney stratification.

Now, let B_{\epsilon} be the \epsilon-ball around p and S_\epsilon the \epsilon-sphere. We thus have a non-zero map r:\nu^{-1}S_{\epsilon}\rightarrow T^{*}V which we can think of as a map to the corresponding sphere bundle. By chapter 4.3 in Hatcher, the obstruction to lifting this map to a map from \nu^{-1}B_{\epsilon}, which we'll denote Eu(T^{*}V,r), lies in the cohomology group H^{v}(\nu^{-1}B_{\epsilon}, \nu^{-1}S_{\epsilon}; \mathbb{Z}). By the theory in Hatcher, the group of coefficients in this case is \pi_v of the sphere bundle of the rank v bundle T^{*}V which is why we get \mathbb{Z}.

Let \mathcal{O}_{(\nu^{-1}B_{\epsilon},\nu^{-1}S_{\epsilon})} denote the orientation class of the pair. Then we can the define the value of the Euler obstruction at p to be:

Eu_{p}(V) = \langle Eu(T^{*}V,r), \mathcal{O}_{(\nu^{-1}B_{\epsilon},\nu^{-1}S_{\epsilon})}\rangle

Using this function, we can define a map T from algebraic cycles to constructible functions on V by defining:

T(\sum n_i V_i)(p) = \sum n_i Eu_{p}(V_i)

The Main Result

We now have enough machinery to define the Macphearson class. Symbolically, we define c_{*} = c_{M}\circ T^{-1}. In other words,


As we remarked earlier, the analogous mapping of the Mather class is c_{M}(1_V)=c_{M}(V) which is equivalent to c_{*} when V is smooth since in that case V=\hat{V} and so Eu(V)=1_V. However, when V is singular, Eu(V) carries additional information about the singular strata and this is what grants c_* it’s power and functoriality.

So we now want to prove that given a proper map X\rightarrow Y, c_M T^{-1}f_{*} = f_{*}c_{M}T^{-1}. By the reduction we mentioned above, it will be enough to prove this in the case that X is smooth and the constructible function is the identity. Since is in this case c_{M}T^{-1}(1)=c(X)\cap[X], we need to show that

f_{*}(c(X)\cap[X]) = c_{M}(T^{-1}(f_{*}(1)))

By using the definitions of T and f_{*}(1), it will suffice to find an algebraic cycle \sum n_{i}V_{i} on Y such that

  1. f_{*}(c(X)\cap[X]) = \sum n_{i}c_{M}(V_i)
  2. \chi f^{-1}(p) = \sum n_i Eu_p(V_i)

Interestingly, we’ll first obtain the cycle \sum n_{i}V_{i} by a completely separate construction, and then show that it satisfies 1 and 2.

Before we do this, note that 1 tells us that we can write the pushforward of the chern class of X using canonically defined classes on Y which a priori have nothing to do with $X$. This fact is interesting in it’s own right and does not require any of the Euler obstruction machinery.

Posted in Uncategorized | Leave a comment

Protected: Question About Segre Classes

This content is password protected. To view it please enter your password below:

Posted in Question | Tagged , , , | Enter your password to view comments.