Computer algebra systems are now ubiquitous in all areas of science and engineering. This highly successful textbook, widely regarded as the 'bible of computer algebra', gives a thorough introduction to the algorithmic basis of the mathematical engine in computer algebra systems. Designed to accompany one- or two-semester courses for advanced undergraduate or graduate students in computer science or mathematics, its comprehensiveness and reliability has also made it an essential reference for professionals in the area. Special features include: detailed study of algorithms including time analysis; implementation reports on several topics; complete proofs of the mathematical underpinnings; and a wide variety of applications (among others, in chemistry, coding theory, cryptography, computational logic, and the design of calendars and musical scales). A great deal of historical information and illustration enlivens the text. In this third edition, errors have been corrected and much of the Fast Euclidean Algorithm chapter has been renovated.
Computer algebra systems are gaining importance in all areas of science and engineering. This textbook gives a thorough introduction to the algorithmic basis of the mathematical engine in computer algebra systems. It is designed to accompany one- or two-semester courses for advanced undergraduate or graduate students in computer science or mathematics. Its comprehensiveness and authority also make it an essential reference for professionals in the area. Special features include: detailed study of algorithms including time analysis; implementation reports on several topics; complete proofs of the mathematical underpinnings; a wide variety of applications (among others, in chemistry, coding theory, cryptography, computational logic, and the design of calendars and musical scales). Some of this material has never appeared before in book form. For the new edition, errors have been corrected, the text has been smoothed and updated, and new sections on greatest common divisors and symbolic integration have been added.
Algorithms for Computer Algebra is the first comprehensive textbook to be published on the topic of computational symbolic mathematics. The book first develops the foundational material from modern algebra that is required for subsequent topics. It then presents a thorough development of modern computational algorithms for such problems as multivariate polynomial arithmetic and greatest common divisor calculations, factorization of multivariate polynomials, symbolic solution of linear and polynomial systems of equations, and analytic integration of elementary functions. Numerous examples are integrated into the text as an aid to understanding the mathematical development. The algorithms developed for each topic are presented in a Pascal-like computer language. An extensive set of exercises is presented at the end of each chapter. Algorithms for Computer Algebra is suitable for use as a textbook for a course on algebraic algorithms at the third-year, fourth-year, or graduate level. Although the mathematical development uses concepts from modern algebra, the book is self-contained in the sense that a one-term undergraduate course introducing students to rings and fields is the only prerequisite assumed. The book also serves well as a supplementary textbook for a traditional modern algebra course, by presenting concrete applications to motivate the understanding of the theory of rings and fields.
Modern Computer Arithmetic focuses on arbitrary-precision algorithms for efficiently performing arithmetic operations such as addition, multiplication and division, and their connections to topics such as modular arithmetic, greatest common divisors, the Fast Fourier Transform (FFT), and the computation of elementary and special functions. Brent and Zimmermann present algorithms that are ready to implement in your favorite language, while keeping a high-level description and avoiding too low-level or machine-dependent details. The book is intended for anyone interested in the design and implementation of efficient high-precision algorithms for computer arithmetic, and more generally efficient multiple-precision numerical algorithms. It may also be used in a graduate course in mathematics or computer science, for which exercises are included. These vary considerably in difficulty, from easy to small research projects, and expand on topics discussed in the text. Solutions are available from the authors.
This book provides a systematic approach for the algorithmic formulation and implementation of mathematical operations in computer algebra programming languages. The viewpoint is that mathematical expressions, represented by expression trees, are the data objects of computer algebra programs, and by using a few primitive operations that analyze and
The book provides an introduction to modern abstract algebra and its applications. It covers all major topics of classical theory of numbers, groups, rings, fields and finite dimensional algebras. The book also provides interesting and important modern applications in such subjects as Cryptography, Coding Theory, Computer Science and Physics. In particular, it considers algorithm RSA, secret sharing algorithms, Diffie-Hellman Scheme and ElGamal cryptosystem based on discrete logarithm problem. It also presents Buchberger’s algorithm which is one of the important algorithms for constructing Gröbner basis. Key Features: Covers all major topics of classical theory of modern abstract algebra such as groups, rings and fields and their applications. In addition it provides the introduction to the number theory, theory of finite fields, finite dimensional algebras and their applications. Provides interesting and important modern applications in such subjects as Cryptography, Coding Theory, Computer Science and Physics. Presents numerous examples illustrating the theory and applications. It is also filled with a number of exercises of various difficulty. Describes in detail the construction of the Cayley-Dickson construction for finite dimensional algebras, in particular, algebras of quaternions and octonions and gives their applications in the number theory and computer graphics.
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 polyno
Thirty years ago mathematical, as opposed to applied numerical, computation was difficult to perform and so relatively little used. Three threads changed that: the emergence of the personal computer; the discovery of fiber-optics and the consequent development of the modern internet; and the building of the Three “M’s” Maple, Mathematica and Matlab. We intend to persuade that Mathematica and other similar tools are worth knowing, assuming only that one wishes to be a mathematician, a mathematics educator, a computer scientist, an engineer or scientist, or anyone else who wishes/needs to use mathematics better. We also hope to explain how to become an "experimental mathematician" while learning to be better at proving things. To accomplish this our material is divided into three main chapters followed by a postscript. These cover elementary number theory, calculus of one and several variables, introductory linear algebra, and visualization and interactive geometric computation.
The central problem considered in this introduction for graduate students is the determination of rational parametrizability of an algebraic curve and, in the positive case, the computation of a good rational parametrization. This amounts to determining the genus of a curve: its complete singularity structure, computing regular points of the curve in small coordinate fields, and constructing linear systems of curves with prescribed intersection multiplicities. The book discusses various optimality criteria for rational parametrizations of algebraic curves.