Review by Leendert van Gastel
University of Amsterdam, The Netherlands
In the introduction, Wolmer Vasconcelos describes the current state of applying computer algebra to the fields of commutative algebra and algebraic geometry. The applicability is not so straightforward, although as a mathematical theory computer algebra essentially has its origin in these fields. The main problem is the high complexity of the fundamental algorithms. Vasconcelos writes: ``It is a panorama in which the processing of every medium size problem is expected to lie on the brink of combinatorial explosion.'' However, in many situations the case is not hopeless. Often knowledge about the mathematics of the situation can help to stay away from the generic worst case complexity. But this makes the application of computer algebra to commutative algebra and algebraic geometry far from a ``push of a button''. It requires not only knowledge of the theory and of computer algebra, but also insight how the theoretical knowledge can be of help to the computation of the objects involved.
The structure of the book is as follows. Groebner bases, syzygies en Hilbert functions are discussed in the first chapter as the fundamental algorithms. This is followed by a ``toolkit'' chapter with for instance elimination, Noether normalization, flatness and finiteness. Then come the main topics
At the end we find contributions of other authors. The last chapter about cohomology of modules is written by David Eisenbud. The second appendix is by Juergen Herzog about Hilbert functions. The last appendix is a tutorial for Macaulay 2 by David Eisenbud, and the developers of Macaulay 2, Daniel Grayson and Micheal Stillman. The first appendix is a rather extensive primer on commutative algebra of about 60 pages.
My impression is that the book is intended for researchers that need to do non-trivial computations. The book will also make a nice entry point for a graduate course that can lead to computational projects. The author claims that as a necessary background the standard reference of Atiyah-Macdonald is sufficient. But this is not completely fair, as the basic tools as the Groebner bases and syzygies are treated only from a bird's eye viewpoint, and not in the depth that a reader needs to do computations.
The author has refrained from including any but the smallest examples, because of the large size that examples would occupy in the text. Personally I do not find this choice very satisfactory. I agree that that listings of code from examples make a bad reading, but a simple solution could be to include a CD-rom with worked out examples, or to provide resources via the Web. The book is written in the language of commutative algebra. For algebraic geometers this implies that also the transition from the commutative algebraic formulation has to be made. Nevertheless, most of the material is of equal importance for both fields.
Included in the text is a very short discussion of computer algebra systems. I fully agree with the author that it would be nice to see a system like Maple or Mathematica accompagnated by a real Groebner basis engine. All examples are in Macaulay 2. Probably this is inspired by the fact that Macaulay has been developed for commutative algebra and algebraic geometry. However, I would have expected somewhat more references to Singular in the text.
Concluding we can say that we can find in this book the commutative algebra that is needed to be able to apply computer algebraic computations, but it is not a book that tells you how to do an implementation of a particular algorithm. Algebra and geometry are fields of mathematics with a long history and a large degree of sophistication. Abstract theory has been developed and used also to circumvent the fact the computations are hard. Adding computer algebra to the picture does not change it right away. If the long term goal is to be able to compute the objects that are the subjects of current research, we are perhaps no longer in the stone age, but still in the iron age. This book is a step in the evolution.