We introduced the concept of a moduli space in The Moduli Space of Elliptic Curves, and constructed explicitly the moduli space of elliptic curves, using the methods of complex analysis. In this post, we introduce the concepts of algebraic spaces and stacks, far-reaching generalizations of the concepts of varieties and schemes (see Varieties and Schemes Revisited), that are very useful, among other things, for constructing “moduli stacks“, which are an improvement over the naive notion of moduli space, namely in that one can obtain from it all “families of objects” by pulling back a “universal object”.
We need first the concept of a fibered category (also spelled fibred category). Given a category
, we say that some other category
is a category over
if there is a functor
from
to
(this should be reminiscent of our discussion in Grothendieck’s Relative Point of View).
If
is a category over some other category
, we say that it is a fibered category (over
) if for every object
and morphism
in
, there is a strongly cartesian morphism
in
with
.
This means that any other morphism
whose image
under the functor
factors as
must also factor as
under some unique morphism
whose image under the functor
is
. We refer to
as the pullback of
along
.
Under the functor
, the objects of
which get sent to
in
and the morphisms of
which get sent to the identity morphism
in
form a subcategory of
called the fiber over
. We will also write it as
.
An important example of a fibered category is given by an ordinary presheaf on a category
, i.e. a functor
; we can consider it as a category fibered in sets
.
A special kind of fibered category that we will need later on is a category fibered in groupoids. A groupoid is simply a category where all morphisms have inverses, and a category fibered in groupoids is a fibered category where all the fibers are groupoids. A set is a special kind of groupoid, since it may be thought of as a category whose only morphisms are the identity morphisms (which are trivially their own inverses). Hence, the example given in the previous paragraph, that of a presheaf, is also an example of a category fibered in groupoids, since it is fibered in sets.
Now that we have the concept of fibered categories, we next want to define prestacks and stacks. Central to the definition of prestacks and stacks is the concept known as descent, so we have to discuss it first. The theory of descent can be thought of as a formalization of the idea of “gluing”.
Let
be a covering (see Sheaves and More Category Theory: The Grothendieck Topos) of the object
of
. An object with descent data is a collection of objects
in
together with transition isomorphisms
in
, satisfying the cocycle condition

The morphisms
and the
are the projection morphisms. The notations
and
means that we are “pulling back”
and
from
and
, respectively, to
.
A morphism between two objects with descent data is a a collection of morphisms
in
such that
. Therefore we obtain a category, the category of objects with descent data, denoted
.
We can define a functor
by assigning to each object
of
the object with descent data given by the pullback
and the canonical isomorphism
. An object with descent data that is in the essential image of this functor is called effective.
Before we give the definitions of prestacks and stacks, we recall some definitions from category theory:
A functor
is faithful if the induced map
is injective for any two objects
and
of
.
A functor
is full if the induced map
is surjective for any two objects
and
of
.
A functor
is essentially surjective if any object
of
is isomorphic to the image
of some object
in
under
.
A functor which is both faithful and full is called fully faithful. If, in addition, it is also essentially surjective, then it is called an equivalence of categories.
Now we give the definitions of prestacks and stacks using the functor
we have defined earlier.
If the functor
is fully faithful, then the fibered category
is a prestack.
If the functor
is an equivalence of categories, then the fibered category
is a stack.
Going back to the example of a presheaf as a fibered category, we now look at what it means when it satisfies the conditions for being a prestack, or a stack:
(i)
is a prestack if and only if it is a separated functor,
(ii)
is stack if and only if it is a sheaf.
We now have the abstract idea of a stack in terms of category theory. Next we want to have more specific examples of interest in algebraic geometry, namely, algebraic spaces and algebraic stacks. For this we need first the idea of a representable functor (and the closely related idea of a representable presheaf). The importance of representability is that this will allow us to “transfer” interesting properties of morphisms between schemes such as being surjective, etale, or smooth, to functors between categories or natural transformations between functors. Therefore we will be able to say that a functor or natural transformation is surjective, or etale, or smooth, which is important, because we will define algebraic spaces and stacks as functors and categories, respectively, but we want them to still be closely related, or similar enough, to schemes.
A representable functor is a functor from
to
which is naturally isomorphic to the functor which assigns to any object
the set of morphisms
, for some fixed object
of
.
A representable presheaf is a contravariant functor from
to
which is naturally isomorphic to the functor which assigns to any object
the set of morphisms
, for some fixed object
of
. If
is the category of schemes, the latter functor is also called the functor of points of the object
.
We take this opportunity to emphasize a very important concept in modern algebraic geometry. The functor of points
of a scheme
may be identified with
itself. There are many advantages to this point of view (which is also known as functorial algebraic geometry); in particular we will need it later when we give the definition of algebraic spaces and stacks.
We now have the idea of a representable functor. Next we want to have an idea of a representable natural transformation (or representable morphism) of functors. We will need another prerequisite, that of a fiber product of functors.
Let
be functors, and let
and
be natural transformations between these functors. Then the fiber product
is a functor from
to
, and is given by the formula

for any object
of
.
Let
be functors. We say that a natural transformation
is representable, or that
is relatively representable over
if for every
and any
the functor
is representable.
We now let
be the site (a category with a Grothendieck topology – see also More Category Theory: The Grothendieck Topos) whose underlying category is the category of
-schemes, and whose coverings are given by families of flat, locally finitely presented morphisms. Any etale covering or Zariski covering is an example of this “fppf covering” (“fppf” stands for fidelement plate de presentation finie, which is French for faithfully flat and finitely presented).
An algebraic space over a scheme
is a presheaf

with the following properties
(1) The presheaf
is a sheaf.
(2) The diagonal morphism
is representable.
(3) There exists a scheme
and a map
which is surjective, and etale (This is often written simply as
). The scheme
is also called an atlas.
The diagonal morphism being representable implies that the natural transformation
is also representable, and this is what allows us to describe it as surjective and etale, as has been explained earlier.
An algebraic space is a generalization of the notion of a scheme. In fact, a scheme is simply the case where, for the third condition, we have
is the disjoint union of affine schemes
and where the map
is an open immersion. We recall that a scheme may be thought of as being made up of affine schemes “glued together”. This “gluing” is obtained using the Zariski topology. The notion of an algebraic space generalizes this to the etale topology.
Next we want to define algebraic stacks. Unlike algebraic spaces, which we defined as presheaves (functors), we will define algebraic stacks as categories, so we need to once again revisit the notion of representability in terms of categories.
Let
be a category. A category fibered in groupoids
is called representable if there exists an object
of
and an equivalence
(The notation
signifies a slice category, whose objects are morphisms
in
, and whose morphisms are morphisms
in
such that
, where
).
We give two specific special cases of interest to us (although in this post we will only need the latter):
Let
be a category fibered in groupoids over
. Then
is representable by a scheme if there exists a scheme
and an equivalence
of categories over
.
A category fibered in groupoids
is representable by an algebraic space over
if there exists an algebraic space
over
and an equivalence
of categories over
.
Next, following what we did earlier for the case of algebraic spaces, we want to define the notion of representability (by algebraic spaces) for morphisms of categories fibered in groupoids (these are simply functors satisfying some compatibility conditions with the extra structure of the category). We will need, once again, the notion of a fiber product, this time of categories over some other fixed category.
Let
and
be morphisms of categories over
. The fiber product
is given by the following description:
(1) an object of
is a quadruple
, where
,
,
, and
is an isomorphism in
,
(2) a morphism
is given by a pair
, where
is a morphism in
, and
is a morphism in
such that
and
induce the same morphism
, and
.
Let
be a scheme. A morphism
of categories fibered in groupoids over
is called representable by algebraic spaces if for any
and any
the category fibered in groupoids

over
is representable by an algebraic space over
.
An algebraic stack (or Artin stack) over a scheme
is a category

with the following properties:
(1) The category
is a stack in groupoids over
.
(2) The diagonal
is representable by algebraic spaces.
(3) There exists a scheme
and a morphism
which is surjective and smooth (This is often written simply as
). Again, the scheme
is called an atlas.
If the morphism
is surjective and etale, we have a Deligne-Mumford stack.
Just as an algebraic space is a generalization of the notion of a scheme, an algebraic stack is also a generalization of the notion of an algebraic space (recall that that a presheaf can be thought of as category fibered in sets, which themselves are special cases of groupoids). Therefore, the definition of an algebraic stack closely resembles the definition of an algebraic space given earlier, including the requirement that the diagonal morphism (which in this case is a functor between categories) be representable, so that the functor
is also representable, and we can describe it as being surjective and smooth (or surjective and etale).
As an example of an application of the ideas just discussed, we mention the moduli stack of elliptic curves (which we denote by
– the reason for this notation will become clear later). A family of elliptic curves over some “base space”
is a fibration
with a section
such that the fiber
over any point
of
is an elliptic curve with origin
.
Ideally what we want is to be able to obtain every family
by pulling back a “universal object”
via the map
. This is something that even the notion of moduli space that we discussed in The Moduli Space of Elliptic Curves cannot do (we suggestively denote that moduli space by
). So we need the concept of stacks to construct this “moduli stack” that has this property. A more thorough discussion would need the notion of quotient stacks and orbifolds, but we only mention that the moduli stack of elliptic curves is in fact a Deligne-Mumford stack.
More generally, we can construct the moduli stack of curves of genus
with
marked points, denoted
. The moduli stack of elliptic curves is simply the special case
. Aside from just curves of course, we can construct moduli stacks for many more mathematical objects, such subschemes of some fixed scheme, or vector bundles, also on some fixed scheme.
The subject of algebraic stacks is a vast one, as may perhaps be inferred from the size of one of the main references for this post, the open-source reference The Stacks Project, which consists of almost 6,000 pages at the time of this writing. All that has been attempted in this post is but an extremely “bare bones” introduction to some of its more basic concepts. Hopefully more on stacks will be featured in future posts on the blog.
References:
Stack on Wikipedia
Algebraic Space on Wikipedia
Fibred Category on Wikipedia
Descent Theory on Wikipedia
Stack on nLab
Grothendieck Fibration on nLab
Algebraic Space on nLab
Algebraic Stack on nLab
Moduli Stack of Elliptic Curves on nLab
Stacks for Everybody by Barbara Fantechi
What is…a Stack? by Dan Edidin
Notes on the Construction of the Moduli Space of Curves by Dan Edidin
Notes on Grothendieck Topologies, Fibered Categories and Descent Theory by Angelo Vistoli
Lectures on Moduli Spaces of Elliptic Curves by Richard Hain
The Stacks Project
Algebraic Spaces and Stacks by Martin Olsson
Fundamental Algebraic Geometry: Grothendieck’s FGA Explained by Barbara Fantechi, Lothar Gottsche, Luc Illusie, Steven L. Kleiman, Nitin Nitsure, and Angelo Vistoli