The book under review is the first volume of the authors' `Computational commutative algebra'. The second volume will appear soon. The title of the two books is the authors' program. They give a rather complete picture about commutative algebra around polynomial rings with respect to concrete computational problems. More precisely, they introduce the theory of modules over polynomial rings (and their factor rings) located around twelve basic problems summarized in the introduction. Among them the ideal membership problem, how to calculate with ideals and modules, the computation of syzygies, the elimination problem, how to handle homomorphisms of modules, and the solution of polynomial equations in several variables. The techniques developed here and related to these basic questions have numerous applications. The authors discuss several of them in the course of their presentations.
The aim of the text is twofold. One might use it for an introduction of more sophisticated techniques of commutative algebra. So the basic concepts are explained from the very beginning, based on an undergraduate course in algebra. On the other hand it may be used in order to illustrate advanced concepts of algebra from a concrete and computational point of view as it may be welcome for a seminar. To an interested reader the authors give advices for the use of the computer algebra system CoCoA for practical and experimental exercises. The central tool of all of the authors' introductory problems and questions is the theory of Gröbner bases.
There are some well-written introductions to the subject among them those of W. W. Adams and P. Loustaunau [``An introduction to Gröbner bases'' (Providence 1994; Zbl 0803.13015)], D. Cox, J. Little, and D. O'Shea [``Ideals, varieties and algorithms'' (2nd ed. 1996; Zbl 0861.13012)], and chapter 15 of D. Eisenbud's book [``Commutative algebra with a view towards algebraic geometry'' (1995; Zbl 0819.13001)]. What is the authors' intention for another introductory text? First of all they fill a gap between most of the theoretical background and practical exercises. To this end they relate most of their investigations to exercises based on the computer algebra system CoCoA freely available under anonymous ftp.
In an appendix there are three chapters (A. ``How to get started with CoCoA'', B. ``How to program CoCoA'', C. ``A potpourri of CoCoA programs'') that encourage an interested reader to study details of CoCoA, necessary for an active learning of the theory, as well as the computer algebra system CoCoA.
Beginning with a short introduction the book consists of three main chapters divided into subsections. The first chaper `Foundations' provides an excursion into basics about polynonomial rings, monomial modules, term orderings and the division algorithm in several variables. The material covers Dickson's lemma and how to represent and compute residue classes of the modules. The advantage of this basic chapter (at least from the reviewer's point of view) is of begin of the investigations with the consequent study of modules. In introductory texts about Gröbner bases one often starts with ideals, later on claiming by `modus vivendi' the corresponding statements are also true for modules. The necessity for the consideration of modules turns out by the study of syzygies, even in the case of ideals.
Then syzygies as well as rewriting rules, Gröbner bases of ideals and modules, Buchberger's algorithm and Hilbert's Nullstellensatz are studied. Again the authors provide a clear and bright picture about various aspects of Gröbner bases. The chapter culminates in eleven equivalent conditions characterizing when a basis of a module is a Gröbner basis, illustrated by several examples also motivating further investigations.
The third chapter `First applications' is concerned with several standard applications of the Gröbner bases theory. It starts with the computation of syzygies, elementary operations and homomorphism of modules, continues with elimination theory, localizations and saturations, and finishes with homomorphisms of algebras and the solution of polynomial systems of equations. Thus it covers elements from homological algebra and algebraic geometry. A central sample of the applications is concerned with the solutions of polynomial equation in several variables. This theme becomes more and more important in different branches of mathematics.
Besides of this well-written and clearly presented introduction to the
subject completed by plenty of practical exersices (for some of them there
are hints to their solution) the book contains another highlight. At the
end of every section there are tutorials, alltogether 44 of them. Among
them those about Berlekamp's factorization algorithm, graph colorings,
splines, Diophantine systems and integer programming, and modern portfolio
theory. The ideas behind these tutorials are the following: