Excerpts from the Preface:
Systems of polynomial equations arise throughout mathematics, science, and engineering. Algebraic geometry provides powerful theoretical techniques for studying the qualitative and quantitative features of their solution sets. Recently developed algorithms have made theoretical aspects of the subject accessible to a broad range of mathematicians and scientists. The algorithmic approach to the subject has two principal aims: developing new tools for research within mathematics, and providing new tools for modeling and solving problems that arise in the sciences and engineering. A healthy synergy emerges, as new theorems yield new algorithms and emerging applications lead to new theoretical questions.
This book presents algorithmic tools for algebraic geometry and experimental applications of them. It also introduces a software system in which the tools have been implemented and with which the experiments can be carried out. Macaulay 2
is a computer algebra system devoted to supporting research in algebraic geometry, commutative algebra, and their applications. The reader of this book will encounter Macaulay 2 in the context of concrete applications and practical computations in algebraic geometry.
The expositions of the algorithmic tools presented here are designed to serve as a useful guide for those wishing to bring such tools to bear on their own problems. A wide range of mathematical scientists should find these expositions valuable. This includes both the users of other programs similar to Macaulay 2 (for example, Singular and CoCoA) and those who are not interested in explicit machine computations at all.
The chapters are ordered roughly by increasing mathematical difficulty. The first part
of the book is meant to be accessible to graduate students and computer algebra users from across the mathematical sciences and is primarily concerned with introducing Macaulay 2. The second part
emphasizes the mathematics: each chapter exposes some domain of mathematics at an accessible level, presents the relevant algorithms, sometimes with proofs, and illustrates the use of the program. In both parts, each chapter comes with its own abstract and its own bibliography; the index at the back of the book covers all of them.