Miika Rankaviita

Guide to constructing the Hilbert Schemes

24/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 Z⊆XZ\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:Z→Tembedded 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:Z→Tf\colon Z\to T is a flat family embedded in XX, when there is a closed embedding Z↪T×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 Z→TZ\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=SpecℂS=\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+n−dn),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 N−1N-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)∈ℙN−1×ℙ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 Y⊂ℙnY\subset\mathbb{P}^n. Now, take its closed subscheme exact sequence, twist by dd, and take global sections to obtain a short exact sequence 0→H0(ℙ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 ℙN−1\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:Z→Tf\colon Z\to T of hypersurfaces embedded in ℙn\mathbb{P}^n. The aim is to find a morphism φ:T→H\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 t∈Tt\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:Z→Tf\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 ∑I⊂ℕn+1|I|=daIXI∈A[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 T→HT\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 Z⊂ℙn×TZ\subset\mathbb{P}^n\times T to obtain 0→pr*ℐ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×T→T\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 φ:T→H\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:Z→Tf\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 π:Z→T\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 U→TU\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,ℱ(m−i))=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 m′m'-regularity for all m′≥mm'\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 m−1m-1 and height m−1m-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 Z⊆ℙnZ\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 0⊆Fitt0(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 T→SpecℤT\to \mathrm{Spec}\,\mathbb{Z}. Thus, we need to find a suitable coherent sheaf ℱ\mathscr{F} such that for each family f:Z→Tf\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 0→pr*ℐ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 ℙTn→T\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))T→pr*𝒪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/SP→GrassP(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 𝒱|GP→GP\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 GP→HilbX/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.