Computer algebra is the field of mathematics and computer science that is concerned with the development, implementation, and application of algorithms that manipulate and analyze mathematical expressions. This book and the companion text, Computer Algebra and Symbolic Computation: Mathematical Methods, are an introduction to the subject that addresses both its practical and theoretical aspects. This book, which addresses the practical side, is concerned with the formulation of algorithms that solve symbolic mathematical problems, and with the implementation of these algorithms in terms of the operations and control structures available in computer algebra programming languages. Mathematical Methods, which addresses more theoretical issues, is concerned with the basic mathematical and algorithmic concepts that are the foundation of the subject. Both books serve as a bridge between texts and manuals that show how to use computer algebra software and graduate level texts that describe algorithms at the forefront of the field.
These books have been in various stages of development for over 15 years. They are based on the class notes for a two-quarter course sequence in computer algebra that has been offered at the University of Denver every other year for the past 16 years. The first course, which is the basis for Elementary Algorithms, attracts primarily undergraduate students and a few graduate students from mathematics, computer science, and engineering. The second course, which is the basis for Mathematical Methods, attracts primarily graduate students in both mathematics and computer science. The course is cross-listed under both mathematics and computer science.
Mathematica, Maple, and similar software packages provide programs that carry out sophisticated mathematical operations. Applying the ideas introduced in Computer Algebra and Symbolic Computation: Elementary Algorithms, this book explores the application of algorithms to such methods as automatic simplification, polynomial decomposition, and polynomial factorization.
It is well-suited for self-study and can be used as the basis for a graduate course.