This very short book (about 110 pages of text) is an introduction to some of the more elementary aspects of algebraic geometry from a computational point of view, using as a tool the (freely available) computer algebra system SINGULAR, no prior knowledge of which is assumed. This is a computer algebra system designed for use with polynomials, intended for algebraic geometers; the authors of this text head up the core development team for SINGULAR at the University of Kaiserslautern.

This text is part of the AIMS (African Institute for the Mathematical Sciences) Lecture Notes series, and is based on a course taught there by the authors. The second author of this book is also a co-author of *A SINGULAR Introduction to Commutative Algebra*, reviewed in this column about five years ago; the book now under review can reasonably be viewed as preliminary reading for this much more advanced and sophisticated text, to which references for further details are frequently made. The idea behind the current book is not to make experts of the reader but to simply give the novice (with, say, a solid first-semester course in abstract algebra as background) a concise introduction to more demanding reading.

There is, of course, a great deal of very difficult mathematics in algebraic geometry, but at its most basic and elementary level, the general idea of the subject can be easily explained: one uses algebra (specifically, polynomial rings in *n* variables over a field) to study geometric objects (namely, sets of points in *n*-dimensional affine or projective space that are defined as the set of solutions to a collection of polynomials). This in turn leads to computations in the polynomial ring, and provokes questions, such as: Given an ideal I in the polynomial ring generated by a finite collection of polynomials, is there a feasible computational way of determining whether I is or is not a proper ideal? Given two ideals I and J, each generated by a finite collection of polynomials, is there a computational way to determine a generating set for the intersection of I and J? Other questions also arise naturally as one digs deeper into the commutative algebra surrounding these ideals.

It turns out that there are indeed algorithms to answer these questions, and that is the essential subject matter of this book. After an introductory look (in “chapter 0”) at computer algebra systems, with of course particular emphasis on SINGULAR, the book proceeds to chapter 1, which, comprising almost half the text in length, sets out the basics of the subject. The correspondence (“dictionary”) between ideals in the polynomial ring and the geometric objects (algebraic sets) in the affine or projective spaces, is described and the standard theorems (Bezout’s theorem, Hilbert Basis theorem, Nullstellensatz, existence of the Hilbert polynomial, etc.) are stated (but not always proved). SINGULAR is used to generate nontrivial examples, and as the development proceeds computational questions, including the two referred to in the previous paragraph, are posed (but not, at this point, solved).

Chapter 2, entitled Computations, looks more closely at the computational problems that were mentioned in the previous chapter and provides algorithms for their solutions, giving in the process a more detailed discussion of SINGULAR. This chapter also provides an introduction to Gröbner bases, which are used in the algorithms. (A Gröbner basis is a set of generators for an ideal in the polynomial ring, chosen so as to have certain nice properties related to an ordering on the set of monomials; they can be computed using something called Buchberger’s Algorithm, also discussed in this chapter.)

These two chapters are the heart of the book. The remaining two chapters address interesting applications of this material. Specifically, chapter 3 talks about Sudoku puzzles and how Gröbner bases can be used to solve them. This material is not easy to find in the textbook literature; the only other textbook that I have ever seen that mentions this connection is *Taking Sudoku Seriously* by Rosenhouse and Taalman, and the authors there (reasonably, but frustratingly) stop short of actually going through the details: “With some regret we have decided such methods are too complex to describe, in a reasonable amount of space, in this book.”

Chapter 4 is essentially a summary of a recent paper (by a number of authors, one of them Pfister) describing how the methods of computational algebraic geometry can be used to solve a problem in group theory, namely characterizing finite solvable groups by certain identities. The authors do not provide full details, of course, but at least illustrate the idea of the proof, a process that is itself quite nontrivial and requires some discussion of sophisticated concepts such as the Hasse-Weil theorem for elliptic curves. Given the background of the presumtive audience, I have some doubts as to how successful this chapter will prove to be in practice.

The AIMS Lecture Notes series is, according to the back-cover blurb, “a series of up-to-date self-study guides”; they are intended to be “compact, focused on the essentials, and … designed to convey a maximum number of usable ideas in the minimum of time.” In particular, books in this series are probably not intended to be used as course texts, and indeed several factors may complicate this book’s use in that regard. First, there are no exercises in it, but a link is given in the preface to a document available for download that contains a list of 24 exercises, both of the “regular” and “laboratory” varieties (the laboratory exercises call for programming). Unfortunately, the exercises are not sorted by section or even by chapter, and of course 24 exercises for an entire text is not a large amount.

In addition, I doubt that there is enough material here to support a full semester course, particularly since the instructor of such a course may want to spend more time on the basics and less time on such topics as are covered in chapters 3 and 4 — topics which, though undeniably interesting, are perhaps too tangential for a first look at the material. In addition, even for those topics that are covered, there is probably not enough detail by textbook standards; a number of results are stated without proof (but with references), and when proofs are given the exposition is quite succinct.

There are, of course, other books on the subject of computational algebraic geometry that clearly *are* intended to be used as texts. Perhaps the most well-known example is *Ideals, Varieties and Algorithms: An Introduction to Computational Algebraic Geometry and Commutative Algebra* by Cox, Little and O’Shea [CLO], which is about four times the length of this book and also covers more material, including a proof of Bezout’s theorem, resultants, and a chapter on robotics. The exposition in CLO is more leisurely and chatty and better suited to classroom use than is the book under review. Another significant difference is that, unlike this book, CLO does not use SINGULAR or, indeed, any one specific computer algebra system, but instead uses pseudocode.

There are also some books that cover this material at a considerably more sophisticated level. Schenk’s *Computational Algebraic Geometry, *for example, covers topics like homological algebra, sheaves and cohomology that are not even hinted at in this book. There is also a sequel to CLO by the same authors, *Using Algebraic Geometry*, which goes into greater depth on the applications of computational algebraic geometry.

So, for anybody teaching a one-semester course in computational algebraic geometry, I would recommend something like CLO rather than this book. But for somebody who wants a quick introduction to the basics of the area and a sense of how the material can be applied in interesting problems, this book would be definitely be worth looking at.

Mark Hunacek (mhunacek@iastate.edu) teaches mathematics at Iowa State University.