Computer Algebra

Computer Algebra is the field of study that encompasses theorems, algorithms, data structures, and software design that make it possible for a computer to do symbolic calculations. As such, it overlaps with mathematics and computer science. The words 'algebra' and 'symbolic' are used to suggest that the computer can and does solve for x and is not limited to numeric computations.

Issues in Computer Algebra

Annotated Bibliography

Abelson, Sussman. Structure and Interpretation of Computer Programs
This book is a wonderful introduction to computer science. It provides various practical techniques for managing the complexity of computer programs. There are many case studies including two computer algebra related programs: differentiation and polynomial arithmetic.

Baader, Nipkow. Term Rewriting and All That
Although computer algebra systems often use algebraic techniques, sometimes term rewriting is the best way to simplify an expression. This book focuses on the details of term rewriting and clearly discusses the issues of termination and confluence. Knuth-Bendix completion is discussed as is its connection Buchberger's algorithm for computing Groebner bases.

Bronstein. Symbolic Integration I: Transcendental Functions
This is the book for a detailed discussion of the theory and practice of algorithmic integration of transcendental functions.

Cox, Little, O'Shea. Ideals, Varieties, and Algorithms: An Introduction to Computational Algebraic Geometry and Commutative Algebra
This book is simply an introduction to algebra. However, instead of the usual treatment, the focus is on multivariate polynomials and ideals. Thus Groebner bases are explained in only the second chapter.

Davenport, Siret, Tournier. Computer Algebra: Systems and Algorithms for Algebraic Computation
This book is a broad introduction to computer algebra as the title suggests; however, it is short and can be quite terse. Interestingly, the brevity often works in its favor; the authors often manage to explain a subtle concept in a single sentence. A broad range of topics is discussed: the representation of various mathematical objects, simplification of polynomial systems, advanced methods for GCDs (little space is given to elementary methods), algorithmic integration, and techniques for solving ordinary differential equations.

Geddes, Czapor, Labahn. Algorithms for Computer Algebra
This book is a solid introduction to computer algebra. It introduces the ideas of polynomial representation and polynomial algebra and goes on to discuss the issues involved in computing the GCD. It then goes on to discuss solutions of systems of linear and non-linear polynomial equations, and algorithmic integration. All of these discussions are methodical and to-the-point.

Graham, Knuth, Patashnik. Concrete Mathematics
This book is an alternative to the usual discrete math text. It includes a nice introduction to summation and goes on to describe a more advanced summation algorithm.

Knuth. The Art of Computer Programming Vol. 2: Seminumerical Algorithms
A classic computer science text. It includes algorithms and discussion concerning multi-precision integer arithmetic. It also includes an introduction to GCD computation and power series manipulation.

Norvig. Paradigms of Artificial Intelligence Programming: Case Studies in Common LISP
Although he is generally interested in artificial intelligence techniques, two of his case studies concern computer algebra. It is instructive to contrast the pattern-matching approach with the polynomial approach.

Petkovsek, Wilf, Zeilberger. A=B
The authors discuss the general question of how to decide if two terms are equal. They go on to focus on the various approaches to symbolic summation. The book concludes with a powerful algorithm to compute sums.

von zur Gathen, Gerhard. Modern Computer Algebra
This book is a general introduction to the subject. It also includes applications of computer algebra. The order of the material is unusual; it is grouped by the great mathematicians. Although the text is fairly thick, integration and summation do not receive a full treatment.

Zippel. Effective Polynomial Computation
Polynomial algorithms are crucial for computer algebra. This book focuses on that subject. It includes discussion of elementary notions of arithmetic on polynomials, as well as advanced algorithms for GCD and factoring.