You are here

Computer Algebra: An Algorithm-Oriented Introduction

Wolfram Koepf
Publication Date: 
Number of Pages: 
Springer Undergraduate Texts in Mathematics and Technology
[Reviewed by
John D. Cook
, on
A book with the title Computer Algebra could be about a lot of different things. Wolfram Koepf’s book by that title has the subtitle “An Algorithm-Oriented Introduction,” which still leaves a number of questions unanswered.
  1. Is the book more oriented toward mathematics or computer science?
  2. Is the audience those who might implement a computer algebra system or those who might use a computer algebra system?
  3. Is the book about a particular computer algebra system?
Any book on computer algebra will necessarily be somewhere in the gray area between computer science and mathematics, but to answer our first question, Koepf’s book is closer to the mathematics end. The book analyzes and implements algorithms, but without the emphasis on measuring and optimizing efficiency you would expect from a book written for computer scientists.
This leads to our second question, of whether the book is more oriented toward producers or consumers of computer algebra systems. The answer is the latter, users of computer algebra systems. The book does implement algorithms, but these implementations start from fairly high-level functions provided by a computer algebra system. Maybe some readers of the book will start out as consumers and turn into producers.
The answer to our third question is a little complicated. The book primarily uses Mathematica. All the code in the book is Mathematica code, unless I overlooked something. However, the book’s website provides corresponding code in Maple and Maxima. Although the book heavily uses Mathematica, it's not the kind of book you'd expect to see from the creators of Mathematica.
Koepf’s Computer Algebra is a mathematics book, organized by mathematical topics and devoted to solving mathematical problems. It contains fewer theorems than, say, an algebra textbook, but it contains much more theory than you would see in a book primarily about a software package. The book uses Mathematica, but isn't a book about Mathematica per see.  If you do want to dive deeply into Mathematica, Koepf recommends Michael Trott’s impressive/intimidating series of Mathematica guidebooks. But if you'd rather read 400 pages than 4,000 pages, then Koepf is closer to what you’re looking for than Trott.
The mathematical prerequisites for most of the book are modest. The following excerpt gives an indication of the level of sophistication in the book.
"I refrained from making deep algebraic arguments. … For example, the Chinese remainder theorem is presented as an algorithm and not as an isomorphism theorem."
The later chapters of the book wade into deeper water, though it’s unlikely someone using the book as a textbook would get that far in a single course. The author says he typically covers the first eight of the book’s twelve chapters in an introductory course. The later chapters delve into more advanced topics, such as hypergeometric functions and their applications to summation in closed form.
Koepf’s Computer Algebra is a solid introduction to symbolic computing. It starts out by showing how to use software to compute things the reader would presumably already know how to compute manually. As the book progresses, the reader is likely to learn some new mathematics as well as how to carry out related computations. The book is an appropriate mixture of theory and tangible computation.
John D. Cook is an independent consultant working in applied mathematics.