After several decades when the highest level of abstraction was in fashion, commutative algebra and algebraic geometry are now well into a relatively concrete era. The Geometry of Syzygies, representing its times, uses accessible language to discuss certain numerical invariants of algebraic varieties X in projective spaces P^{r}. The invariants arise by taking the minimum free resolution of the projective coordinate ring of X as a module over the projective coordinate ring K[x_{0}, x_{1},...,x_{r}] of P^{r}.
Chapters 1 and 2 are introductory. Chapter 3, "Points in P^{2}", systematically treats the case dim X = 0 and r=2. Chapters 4 through 9 concern mostly the much harder cases with dim X = 1 and r arbitrary. There are two appendices, one providing background on local cohomology, the other on commutative algebra. The author makes it clear that the subject is still young, despite its nineteenth century roots. After all, one is interested in the case dim X > 1 as well!
As one might expect from Eisenbud's many other works, the book is excellent. It deserves a large readership. In an effort to attract mathematicians whose first course in commutative algebra and/or algebraic geometry seems only a distant memory, I will discuss the main result of Chapter 3 only. My presentation is more informal than the book's. However it still presents the material faithfully and is even more explicit than the book's treatment in several ways. At the very end, the context having been set up, I will explain the meaning of the elegant cover figure, reproduced above.
The ground field K plays a remarkably passive role throughout the book. We will simply take it to be the real field R in this review. Working projectively is certainly the mathematically proper thing to do, but things can also be explained without projectivizing, and we will use this simpler language in this review. Thus, dispensing with x_{0} and writing x=x_{1} and y=x_{2}, our ring is R[x,y]. Elements of this ring are to be viewed as functions on the familiar xy plane.
An interpolation problem provides a convenient framework. Let H(d) be 0 if d is negative and the triangular number (d+1)(d+2)/2 if d is zero or positive. Let R[x,y]_{d} be the space of polynomials of total degree at most d. Then R[x,y]_{d} has dimension H(d). For example, R[x,y]_{2} has basis 1, x, y, x^{2}, xy, y^{2}, and thus dimension H(2)=6.
The fun begins when we consider X, a set of n distinct points in the xy plane. Let h(d) be the dimension of the space of realvalued functions on X which come by restriction from polynomials in R[x,y]_{d}. The sequence h(0), h(1), h(2), ... agrees with H(0), H(1), H(2),... initially. But at some juncture, one first encounters a polynomial A(x,y) such that the curve given by A(x,y)=0 passes through all the points of X. Then h(deg(A)) < H(deg(A)). There may then be a complicated range where h(d) continues to grow. But soon, certainly by the time d becomes n1 or larger, everything becomes simple again as now h(d) stays constant at n. Both H and h are examples of Hilbert functions, a central concern of the book.
The first issue is the behavior of h(d) in the complicated range. These numbers depend on how the points in X are distributed in the xy plane. In other words, they depend on the extrinsic geometry of X. A simple case is when X has a_{1} a_{2} elements and is given as the intersection of a degree a_{1} curve A_{1}(x,y)=0 and a degree a_{2} curve A_{2}(x,y)=0. Then A_{1}(x,y) and its multiples, A_{1}(x,y)x, A_{1}(x,y)y, ..., cause h(d) to be smaller than H(d). Similarly A_{2}(x,y) and its multiples, A_{2}(x,y)x, A_{2}(x,y)y, ..., also cause h(d) to be smaller than H(d). But one has to be careful that the product A_{1}(x,y) A_{2}(x,y) and its multiples A_{1}(x,y) A_{2}(x,y) x, A_{1}(x,y) A_{2}(x,y) y, ..., are only accounted for once. The formula one gets is
h(d) = H(d)  H(da_{1})  H(da_{2}) + H(da_{1}a_{2}).
The whole theory of syzygies can be reasonably said to be an enormous analog for modules of the theory of inclusionexclusion for finite sets, in a way illustrated by this formula.
In general, X determines positive integers a_{1} ≥ ... ≥ a_{t+1} and b_{1} ≥ ... ≥ b_{t}, its generator and relation invariants respectively. Choice of suitable bases then gives a (t+1)byt syzygy matrix M of polynomials in R[x,y], with M_{ij} having total degree at most b_{j}  a_{i}. Generators A_{1}, ..., A_{t+1} of the ideal of polynomials vanishing at X, with degrees a_{1}, ..., a_{t+1} respectively, are then recovered as tbyt minors of M, so that one has the matrix equation AM=0. The general formula for the Hilbert function of X is
h(d) = H(d)  Σ_{i} H(da_{i}) + Σ_{j} H(db_{j}).
One has Σ_{i} a_{i} = Σ_{j} b_{j} and also Σ_{j} b_{j}^{2}  Σ_{i} a_{i}^{2} = 2 n. It may happen that one has cancelation in the formula for h(d) because an a_{i} coincides with a b_{j}, as will be a main focus below. Thus the second issue is obtaining the a_{i}'s and b_{i}'s, as these are more refined invariants than the h(d).
The main result of Chapter 3 is a beautiful parameterization of all possibilities for the a_{i}'s and the b_{i}'s, which goes as follows. Let L be a partition of n, given by L_{0} ≥ ... ≥ L_{k}. Let X_{L} be the point set in the xy plane that one obtains by drawing L in the conventional way as dots at integral points in the very lower left of the closed first quadrant, with L_{i} dots on the line x=i. Figure 1 gives X_{(4,2,2)}. The most useful invariants of L are obtained by drawing the staircase bounding the dots. As one proceeds down the staircase, the t landings have length e_{i} and the t drops have length f_{i}. Say that L is "steep" if each drop f_{i} is at least as big as its previous landing e_{i} and, if i < t, at least as big as its subsequent landing e_{i+1}. 

Restrict attention to steep staircases. Then associated to an "incorner" is the sum a_{i} of its coordinates, and the a_{i} are indeed the generator invariants of X_{L}. Associated to an "outcorner" is the sum b_{i} of its coordinates, and the b_{i} are indeed the relation invariants of X_{L}. In Figure 1, one has
(e_{1},e_{2}) 
= 
(1,2) 
(f_{1},f_{2}) 
= 
(2,2) 
(a_{1},a_{2},a_{3}) 
= 
(4,3,3) 
(b_{1},b_{1}) 
= 
(5,5). 
The main result of Chapter 3 is that as L runs over steep partitions, ((a_{1},...,a_{t+1}), (b_{1},...,b_{t})) runs over each possibility once. In other words, the X_{L}, which from most points of view are extremely special, actually bijectively represent every numerical possibility for general X.
As one example, if X_{L} consists of a single rectangle of points, then this rectangle has a_{1} rows and a_{2} columns. This example is just the complete intersection situation we considered first. As another example, if n = t(t+1)/2 then one possibility is to have an ordinary tstep staircase, with all t of the e_{i}'s and f_{i}'s equal to 1. Then all t+1 of the a_{i}'s are t, and all t of the b_{i}'s are t+1. In this triangular case, X_{L}, despite its specialness, has the same a_{i}'s and b_{i}'s as n points in general position.
The simple case of n = 4 is also instructive. There are three possibilities for L. If no 3 points lie on a line, then we are in the generic and complete intersection case L=(2,2) with ((a_{1},a_{2}),(b_{1})) = ((2,2),(4)). If there are 3 points on a line not containing the fourth point, we are in the intermediate case L = (3,1) with ((a_{1},a_{2},a_{3}), (b_{1},b_{2})) = ((3,2,2),(4,3)). Canceling the 3's, one sees that these first two cases have the same Hilbert function. Finally, if there are four points on a line, we are in the most degenerate case, the complete intersection case L = (4), with ((a_{1},a_{2}),(b_{1})) = ((4,1),(5)).

To render the parametrization of possible a_{i}'s and b_{i}'s more explicit, one has to classify steep partitions. One way a partition can be steep is for all its e_{i}'s to be 1. These are just the partitions with distinct parts. The example of D = (7,5,4,2,1) is plotted in the upper left of Figure 2, with A(D) = (a_{1}, a_{2}, a_{3}, a_{4}, a_{5}, a_{6}) = (7,6,6,5,5,5) and B(D) = (b_{1}, b_{2}, b_{3}, b_{4}, b_{5}) = (8,7,7,6,6). The intersection of these two lists, treating repeats appropriately, is A(D) ∩ B(D) = (7,6,6). The set of sublists of this A(D) ∩ B(D), again treating repeats appropriately, has six elements and is given in Figure 2.

For each sublist C, one can cancel C from both A(D) and B(D). The resulting pair (A(D)C,B(D)C) comes from a steep partition, as illustrated in Figure 2.
In general, steep partitions L are indexed by pairs (D,C) where D is a partition with distinct parts and C is a subset of A(D) ∩ B(D). One has by definition A(L_{D,C}) = A(D)  C and B(L_{D,C}) = B(D)  C. Two steep partitions L_{D,C} and L_{D',C'} give rise to the same Hilbert function if and only if D=D'. The integers appearing in A(D) ∩ B(D) are just the a_{i} = b_{i+1} with i < t and f_{i}=2. For our example of D = (7,5,4,2,1), one has (f_{1}, f_{2}, f_{3}, f_{4}) = (2,1,2,1). The drop f_{1}=2 contributes the 7 to A(D) ∩ B(D). The drop f_{3}=2 contributes the 6 to A(D) ∩ B(D). In general, if the collar of ones around a 2 has exactly u ones on one side and at least u ones on the other side, then the multiplicity of the contribution is 1+u. Thus here, 7 appears with multiplicity 1 while 6 appears with multiplicity 2. As C increases from the empty list to A(D) ∩ B(D), certain dots slide down and to the right on a 45 degree line, as illustrated by Figure 2. The total number of parts k+1 never changes in this process, also as illustrated by Figure 2.
The canceling process plays a role in describing the invariants (D,C) for the case of n points in generic position when n is not a triangular number. If one writes n = (k+2)(k+3)/2  j, where 1 ≤ j ≤ k+1, then the parts of D are k+2,...,1 except for j. In other words, all drops f_{i} of D are 1, except for f_{k+2j}=2. The cancelation list C is all of A(D) ∩ B(D), namely min(k+2j,j1) copies of k+2. For example, for n=8 one has (k,j) = (2,2), D=(4,3,1), A(D)= (4,4,3,3), B(D) = (5,5,4), and C=(4). This yields L = (4,2,2) as in Figure 1 above and in the discussion below.
The table to the right gives the number of possibilities for D and L for small n. As we've explained, #(D) gives the number of possible Hilbert functions while #(L) gives the number of possible syzygetic invariants ((a_{1},...,a_{t+1}), (b_{1},...,b_{t})). For a given n, the number #(D) is the coefficient of z^{n} in (1+z)(1+z^{2})(x+z^{3})(1+z^{4})... The sequence of numbers #(L) does not seem to have a standard generating function.

n: 
0 
1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
13 
14 
15 
#(D): 
0 
1 
1 
2 
2 
3 
4 
5 
6 
8 
10 
12 
15 
18 
22 
27 
#(L): 
0 
1 
1 
2 
3 
3 
5 
6 
8 
11 
13 
16 
22 
26 
31 
40 

The proof of the main result of Chapter 3 naturally involves syzygy matrices for the X_{L}. One can choose bases so that these matrices have a very elegant form, as follows.
Always the superdiagonal is given by polynomials E_{i} of degree e_{i} in x alone and the subdiagonal is given by polynomials F_{i} of degree f_{i} in y alone. So in the case t=2, the syzygy matrix looks like
E_{1} 
Z_{2} 
F_{1} 
E_{2} 
Z_{1} 
F_{2}. 
The generators, obtained by taking minors, are
A_{1} 
= 
F_{1} F_{2}  Z_{1}E_{2} 
A_{2} 
= 
Z_{1} Z_{2}  E_{1}F_{2} 
A_{3} 
= 
E_{1} E_{2}  F_{1}Z_{2}. 
The general pattern for the E_{i} and the F_{i}, even for arbitrary t, is clear from the case L = (4,2,2) above:
E_{1} = x 
F_{1} = (y2)(y3) 
E_{2} = (x1)(x2) 
F_{2} = y(y1). 
The general pattern for the entries off the two main diagonals is even simpler: these entries are always zero. The t terms in the general expression for each A_{i} are reduced to one term, and it is instructive to convince oneself that the remaining term, a product of linear factors, indeed vanishes on X_{L}.
We are now in a position to quickly explain the cover figure. The particular X there consists of eight points. Despite the order four rotational symmetry, this X, like X_{(4,2,2)} considered above, has the same numerics as eight points in general position, namely (a_{1}, a_{2}, a_{3}) = (4,3,3) and (b_{1}, b_{2}) = (5,5) as before. Corresponding to the (4,3,3), the cover shows a white quartic A_{1} and two black cubics A_{2} and A_{3} going through the eight points. Explicit equations are not given in the text, but taking M to be
y 
x 
x^{2}1 
1/6 
1/6 
y^{2}1 
yields
A_{1} 
= 
(x^{2}1)(y^{2}1) + 1/36 
A_{2} 
= 
x/6  y(y^{2}1) 
A_{3} 
= 
y/6 + x(x^{2}1), 
which reproduces the cover figure. The sequence h(d) begins as H(d) does and then immediately levels off: h(0), h(1), h(2), h(3), h(4), ... = 1, 3, 6, 8, 8, ... For general n, the Hilbert function of points in general position is characterized by this property.
The subject of points in a plane really forms the very first illustration of the geometry of syzygies. I encourage you to look at The Geometry of Syzygies to learn much, much more!
David Roberts is an associate professor of mathematics at the University of Minnesota, Morris.