ebook img

Polynomial Algorithms in Computer Algebra PDF

283 Pages·1996·4.58 MB·English
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Polynomial Algorithms in Computer Algebra

Texts and Monographs in Symbolic Computation A Series of the Research Institute for Symbolic Computation, Johannes-Kepler-University, linz, Austria Edited by B. Buchberger and G. E. Collins F. Winkler Polynomial Algorithms in Computer Algebra Springer-Verlag Wien GmbH Dipl.-Ing. Df. Franz Winkler Research Institute for Symbolic Computation Johannes-Kepler-University Linz, Linz, Austria This work is subject to copyright. AII rights are reserved, whether the whole or part of the material is concerned, specif ically those of translation, reprinting, re-use of illustrations, broadcasting, reproduction by photo-copying machi nes or similar means, and storage in data banks. © 1996 Springer-Verlag Wien Originally published by Springer-VerlaglWien in 1996 Data con vers ion by H.-D. Ecker, Btiro ftir Textverarbeitung, Bonn Printed on acid-free and chlorine-free bleached paper With 13 Figures Library of Congress Cataloging-in-Publication Data Winkler, Franz. Polynomial algorithms in computer algebra / Franz Winkler. p. cm. - (Texts and monographs in symbolic computation, ISSN 0943-853X) Includes bibliographical references and index. ISBN 978-3-211-82759-8 ISBN 978-3-7091-6571-3 (eBook) DOI 1O.l007/978-3-7091-6571-3 1. Algebra-Data processing. 2. Computer algorithms. I. Title. II. Series. QAI55.7.E4W56 1996 512.9'42-dc20 96-7170 CIP ISSN 0943-853X ISBN 978-3-211-82759-8 Preface For several years now I have been teaching courses in computer algebra at the Universitat Linz, the University of Delaware, and the Universidad de Alcala de Henares. In the summers of 1990 and 1992 I have organized and taught summer schools in computer algebra at the Universitat Linz. Gradually a set of course notes has emerged from these activities. People have asked me for copies of the course notes, and different versions of them have been circulating for a few years. Finally I decided that I should really take the time to write the material up in a coherent way and make a book out of it. Here, now, is the result of this work. Over the years many students have been helpful in improving the quality of the notes, and also several colleagues at Linz and elsewhere have contributed to it. I want to thank them all for their effort, in particular I want to thank B. Buchberger, who taught me the theory of Grabner bases nearly two decades ago, B. F. Caviness and B. D. Saunders, who first stimulated my interest in various problems in computer algebra, G. E. Collins, who showed me how to compute in algebraic domains, and J. R. Sendra, with whom I started to apply computer algebra methods to problems in algebraic geometry. Several colleagues have suggested improvements in earlier versions of this book. However, I want to make it clear that I am responsible for all remaining mistakes. Research of the author was partially supported by Osterreichischer Fonds zur Farderung der wissenschaftlichen Forschung, project nos. P6763 (ASAG) and P8573 (SGC). Let me give a brief overview of the contents of this book. In Chap. I a mo tivation for studying computer algebra is given, and several prerequisites for the area, such as algebraic preliminaries, representation of algebraic structures, and complexity measurement are introduced. Some of the more important basic domains of computer algebra are investigated in Chap. 2. Of course, this list is by no means exhaustive. So, for instance, power series and matrices have not been included in the list. The criterion for including a particular basic domain was its importance for the more advanced topics in the subsequent chapters. Computation by homomorphic images is presented in Chap. 3. Such homomor phic images will be of great importance in gcd computation and factorization of polynomials. These topics are dealt with in Chaps. 4 and 5. Chapter 6 con tains algorithms for decomposition of polynomials. Linear systems appear often as subproblems in different areas of computer algebra. They are investigated in Chap. 7. Problems like computation of resultants, gcds, or factorizations of poly nomials can be reduced to certain linear systems, so-called Hankel systems. In Chap. 8 an introduction to the theory of Grabner bases for polynomial ideals is given, and Grabner bases are applied to some important problems in polynomial VI ideal theory and solution of systems of polynomial equations. In the last three chapters, polynomial algorithms are applied to some higher level problems in computer algebra. Problems in real algebraic geometry can be decided by decid ing problems in the elementary theory of real closed fields, i.e., by polynomial algorithms. Such a decision algorithm is presented in Chap. 9. Chapter 10 gives a description of Gosper's algorithm for solving summation problems. Finally, in Chap. 11, gcd computation, factorization, and solution of systems of algebraic equations are applied for deriving an algorithm for deciding whether an alge braic curve can be parametrized by rational functions, and if so for computing such a parametrization. Clearly there are important topics in computer algebra missing from the contents of this book, such as simplification of expressions, integration of ele mentary functions, computer algebra solutions to differential equation problems, or algebraic computations in finite group theory. Including all these other top ics would increase the size of the book beyond any reasonable bound. For this reason I limit myself to discussing that part of computer algebra, which deals with polynomials. In recent years several books on computer algebra have been published. They all approach the field from their own particular angle. The emphasis in this book is on introducing polynomial algorithms in computer algebra from the bottom up, starting from very basic problems in computation over the integers, and finally leading to, e.g., advanced topics in factorization, solution of polynomial equations and constructive algebraic geometry. Along the way, the complexity of many of the algorithms is investigated. I hope that this book might serve as the basis for exciting new developments in computer algebra. Franz Winkler Contents 1 Introduction 1 1.1 What is computer algebra? 1.2 Program systems in computer algebra 8 1.3 Algebraic preliminaries 13 1.4 Representation of algebraic structures 18 1.5 Measuring the complexity of algorithms 22 1.6 Bibliographic notes 24 2 Arithmetic in basic domains 26 2.1 Integers 26 2.2 Polynomials 37 2.3 Quotient fields 43 2.4 Algebraic extension fields 45 2.5 Finite fields 47 2.6 Bibliographic notes 50 3 Computing by homomorphic images 51 3.1 The Chinese remainder problem and the modular method 51 3.2 p-adic approximation 61 3.3 The fast Fourier transform 67 3.4 Bibliographic notes 81 4 Greatest common divisors of polynomials 82 4.1 Polynomial remainder sequences 82 4.2 A modular gcd algorithm 91 4.3 Computation of resultants 96 4.4 Squarefree factorization 101 4.5 Squarefree partial fraction decomposition 104 4.6 Integration of rational functions 105 4.7 Bibliographic notes 111 5 Factorization of polynomials 112 5.1 Factorization over finite fields 112 5.2 Factorization over the integers 115 5.3 A polynomial-time factorization algorithm over the integers 125 5.4 Factorization over algebraic extension fields 140 viii 5.5 Factorization over an algebraically closed field 146 5.6 Bibliographic notes ISO 6 Decomposition of polynomials 151 6.1 A polynomial-time algorithm for decomposition lSI 6.2 Bibliographic notes 156 7 Linear algebra - solving linear systems 157 7.1 Bareiss's algorithm 157 7.2 Hankel matrices 163 7.3 Application of Hankel matrices to polynomial problems 166 7.4 Bibliographic notes 171 8 The method of Grobner bases 172 8.1 Reduction relations 172 8.2 Polynomial reduction and Grabner bases 179 8.3 Computation of Grabner bases 183 8.4 Applications of Grabner bases 189 8.5 Speed-ups and complexity considerations 201 8.6 Bibliographic notes 202 9 Quantifier elimination in real closed fields 204 9.1 The problem of quantifier elimination 204 9.2 Cylindrical algebraic decomposition 206 9.3 Bibliographic notes 214 10 Indefinite summation 215 10.1 Gosper's algorithm 215 10.2 Bibliographic notes 223 11 Parametrization of algebraic curves 224 11.1 Plane algebraic curves 224 11.2 A parametrization algorithm 230 11.3 Bibliographic notes 236 Solutions of selected exercises 237 References 249 Subject index 265 1 Introduction 1.1 What is computer algebra? In the recent decades it has been more and more realized that computers are of enormous importance for numerical computations. However, these powerful general purpose machines can also be used for transforming, combining and computing symbolic algebraic expressions. In other words, computers can not only deal with numbers, but also with abstract symbols representing mathemat ical formulas. This fact has been realized much later and is only now gaining acceptance among mathematicians and engineers. Mathematicians in the old period, say before 1850 A.D., solved the majority of mathematical problems by extensive calculations. A typical example of this type of mathematical problem solver is Euler. Even Gauss in 180 I temporarily abandoned his research in arithmetic and number theory in order to calculate the orbit of the newly discovered planetoid Ceres. It was this calculation much more than his masterpiece Disquisitiones Arithmeticae which became the basis for his fame as the most important mathematician of his time. So it is not astonishing that in the 18th and beginning 19th centuries many mathematicians were real wizzards of computation. However, during the 19th century the style of mathematical research changed from quantitative to qual itative aspects. A number of reasons were responsible for this change, among them the importance of providing a sound basis for the vast theory of analysis. But the fact that computations gradually became more and more complicated certainly also played its role. This impediment has been removed by the advent of modern digital computers in general and by the development of program systems in computer algebra, in particular. By the aid of computer algebra the capacity for mathematical problem solving has been decisively improved. Even in our days many mathematicians think that there is a natural division of labor between man and computer: a person applies the appropriate algebraic transformations to the problem at hand and finally arrives at a program which then can be left to a "number crunching" computer. But already in 1844, Lady Augusta Ada Byron, countess Lovelace, recognized that this division of labor is not inherent in mathematical problem solving and may be even detrimental. In describing the possible applications of the Anal.vtical Engine developed by Charles Babbage she writes: "Many persons who are not conversant with mathematical studies imagine that because the business of [Babbage's Analytical Engine] is to give its results in numerical notation, the nature of its processes must consequently be arithmetical 2 Introduction and numerical rather than algebraic and analytical. This is an error. The engine can arrange and combine its numerical quantities exactly as if they were letters or any other general symbols; and in fact it might bring out its results in algebraic notation were provisions made accordingly." And indeed a modem digital computer is a "universal" machine capable of carrying out an arbitrary algorithm, i.e., an exactly specified procedure, algebraic algorithms being no exceptions. An attempt at a definiton Now what exactly is symbolic algebraic computation or, in other words, com puter algebra? In his introduction to Buchberger et al. (1983), R. Loos made the following attempt at a definition: "Computer algebra is that part of computer science which designs, analyzes, implements, and applies algebraic algorithms." While it is arguable whether computer algebra is part of computer science or mathematics, we certainly agree with the rest of the statement. In fact, in our view computer algebra is a special form of scientific computation, and it com prises a wide range of basic goals, methods, and applications. In contrast to numerical computation the emphasis is on computing with symbols represent ing mathematical concepts. Of course that does not mean that computer algebra is devoid of computations with numbers. Decimal or other positional represen tations of integers, rational numbers and the like appear in any symbolic com putation. But integers or real numbers are not the sole objects. In addition to these basic numerical entities, computer algebra deals with polynomials, rational functions, trigonometric functions, algebraic numbers, etc. That does not mean that we will not need numerical algorithms any more. Both forms of scientific computation have their merits and they should be combined in a computational environment. For instance, in order to compute an approximate solution to a differential equation it might be reasonable to determine the first n terms of a power series solution by exact methods from computer algebra before handing these terms over to a numerical package for evaluating the power series. Summarizing, we might list the following characteristics of computer alge bra: 1. Computer algebra is concerned with computing in algebraic structures. This might mean in basic algebraic number domains, in algebraic extensions of such domains, in polynomial rings or function fields, in differential or differ ence fields, in the abstract setting of group theory, or the like. Often it is more economical in terms of computation time to simplify an expression algebraically before evaluating it numerically. In this way the expression becomes simpler and less prone to numerical errors. 2. The results of computer algebra algorithms are exact and not subject to approximation errors. So, typically, when we solve a system of algebraic

See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.