In the fall the first semester of my PhD, I decided to undertake the project of completing all exercises in Hartshorne's Algebraic Geometry. The language and techniques of algebraic geometry have become fundamental to modern number theory, even outside of arithmetic geometry. It became clear to me that in order to engage fully with my field of interest I needed to become much more comfortable with this language. Previous efforts always seemed insufficient. Classes did not cover enough material or had bad instructors, and previous self-study was too aimless to acheive mastery.
There are a few reasons why I chose to pursue the rather extreme goal of doing every exercise in Hartshorne Chapters II and III. First, many key ideas in algebraic geometry are hidden in Hartshorne's exercises. Indeed, he relegates a large portion of the theory to these exercises. The body of the text refers to results proved in exercises frequently, and outside sources often references the results of exercises. I would like to see the entire vision of the theory as Hartshorne intended, which necessitates engaging with all the exercises. My goal is mastery, not familiarity. Second, I was in need of a clear, concrete goal. Skipping around and doing only exercises that interested me was too amorphous of a goal, and I knew that if I allowed this that I would ultimately lose focus and drop the project, as I have in the past. Sometimes we need a mountain to climb. Finally, I was inspired by other people who had undertaken this project, in particular Daniel Kim, currently a PhD student at Stanford. You can read about his experience on his website.
I chronicle my journey on this page. This mostly includes my thoughts and comments on certain problems. My initial goal is to finish all exercises in Chapters II and III on scheme theory and sheaf cohomology, which are the truly critical chapters of the book. Once this is complete, I'll reevaluate whether I'll want to attempt I, IV, and V, but I'll likely be sick of the book by this point... There are 134 exercises in Chapter II and 88 exercises in Chapter III. The start date of this project was October 4th, 2022.
When I finish, I will probably publish my solutions via "random oracle" similarly to how Daniel has done it. Copyright issues aside, it is too dangerous to have all these exercises readily available given how commonly they are assigned in classes. I'm sure that I would get in trouble if I published all the solutions directly, but I still want to give evidence of the work I have done.
General: I feel that one of the major shortcomings of Hartshorne is that it leaves implicit how to actually come up with and describe a morphism of schemes. He prefers to define morphisms at the level of stalks, as he exhibits in the proof of Propositions II.2.3(b) and II.2.6. In Prop II.2.3(b), in which he shows that a ring homomorphism \(\varphi: A \to B\) induces a morphism of schemes \(\operatorname{Spec} B \to \operatorname{Spec}A\), he contructs the obvious ring homomorphisms \(\varphi_P\) on stalks and then immediately concludes that these define maps of sections \(\mathcal{O}_{\operatorname{Spec} B}(V) \to \mathcal{O}_{\operatorname{Spec A}}(f^{-1}(V))\) "by the definition of \(\mathcal{O}\)." Although this type of definition of a morphism does work, it was very confusing to piece this together when I was first learning the subject, and I was left with no intuition.
My confusion about exactly this particular topic likely contributed strongly towards my lack of progress on my first attempt to learn scheme theory. How to define morphisms of schemes should be a front and central topic in any scheme theory course; I believe it is the most important piece of intuition a new learner should glean. Vakil devotes an entire chapter to learning how to think concretely about morphisms, and I don't think I ever would have made much progress in my algebraic geometry studies without reading this. Nowadays in practice, I usually go with Vakil's notion of a "morphism on a base," where we define the morphism via compatible morphisms on distinguished basis elements (i.e. morphisms of affine schemes) and then glue.
II.2.4: Quite useful. I think Hartshorne already used this in the proof of Prop 2.6 when giving a morphism \((t(V), \alpha_*\mathcal{O}_V) \to \operatorname{Spec} k\).
II.2.11: The application of Möbius inversion was a welcome bit of elementary number theory within the amorphous swamp of geometry.
II.2.14: An exercise that should probably be done in the body of the text, given how important it is for thinking about projective schemes. In addition to being able to not knowing how to define a morphism of schemes, lack of intuition about the Proj construction was also a major roadblock for me. Vakil's chapter on the Proj construction once again came to my rescue. To be fair, I needed to do a fair bit of work for this exercise. Even in part (a), showing that the nilradical of a graded ring is the intersection of all homogeneous primes takes a few steps. For (b), it's worth noting that not all morphisms \(\operatorname{Proj} T \to \operatorname{Proj} S\) come from homorphisms of graded rings \(S \to T\); the Veronese map \(\mathbb{P}^1 \to \mathbb{P}^2\) is an example of a morphism that cannot be defined this way.
II.2.16: Part (c) is a good exercise in learning how to fiddle with a finite number of distinguished opens and localizations so that gluing works correctly. The punchline, which seems typical of these things, is to come up with a power of \(f\) that works in each distinguished open and then take the maximum over all of the finitely many elements of the open cover, and then replace everything appropriately so that gluing works globally. It's an important principal to be aware of; Hartshorne applies it in his proof of Proposition II.2.2, which shows that \(\mathcal{O}(D(f))\) is isomorphic to \(A_f\).
The statement in part (d), which says that \(\Gamma(X_f, \mathcal{O}_{X_f}) \cong \Gamma(X, \mathcal{O}_X)\) when \(X\) is quasi-compact and quasi-separated (any intersection of affines is covered by a finite number of affines) is what Vakil calls the QCQS lemma. I'm realizing more and more that giving these foundational lemmas memorable names manages to improve my comprehension substantially... It's quite useful for estabilishing foundational things about affine covers on sheaves and how they interact with localization. For example, Vakil uses the $\mathcal{O}_X$-module version of the lemma to show that the restriction maps \(\Gamma(X, \mathscr{F}) \to \Gamma(X_f, \mathscr{F})\) of a quasi-coherent sheaf on a qcqs scheme are precisely the localizations maps.
This is also the first exercise in which I applied Nike's Lemma. Hartshorne does actually prove Nike's Lemma later in the course his proof of Prop II.3.2, but I found the absence of an obvious, explicit, standalone statement in either the text or the exercises to be yet another major roadblock on my journey to learn scheme theory, and yet another reason I am grateful to Vakil.
For the uninitiated, Nike's Lemma is the following statement:
Suppose \(\operatorname{Spec} A\) and \(\operatorname{Spec} B\) are affine open subschemes of a scheme \(X\). Then \(\operatorname{Spec} A \cap \operatorname{Spec} B\) is the union of open sets that are simultaneously distinguished opens subschemes of \(\operatorname{Spec} A\) and \(\operatorname{Spec}B\).
Nike's Lemma is useful in a variety of settings involving deducing some global property from an affine cover. In particular, the Affine Communication Lemma, which I will discuss in my update for the next chapter, is an immediate corollary. For the purposes of historical preservation, I copy an anecdote on the origins of the lemma from Matt E's answer on StackExchange:
"Nike is Vinayak "Nike" Vatsal, and the name the Nike trick for what is Ravi's Lemma 6.3.1 was coined by some of his fellow grad students while he was a grad student at Princeton (I think after he pointed it out during their joint study group on Hartshorne's book). It was used (for example) under this name in Brian Conrad's algebraic geometry course at Harvard in the late '90s, and thus gained some currency among the current generation of American algebraic geometers (including Ravi Vakil)."
II.2.18(b): I found it surprising that we need no assumptions on \(\varphi: A \to B\) other than injectivity in order to conclude that the morphism of schemes \(\operatorname{Spec} B \to \operatorname{Spec}A\) is dominant. Even assuming that the schemes are reduced is unnecessary, since we can reduce to the reduced case (haha). My proof involves reducing and then concluding that the minimal primes of \(A\) lie in the image via a commutative algebra localization argument; I implicitly use the Axiom of Choice in the form "Every nonzero ring has a maximal ideal."
David Eisenbud, whose class on Algebraic Curve I am currently taking, shared with us a study guide for Hartshorne. He emphasizes Chapter I material as being more important, so maybe I should eventually go back and do them. He also dismisses II.1-II.4 as mostly "vocabulary building" and recommends skipping through them as fast as possible. After having already done most of these exercises, there is some truth to this recommendation; one could get away with skimming if they were confident in their intution already. However, there are a lot of basic results hidden in the exercises of II.1-4, and I personally want the mental assurance that I actually have mastery over this quite technical "vocabulary."
I have been revisiting Eisenbud's Geometry of Schemes recently. A lot of salient points that Hartshorne omits are in fact highlighted prominently in Eisenbud's book, e.g. gluing morphisms, sheaf on a base, careful and detailed treatment of projective space. I'm still not very satisfied with Eisenbud's discussion of limits and families of schemes, however. For example, when initially discussing limits of a family of schemes, he delays the full, rigorous definition and instead gives an example where the limit can be taken as the "limit of vector subspaces," but this also doesn't seem very well-defined in general. I will probably return to the book after reaching some of the Hartshorne III material on flat families of schemes so I can see if my experience will make the intuition that Eisenbud is trying to give more meaningful.
I will take Prof. Eisenbud's advice partially by skipping to II.5 for now, mostly since the II.3 exercises are becoming unbearably dry and long-winded; currently I'm at Exercise II.3.9. I'll return to II.3 and II.4 after or possibly concurrently with II.5, since truly understanding the fiber product, seperatedness, and properness have been some of my biggest banes.
II.3.1-II.3.4: These, in addition to Proposition 3.2 about Noetherian schemes, are what I like to call the "Affine Communication Lemma squad." The ACL is the following corollary to Nike's Lemma, and sets the framework for these kinds of exercises nicely:
(Affine Communication Lemma.) Let \(P\) be some property enjoyed by some affine open subsets of a scheme \(X\), such that
II.3.1: I think you can get away with surprisingly little in this exercise. For example, I don't think you need to prove anything related to condition 2 in the ACL, since if an affine open \(\mathrm{Spec} \;B\) is covered by distinguished opens \(D(g_i)\), each of which has preimage covered by affines \(\mathrm{Spec} \; A_{ij}\) with \(A_{ij}\) a finitely generated \(B_{g_i}\)-algebra, then each of the \(A_{ij}\) are also finitely generated \(B\)-algebras and the \(\mathrm{Spec} A_{ij}\) cover the preimage of \(\mathrm{Spec} B\), so nothing else needs to be done. However, later in Exercise II.3.3(c) we do need the fact that if we have a homomorphism \(B \to A\) and we have \(f_1, \dots, f_r \in A\) generating the unit ideal with each \(A_{f_i}\) a finitely generated \(B\)-algebra, then \(A\) is also a finitely generated \(B\)-algebra. I found the proof of this to be rather subtle and tricky.
II.3.5: Part (a) is the exercise that made me realize why algebraic geometers care about Artinian rings---any situation involving finitely many prime ideals, or equivalently finitely many points on a scheme, can usually be reduced to a statement about Artinian rings.
II.3.7: A lengthy and technical exercise, and probably the first exercise that required me to step back and do some substantial reading and research outside Hartshorne. I think it's also the first exercise that truly requires the heavier machinery of commutative algebra in the guise of Noether normalization or the Nullstellensatz, some form of which is necessary to prove the hint. Reducing the problem to the hint is also rather technical. I couldn't see how to shrink an open affine \(\mathrm{Spec} \;B \subseteq Y\) to give the desired open set, and I had to look up how to do this. The main trick to to first localize \(B\) by the (finite) set of leading coefficients of all minimal polynomials of the finitely many generators of the finitely many \(A_i\) with \(\mathrm{Spec} \;A_i\) covering the preimage of \(\mathrm{Spec}\; B\).
II.3.8: After doing this exercise my own way, I learned of a general framework for this type of construction known as "The Four-Fold Way." Suppose that for every scheme \(X\), we want to construct a scheme \(\tilde{X}\) over \(X\) satisfying some universal property in the category of \(X\)-schemes. We may do so using the following procedure:
Normalization is one of many applications of this type of construction; another important example is the construction of the fiber product.
II.3.16: Somehow I spent two hours on this before realizing that this can be done in two sentences using the fact that any collection of closed sets on a noetherian topological space has a lower bound.
General: One concept that I seemingly failed to fully grasp during my previous attempts to learn scheme theory is that the pullback squares might not look like pullback squares are first glance. A fiber product may look like something surprisingly simple. For example, given morphisms \(X \to Y \to Z\), we have \(X \cong Y \times_{Y \times_Z Y} X_{\times_Z} Y\), which is a fact that is useful for Exercise II.4.8(e). This means that pullback diagrams tend to crop up more than you might think, which is useful when some property is preserved under base change.
II.4.1: This can be done without a noetherian assumption by proving that finite morphisms are stabl under base change. I think it's more intuitive to think about the valuative criterion, using the following reasoning: suppose \(B \subseteq A\) and \(A\) is a finitely generated \(B\)-module, say generated by \(a_1, \dots, a_n\). If we have a homomorphism \(A \to K\) with \(K\) a field and the image of \(B\) contained in some valuation ring \(R\) of \(K\). If any of the \(a_i\) map to an element with negative valuation, then this implies that the image of \(A\) has valuation that is unbounded below, which contradicts the fact that the minimum valuation in this image should be the (finite) minimum of the valuation of the \(a_i\).
II.4.5(d) implies that a complete variety over an algebraically closed field \(k\) has ring of global sections isomorphic to \(k\). Classically, this is a very familiar fact, so I found this exercise to be a satisfying application of developing the machinery of separatedness and properness.
II.4.9: Despite correctly knowing how the Segre embedding is scheme-theoretically constructed, I got confused because it didn't look like a closed immersion to me. My confusion was bad enough that I asked about this on StackExchange... and of course the error was really dumb.
II.5.1: Very confused about the projection formula, since it's one too many layers of construction form to handle at the moment. I will return later. For a lot of these statements, the point is that a map of sheaves can be defined on sections, and in the case of finite rank modules these maps restrict to isomorphisms at the level of stalks.
II.5.7 and II.5.8: The fact that a basis of a residue field lifts to a generating for sections on a neighborhood feels like magic supplied by commutative algebra, which it essentially is---this ``Geometric Nakayama'' follows from the usual Nakayama's lemma, which is basically magic itself.
II.5.9: Struggling very much to show that \(\alpha_d\) is surjective in sufficiently large degrees. This is the same as showing that a given a graded \(S\)-module \(M\), if we have a collection \(m_i/f_i \in M_{f_i}\) where the \(f_i\) generate \(S_+\) over \(S_0\) such that \(m_i/f_i = m_j/f_j\) on overlaps, then these \(m_i/f_i\) must actually be in the image of \(M\) under the localization map. It's surprisingly tricky to do this, I think; Hartshorne recommends using a fairly complicated reduction to the integral case via the methods of Theorem II.5.19, which I should go back and understand for realsies now...