Blog / Solving Hartshorne exercises

Solving Hartshorne exercises

Published on April 22, 2020
Last updated on March 20, 2024
Reading time 7 minutes

Introduction#

Shortly after I entered graduate school, I was advised by a number of professors to go through Chapters II and III of Hartshorne’s Algebraic Geometry thoroughly, solving all the exercises within. As it turned out, there are some absurdly difficult results that are given as exercises. (Seriously, openness of the flat locus is an exercise?) It was a laborious and somewhat painful process, but going through those problems did force me to learn all the technical commutative algebra, as well as many techniques in algebraic geometry.

I did receive a lot of help. I hope I’m not missing anyone from this list.

  • Ryan Chen helped me with 2.7.13.
  • Brian Conrad is the person who I ran to when I got stuck; apparently he went through it a couple decades ago, when he was a first-year graduate student.
  • Sean Cotner helped me with 3.9.10 and 3.11.4.
  • Ari Krishna pointed out a missing part in 2.3.14.
  • Matt Larson helped me with 2.3.20 and 3.9.5.
  • David (Ben) Lim helped me with 3.11.4.
  • Damas Mgani pointed out a mistake in 2.1.16.
  • Konstantin Miagkov helped me with 2.3.22.
  • Gheehyun Nahm helped me with (more precisely, literally gave me the solutions to) 2.7.13, 3.6.10, 3.9.5, 3.9.10, and 3.11.4.
  • The Stacks project is one of the best resources out there on algebraic geometry and commutative algebra. For some of the exercises I just copied the proof from here.
  • Jit Wu Yap pointed out a mistake in 2.4.7.

I wanted to make this publicly accessible, since having proofs available is always helpful. But on the other hand, it seems risky to make the all the solutions too easily obtainable. So I decided to use an “insecure encryption” scheme. Every solution is on a separate file, named xxx.pdf with xxx being three numerical digits, 0 to 9. Given a specific exercise, e.g., Exercise 2.3.10, there are two ways of figuring out what the corresponding key xxx is:

  • email me and ask what it is, or
  • try all the 1000 possibilities.

The upshot is that if you’re determined to get the solution without sending me an awkward email, you can do it with a little bit of work. In addition, it’s easy to take a random sample from the collection, for instance to decide if I am trustworthy. The keys may change without warning; whenever I update a solution, I will need to generate new keys for the entire collection.

Unsolved problem#

There is one problem that is not solved. I think this problem is not super well-formulated, at least according to the construction provided in the textbook.

  • Exercise 3.7.4: showing that Serre duality on a smooth subvariety \( Y \subseteq X = \mathbb{P}^n \) of codimension \( p \) takes the fundamental class(?) of \( Y \) to the standard generator in \( H^p(\mathbb{P}^n, \Omega_X^p) \) times the degree of \( Y \). But do we even know that there is a fundamental class? I thought all Hartshorne does is to construct it up to multiples, but this constant factor is all that matters.

Problems that I’ve cheated on#

For the following problems, I’ve used things that I am not allowed to use. Examples include: using theorems that appear later on in the book, using facts that are completely beyond the scope of the book. Please send me an email if you know how to solve these problems without doing anything illegal. (Due to my laziness, the following list is probably not complete.)

  • Exercise 3.6.10(c): showing that when \( X \to Y \) is a finite morphism of Noetherian schemes and \( \mathscr{F}, \mathscr{G} \) are coherent on \( X, Y \), then there is some natural map \( \mathrm{Ext} _ X^i(\mathscr{F}, f^! \mathscr{G}) \to \mathrm{Ext} _ Y^i(f_\ast \mathscr{F}, \mathscr{G}) \). I’ve used this fact that for a Noetherian scheme \( X \), a quasi-coherent sheaf \( \mathscr{F} \) is injective as an object in the category \( \mathfrak{Qco}(X) \) of quasi-coherent sheaves if and only if it is injective as an object in the category \( \mathfrak{Mod}(X) \) of \( \mathscr{O} _ X \)-modules. It seems that the proof heavily relies on the structure theory of injective \( \mathscr{O} _ X \)-modules.
  • Exercise 3.9.3(a): showing that a finite morphism of nonsingular varieties is automatically flat. The only way I know how to do this is to first prove “miracle flatness”, Exercise 3.10.9; without Cohen–Macaulay rings, the induction doesn’t go through.
  • Exercise 3.9.5(c): showing that the cones \( { C(X _ t) } \) over a “very flat” family of closed subschemes \( { X _ t } \) in projective space is a flat family. To construct family, I had to use results from Section 3.12.
  • Exercise 3.9.10(c): showing that if there is a projective flat family over a smooth curve with one fiber being \( \mathbb{P}^1 \), then it is étale-locally trivial on a neighborhood. Again I had to use results from Section 3.12 in an essential way. I also used an exercise from Section 3.11, but in a less serious way.

Typos and errors#

Here are some things I found incorrect (unless I’m being stupid).

  • In general, I’ve seen Hartshorne assuming that schemes are Noetherian and \( \mathrm{char}(k) \neq 2 \) without mentioning. When an exercise seems false without this assumption, there’s a good chance it actually is. I haven’t been keeping track of this, so I don’t have a list of such exercises. For example, the curve \( y^2 = x^3 + x^2 \) is commonly refered to as a nodal cubic curve; this is not true in characteristic \( 2 \).
  • Exercise 2.1.16(e). The sheaf $\mathscr{G}$ is not flasque in general, but is flasque when all stalks of $\mathscr{F}$ are nonempty, in particular, when $\mathscr{F}$ is a sheaf of abelian groups.
  • Exercise 2.5.12. Hartshorne’s definition of an immersion, hence very ampleness is not the usual definition. I can solve it with the usual definition, but I don’t know how to do it using Hartshorne’s definition. On the other hand, the two definitions agree on Noetherian schemes I believe.
  • Exercise 2.7.7(b). This is especially false when the characteristic of \( k \) is \( 2 \). Don’t waste your time trying to see if the statement is true in this case.
  • Exercise 2.7.9. Of course, \( X \) has to be connected.
  • Exercise 3.10.7. The curve \( C \) also can be a quadric with a tangent line.
  • Exercise 3.12.3. I’m pretty sure that the correct answer is that there is no jump, it’s all zero. Maybe Hartshorne intended to look at something like \( \mathscr{O} _ X (1) \)?
  • Exercise 3.12.5. The locally free sheaf \( \mathscr{E} \) has to have rank at least \( 2 \).

Finally, the files#

So here are the solutions to the 222 exercises in Chapters II and III! The files are at {current url}/pdf/xxx.pdf, of course with xxx being the key.

Please let me know if there is a wrong argument anywhere.

Key:   Height: px