Computer algebra deals with the algebraic manipulation of expressions and overcomes some of the drawbacks of numerical analysis, which has truncation and roundoff errors. This book is a fine introduction to this field and its many applications. The book consists of three parts, (1) “Introduction,” (2) “Mathematical Foundations and Basic Algorithms,” and (3) “Applications and Advanced Topics.” The introduction contains one chapter, Part 2 is divided into two chapters, and Part 3 comprises four chapters.
The introduction motivates the reader and illustrates the differences between computer algebra and numerical analysis. It also briefly mentions computer algebra systems such as MACSYMA, REDUCE, SAC-1, MUMATH, and MAPLE.
Chapter 2 is a brief introduction to computational number theory, including GCD algorithms, integer factorization, and modular arithmetic. Chapter 3 discusses polynomials. It gives techniques for finding the GCD of polynomials over a field and discusses Galois fields. The author also mentions the coefficient growth in GCD computation, irreducible factors of polynomials, and square-free factorization of polynomials.
Chapters 4 through 7 discuss applications and advanced topics. Chapter 4 covers error-correcting codes (Hamming codes and BCH codes) and applications in cryptography (including public key cryptography).
Chapters 5, 6, and 7 cover advanced topics dealing with polynomials. Chapter 5 discusses the GCD of two polynomials. It introduces algorithms for pseudo remainder sequences and gently provides motivation for and discussion of the resultant and subresultant of two polynomials.
Chapter 6 deals with the factorization of polynomials over the integers. It gives a very detailed discussion of the factorization of polynomials over a finite field by treating square-free factorization and Hensel lifting.
Chapter 7 discusses real roots of polynomial equations. Alkiviadis introduces Sturm’s and Budan’s methods for the isolation of real roots and compares these two methods.
Each chapter not only proves theorems but gives algorithms. A good collection of exercises, including programming exercises, appears at the end of each chapter. I like the book very much.