Miika Rankaviita

Guide to constructing the Hilbert Schemes

22/02/2026

Some time ago I finally decided to sit down and work through the details of constructing the Hilbert schemes of projective schemes. I figured it would be nice to try to write down some kind of a "road map" for the construction and that is what I will attempt here.

To be clear, the point of this post is not to go into the details of the construction, as there are enough excellent expositions of it written by actual experts. I myself followed the brilliant article titled Elementary introduction to representable functors and Hilbert schemes by Stein Strømme. János Kollár's book Rational Curves on Algebraic Varieties also has a very well written account of the construction. Jarod Alper's notes on moduli theory are highly recommended, too.

The point in this post is instead to try gaining the big picture view by naming the main ingredients that go into the construction and giving a quick overview of how the different pieces fit together. I will also describe the Hilbert schemes of hypersurfaces, which I hope will help with gaining intuition for the steps in the general construction.

What is the Hilbert scheme?

Informally, the Hilbert scheme HilbX\mathrm{Hilb}_X of a scheme XX is a parameter space, whose (geometric) points correspond to closed subschemes ZXZ\subseteq X. This is expressed formally by describing the functor of points of HilbX\mathrm{Hilb}_X. But in order to avoid a parameter space of infinite type, we first break the Hilbert scheme into pieces HilbXP\mathrm{Hilb}_X^P, where P[t]P\in\mathbb{Q}[t] is an integer valued polynomial that dictates what the Hilbert polynomial of a subscheme [Z]HilbXP[Z]\in\mathrm{Hilb}_X^P is. We also pass to the relative setting, where we consider XX as a scheme over some base scheme SS. Thus, we define the functor HilbX/SP:S-𝐒𝐜𝐡𝐒𝐞𝐭HilbX/SP(T)={flat family f:ZTembedded in X|the geometric fibres of fhave Hilbert poly p}.\begin{gather*} \mathrm{Hilb}_{X/S}^P\colon S\textbf{-Sch}\to\mathbf{Set}\\ \mathrm{Hilb}_{X/S}^P(T) =\left\{ \substack{\text{flat family }f\colon Z\to T\\ \text{embedded in $X$}} \,\Bigg|\, \substack{\text{the geometric fibres of $f$}\\ \text{have Hilbert poly $p$}} \right\}. \end{gather*} We say a flat morphism f:ZTf\colon Z\to T is a flat family embedded in XX, when there is a closed embedding ZT×XZ\hookrightarrow T\times X such that the below triangle commutes. \begin{tikzcd} Z\arrow[r,hook]\arrow[d,"f"&39;]&T\times X\dlar{\mathrm{pr}}\\T& \end{tikzcd} Finally, we are ready to state the existence claim.

Theorem. For any projective SS-scheme XX and integer-valued polynomial PP, the Hilbert functor HilbX/SP\mathrm{Hilb}_{X/S}^P is representable by a projective scheme of finite type over S.

The representability of functors is rather abstract, but the general theory tells us how to make it more concrete: representability is equivalent to the existence of universal elements in the sense of category theory. In the present context it means the following: Say HilbX/SP\mathrm{Hilb}_{X/ S}^P is represented by an SS-scheme HH. Then, there is a universal family 𝒵H\mathcal{Z}\to H, which is an element of HilbX/SP(H)\mathrm{Hilb}_{X/S}^P(H), such that for any element ZTZ\to T of HilbX/SP(T)\mathrm{Hilb}_{X/ S}^P(T), there exists a unique pullback square \begin{tikzcd} Z\rar\dar\arrow[dr,phantom,very near start,"\lrcorner"] & \mathcal{Z}\dar\\ T\rar & H \end{tikzcd}

Hypersurfaces

Before diving into the general construction, we can look at the case of hypersurfaces as a warm-up. The busy reader can skim this section and move quickly to the following sections. Now, fix X=nX=\mathbb{P}^n and S=SpecS=\mathrm{Spec}\,\mathbb{C}, say. It follows from basic calculations that the Hilbert polynomial of a hypersurface in n\mathbb{P}^n is P(t)=(t+nn)(t+ndn),P(t)=\binom{t+n}n-\binom{t+n-d}n, where dd is the degree of the hypersurface. Conversely, any closed subscheme of n\mathbb{P}^n with this polynomial is a hypersurface of degree dd. Therefore, the closed points of HilbX/SP\mathrm{Hilb}_{X/S}^{P} are precisely the degree dd hypersurfaces.

Now, there is a very explicit way to define a parameter space for degree dd hypersurfaces in n\mathbb{P}^n, which we can prove represents the Hilbert functor: We take the points to be the coefficients of the homogeneous degree dd polynomials in n+1n+1 variables. Since two polynomials define the same hypersurface, if and only if they differ by a constant multiple, we take the parameter space to be the projective space of dimension N1N-1, where N=(n+dn)N=\binom{n+d}{n} is the number of monomials of degree dd in n+1n+1 variables. It is easy to also define a candidate for the universal family, namely 𝒵:={(F,P)N1×n|F(P)=0}.\mathcal{Z}:=\left\{(F,P)\in\mathbb{P}^{N-1}\times\mathbb{P}^n \,\big|\, F(P)=0\right\}.

We can do the construction a bit more concisely, which will help with generalisation. Consider any degree dd hypersurface YnY\subset\mathbb{P}^n. Now, take its closed subscheme exact sequence, twist by dd, and take global sections to obtain a short exact sequence 0H0(n,Y(d))H0(n,𝒪n(d))H0(n,𝒪Y(d))0\to \mathrm{H}^0(\mathbb{P}^n,\mathscr{I}_{Y}(d)) \to \mathrm{H}^0(\mathbb{P}^n,\mathscr{O}_{\mathbb{P}^n}(d)) \to \mathrm{H}^0(\mathbb{P}^n,\mathscr{O}_{Y}(d)) It is easy to see that the global sections of Y(d)\mathscr{I}_Y(d) define a 1-dimensional vector subspace of H0(n,𝒪n(d))\mathrm{H}^0(\mathbb{P}^n,\mathscr{O}_{\mathbb{P}^n}(d)). Conversely, any 1-dimensional vector subspace generates an ideal sheaf of a degree dd hypersurface. Therefore, we set H:=(H0(n,𝒪n(d))).\mathrm{H}:=\mathbb{P}(\mathrm{H}^0(\mathbb{P}^n,\mathscr{O}_{\mathbb{P}^n}(d))). Note that this indeed coincides with the projective space N1\mathbb{P}^{N-1}.

To show that H\mathrm{H} represents HilbX/SP\mathrm{Hilb}_{X/ S}^P, we show that 𝒵H\mathcal{Z}\to \mathrm{H} is a universal family. Thus, fix a flat family f:ZTf\colon Z\to T of hypersurfaces embedded in n\mathbb{P}^n. The aim is to find a morphism φ:TH\varphi\colon T\to \mathrm{H} such that ZZ is the pullback of 𝒵\mathcal{Z}. It is easy to see what this morphism should do to closed points. Given a closed point tTt\in T, we know that φ(t)\varphi(t) should be the projective point with coordinates given by the coefficient of some homogeneous polynomial cutting out the fibre ZtZ_t in the family. Now, we need to show that one can choose these coefficients so that they "vary regularly" as we change the point tt.

Since defining a morphism can be done affine-locally, we can assume T=SpecAT=\mathrm{Spec}\,A for some \mathbb{C}-algebra AA. Now, since the family f:ZTf\colon Z\to T is flat, the scheme ZZ is a hypersurface in n×T\mathbb{P}^n\times T cut out by some polynomial In+1|I|=daIXIA[X0,,Xn],\sum_{\substack{I\subset \mathbb{N}^{n+1}\\ \lvert I\rvert=d}}a_{I}X^I\in A[X_0,\ldots,X_{n}], i.e. a polynomial that is homogeneous of degree dd in the coordinates on n\mathbb{P}^n with coefficients in AA. The coefficients aIa_I can be thought of as regular functions on TT, and if we "evaluate them" at closed points, they give the coefficients of the polynomials cutting out the corresponding fibres in the family. Thus, they define a morphism THT\to \mathrm{H}, whose values at the closed points are exactly what we wanted.

To use fancier language again, we can consider taking the pushforward of the twisting of the closed subscheme exact sequence for Zn×TZ\subset\mathbb{P}^n\times T to obtain 0pr*Z(d)pr*𝒪n×T(d)pr*𝒪Z(d)0,0\to \mathrm{pr}_{\ast}\mathscr{I}_{Z}(d)\to \mathrm{pr}_{\ast}\mathscr{O}_{\mathbb{P}^n\times T}(d)\to \mathrm{pr}_{\ast}\mathscr{O}_{Z}(d)\to0, where pr\mathrm{pr} is the projection n×TT\mathbb{P}^n\times T\to T. While taking pushforwards is not exact in general, it is in this case by cohomology and base change, which is discussed below and which you will meet many times in the course of the proof. Cohomology and base change also tells us that the first map is an inclusion of a line bundle. Then, one obtains from this a morphism φ:TH\varphi\colon T\to \mathrm{H} after noting that the projective space (H0(n,𝒪n(d)))\mathbb{P}(\mathrm{H}^0(\mathbb{P}^n,\mathscr{O}_{\mathbb{P}^n}(d))) represents the functor of such line subbundles. It remains to check that f:ZTf\colon Z\to T is the pullback of the universal family 𝒵H\mathcal{Z}\to \mathrm{H} along φ\varphi. This follows quite directly from two applications of cohomology and base change and I leave it as an exercise.

Ingredients

The proof of the representability uses three ingredients that have names outside of the construction:

  1. Cohomology and base change,
  2. Castelnuovo-Mumford regularity, and
  3. Flattening stratifications.

You can choose to either study them independently before tackling the proof, or taking them as black boxes at first. In any case, I will attempt to give a short description of each ingredient here.

Cohomology and base change

As in the construction in the hypersurface case, we will be considering pushforwards of coherent sheaves on families π:ZT\pi\colon Z\to T. Then, there are two basic questions we need to answer for a fixed coherent sheaf \mathscr{F} on ZZ:

  1. What does the direct image π*\pi_\ast\mathscr{F} look like?
  2. How does the direct image behave under pullback along some UTU\to T?

Cohomology and base change gives answers to these questions. To set things up, suppose we have a pullback square \begin{tikzcd} W\rar{\tilde{\varphi}}\arrow[d,"\tilde{\pi}"&39;] \arrow[dr,phantom,very near start,"\lrcorner"] & Z\dar{\pi} \\ U\arrow[r,"\varphi"&39;] & T \end{tikzcd} of schemes, where π\pi is proper. Then, for any coherent sheaf \mathscr{F} on ZZ, we have the so-called push-pull morphism Φ:φ*(Riπ*)Rπ̃*φ̃*.\Phi\colon \varphi^\ast(\mathrm{R}^i\pi_{\ast}\mathscr{F}) \to \mathrm{R}\tilde{\pi}_{\ast}\tilde{\varphi}^\ast\mathscr{F}. Cohomology and base change gives sufficient conditions for when the higher direct image Riπ*\mathrm{R}^i\pi_{\ast}\mathscr{F} is locally free and the push-pull morphism Φ\Phi is an isomorphism.

Castelnuovo-Mumford regularity

When studying coherent sheaves, we are interested in when their cohomology vanishes. Regularity quantifies this; We say a coherent sheaf \mathscr{F} on n\mathbb{P}^n is mm-regular, if Hi(n,(mi))=0\mathrm{H}^i(\mathbb{P}^n,\mathscr{F}(m-i))=0 for all positive ii. A result of Castelnuovo states that mm-regularity implies mm'-regularity for all mmm'\geq m. Thus, one should imagine tabulating all of the cohomology groups of the twists of \mathscr{F} on a 2-dimensional grid. Then, one can draw a staircase of width m1m-1 and height m1m-1 such that the cohomolgy groups vanish outside it.

The crucial property of mm-regularity for the construction of the Hilbert scheme is the following theorem of Mumford.

Theorem. For any integer-valued polynomial PP, there is m0m_0 such that for all closed subschemes ZnZ\subseteq\mathbb{P}^n with Hilbert polynomial PP, the ideal sheaves Z\mathscr{I}_Z are m0m_0-regular.

Flattening strata

When I heard the name "flattening stratification" for the first time, it sounded scary for some reason. Turns out, it is a very natural concept. Suppose we have a coherent sheaf \mathscr{F} on projective space Sn\mathbb{P}^n_S over some Noetherian scheme SS. To put it crudely, a flattening stratification of \mathscr{F} is a finite "partition" {Si}\{S_i\} of SS by locally closed subschemes such that \mathscr{F} is flat over SiS_i for all ii.

The stratification is constructed using the Fitting ideals of twists of pr*\mathrm{pr}_{\ast}\mathscr{F}. Here is what the Fitting ideals do: They form a sequence 0Fitt0(pr*(m))Fitt1(pr*(m))Fitt2(pr*(m))0\subseteq \mathrm{Fitt}_{0}(\mathrm{pr}_{\ast}\mathscr{F}(m)) \subseteq \mathrm{Fitt}_{1}(\mathrm{pr}_{\ast}\mathscr{F}(m)) \subseteq \mathrm{Fitt}_{2}(\mathrm{pr}_{\ast}\mathscr{F}(m))\subseteq\cdots of ideals defined by taking minors of a presentation of pr*(m)\mathrm{pr}_{\ast}\mathscr{F}(m). These define a corresponding chain of subschemes of SS. If we define subschemes Sm,iS_{m,i} by taking differences of consecutive subschemes in the chain Sm,i=V(Fitti(pr*(m)))\V(Fitti+1(pr*(m))),S_{m,i}=V(\mathrm{Fitt}_{i}(\mathrm{pr}_{\ast}\mathscr{F}(m))) \setminus V(\mathrm{Fitt}_{i+1}(\mathrm{pr}_{\ast}\mathscr{F}(m))), then pr*(m)\mathrm{pr}_{\ast}\mathscr{F}(m) restricts to a locally free sheaf of rank ii on Sm,iS_{m,i}. In conclusion, we can stratify SS by subschemes, where \mathscr{F} becomes flat by startifying it into subschemes, where these twists become locally free.

The general construction

Having named the ingredients, we are ready to move onto the road map for the general construction. We will specialise right away to the case X=nX=\mathbb{P}^n_{\mathbb{Z}} and S=S=\mathbb{Z}, since it is not hard to reduce the general statement to this special case. The general construction has similarities with the construction in the case of hypersurfaces. This time, instead of identifying subschemes of XX by points in some projective space, we identify them with the points in some Grassmannian. Here is the broad overview.

  1. Construct a morphism from the Hilbert scheme into a Grassmannian
  2. Show that the morphism is an embedding
  3. Show that the Hilbert scheme is projective

Mapping into a Grassmannian

The Grassmannian of a coherent sheaf \mathscr{F} on Spec\mathrm{Spec}\,\mathbb{Z} is the scheme, whose TT-points are locally free quotients of T\mathscr{F}_T of rank rr for some fixed rr, where T\mathscr{F}_T is the pullback along TSpecT\to \mathrm{Spec}\,\mathbb{Z}. Thus, we need to find a suitable coherent sheaf \mathscr{F} such that for each family f:ZTf\colon Z\to T in HilbX/SP(T)\mathrm{Hilb}_{X/S}^P(T), we can define an associated quotient of T\mathscr{F}_T. To do this, we start with taking the close subscheme exact sequence of ZZ, twisting it, and pushing it forward to TT, like we did in the construction of the Hilbert scheme of hypersurfaces.

In that hypersurface case we twisted by the degree, but in the general situation we twist by the integer m0m_0 from Mumford's theorem applied to the Hilbert polynomial PP. By taking the derived functor long exact sequence, we get 0pr*Z(m0)pr*𝒪Tn(m0)pr*𝒪Z(m0)R1pr*Z(m0)0\longrightarrow\text{pr}_\ast\mathscr{I}_{Z}(m_0) \longrightarrow\text{pr}_\ast\mathscr{O}_{\mathbb{P}^n_T}(m_0) \longrightarrow\text{pr}_\ast\mathscr{O}_{Z}(m_0) \longrightarrow\mathrm{R}^1\text{pr}_\ast\mathscr{I}_{Z}(m_0) \longrightarrow\cdots where pr\mathrm{pr} denotes the projection TnT\mathbb{P}^n_T\to T. The next step is to use m0m_0-regularity of Z\mathscr{I}_Z along with cohomology and base change to show that R1pr*Z(m0)=0\mathrm{R}^1\text{pr}_\ast\mathscr{I}_{Z}(m_0)=0 and that pr*𝒪Z(m0)\text{pr}_\ast\mathscr{O}_{Z}(m_0) is locally free of rank P(m0)P(m_0). Finally, noting pr*𝒪Tn(m0)H0(𝒪n(m0))T\text{pr}_\ast\mathscr{O}_{\mathbb{P}^n_T}(m_0)\cong\mathrm{H}^0\left(\mathscr{O}_{\mathbb{P}^n_\mathbb{Z}}(m_0)\right)_T, we have obtained a TT-point H0(𝒪n(m0))Tpr*𝒪Z(m0)\mathrm{H}^0\left(\mathscr{O}_{\mathbb{P}^n_\mathbb{Z}}(m_0)\right)_T \longrightarrow\mathrm{pr}_{\ast}\mathscr{O}_{Z}(m_{0}) of the Grassmannian of H0(𝒪n(m0))\mathrm{H}^0\left(\mathscr{O}_{\mathbb{P}^n_\mathbb{Z}}(m_0)\right) of rank P(m0)P(m_0) quotients. This process defines a morphism HilbX/SPGrassP(m0)(H0(𝒪n(m0)))\mathrm{Hilb}_{X /S}^P\to \mathrm{Grass}^{P(m_{0})}\left(\mathrm{H}^0\left(\mathscr{O}_{\mathbb{P}^n_\mathbb{Z}}(m_0)\right)\right) once we have shown that this assignment is natural.

Embedding into the Grassmannian

We show the above morphism is an embedding by constructing a subscheme of the Grassmannian using flattening strata and showing that the morphism is an isomorphism unto this subscheme. The first step is constructing a coherent sheaf on the Grassmannian, the flattening strata of which we look at later.

To start, denote the Grassmannian by G:=GrassP(m0)(H0(𝒪n(m0)))G:=\mathrm{Grass}^{P(m_{0})}\left(\mathrm{H}^0\left(\mathscr{O}_{\mathbb{P}^n_\mathbb{Z}}(m_0)\right)\right) and recall that it carries a universal short exact sequence 0𝒦H0(𝒪n(m0))G𝒬00\longrightarrow\mathscr{K}\longrightarrow \mathrm{H}^0\left(\mathscr{O}_{\mathbb{P}^n_\mathbb{Z}}(m_0)\right)_{G} \longrightarrow\mathscr{Q}\longrightarrow 0 where 𝒬\mathscr{Q} is a locally free sheaf on GG of rank P(m0)P(m_0). The goal here is to "realise" the kernel as the ideal sheaf of a closed subscheme of Gn\mathbb{P}^n_G. We do this by considering the composition pr*𝒦H0(𝒪n(m0))Gn𝒪n(m0)Gn\mathrm{pr}^\ast\mathscr{K}\longrightarrow \mathrm{H}^0\left(\mathscr{O}_{\mathbb{P}^n_\mathbb{Z}}(m_0)\right)_{\mathbb{P}^n_{G}} \longrightarrow\mathscr{O}_{\mathbb{P}^n_{\mathbb{Z}}}(m_{0})_{\mathbb{P}^n_{G}} The image of this morphism is the ideal sheaf of some closed subscheme 𝒱Gn\mathscr{V}\subseteq\mathbb{P}^n_{G}. Note that this is not necessarily flat over GG, so we consider the flattening strata of 𝒪𝒱\mathscr{O}_{\mathscr{V}} in GG. Let GPG_P be the stratum, where the closed fibres of 𝒱\mathscr{V} have Hilbert polynomial equal to PP. Now, it remains to show that the morphism we constructed above maps into GPG_P and that there is an inverse morphism from GPG_P. In fact, since 𝒱|GPGP\mathscr{V}\vert_{G_{P}}\to G_{P} is a flat family embedded in GPn\mathbb{P}^n_{G_P}, there is a unique morphism GPHilbX/SPG_{P}\to \mathrm{Hilb}_{X /S}^P by the definition of the Hilbert scheme, and this is precisely the inverse morphism.

Hilbert scheme is projective

Showing projectivity is the easiest step. Since the Grassmannian is projective, it suffices to show that the Hilbert scheme is complete. But this can be checked directly from the definition of the Hilbert scheme by using the valuative criterion of properness. This finishes the proof.