ebook img

Computer Algebra: Symbolic and Algebraic Computation PDF

282 Pages·1982·6.13 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 Computer Algebra: Symbolic and Algebraic Computation

Computing Supplementum 4 Computer Algebra SylfJbolic and Algebraic COlfJpufafion Edited by B. Buchberger, G. E. Collins, and R. Loos in cooperation with R. Albrecht Springer-Verlag Wien GmbH Prof. Dr. Bruno Buchberger Institut fur Mathematik Johannes Kepler Universităt Linz, Austria Praf. Dr. George Edwin Collins Computer Science Department University of Wisconsin-Madison Madison, Wis., U.S.A. Prof. Dr. Riidiger Loos Institut fUr Informatik I Universităt Karlsruhe Federal Republic of Germany This work is subject to copyright. AII rights are reserved, whether the whole Of part of the material is concerned, specifically those of translation, reprinting, re-use of illustrations, broadcasting, reproduction by photocopying machine Of similar means, and storage in data banks. © 1982 by Springer-Verlag Wien Originally published by Springer-VerlagjWien in 1982 With 5 Figures Library ofCongress Cataloging in Publication Data. Main entry under title: Computer algebra. (Computing. Supplementum; 4.) Includes index. 1. Algebra -Data processing -Addresses, essays, lectures. 2. Machine theory -Addresses, essays, lectures. 1. Buchberger, Bruno. Il. Collins, G. E. (George Edwin), 1928 - . III. Loos. R. (Rildiger), 1938 - . IV. Series: Computing (Springer. Verlag). Supplementum; 4. V. Title: Symbolic and algebraic computation. QAI55.7.E4C65. 1982.512'.028'54.82·10577 ISSN 0344-8029 ISBN 978-3-211-81684-4 ISBN 978-3-7091-3406-1 (eBook) DOI 10.1007/978-3-7091-3406-1 Preface The journal Computing has established a series of supplement volumes the fourth of which appears this year. Its purpose is to provide a coherent presentation of a new topic in a single volume. The previous subjects were Computer Arithmetic 1977, Fundamentals of Numerical Computation 1980, and Parallel Processes and Related Automata 1981; the topic of this 1982 Supplementum to Computing is Computer Algebra. This subject, which emerged in the early nineteen sixties, has also been referred to as "symbolic and algebraic computation" or "formula manipulation". Algebraic algorithms have been receiving increasing interest as a result of the recognition of the central role of algorithms in computer science. They can be easily specified in a formal and rigorous way and provide solutions to problems known and studied for a long time. Whereas traditional algebra is concerned with constructive methods, computer algebra is furthermore interested in efficiency, in implementation, and in hardware and software aspects of the algorithms. It develops that in deciding effectiveness and determining efficiency of algebraic methods many other tools - recursion theory, logic, analysis and combinatorics, for example - are necessary. In the beginning of the use of computers for symbolic algebra it soon became apparent that the straightforward textbook methods were often very inefficient. Instead of turning to numerical approximation methods, computer algebra studies systematically the sources of the inefficiency and searches for alternative algebraic methods to improve or even replace the algorithms. The remarkable results of computer algebra so far are scattered over conference proceedings, journal papers and technical reports. Until now no comprehensive treatment has been undertaken. The present volume is a first attempt at removing this gap. In sixteen survey articles the most important theoretical results, algorithms and software methods of computer algebra are covered, together with systematic references to literature. In addition, some new results are presented. Thus the volume should be a valuable source for obtaining a first impression of computer algebra, as well as for preparing a computer algebra course or for complementary reading. The preparation of some papers contained in this volume has been supported by grants from the Austrian "Fonds zur Forderung der wissenschaftlichen For schung" (Project No. 3877), the Austrian Ministry of Science and Research (Department 12, Dr. S. Hollinger), the United States National Science Foundation (Grand MCS-8009357) and the Deutsche Forschungsgemeinschaft (Lo-231-2). The work on the volume was greatly facilitated by the opportunity for the editors to stay VI Preface as VIsItors at the University of Delaware (Department of Computer and Information Sciences), at the General Electric Company (Research and Development Center, Schenectady) and at Rensselaer Polytechnic Institute (Mathematical Sciences Department), respectively. Our thanks go to all these institutions. The patient and experienced guidance and collaboration of the Springer-Verlag Wien during all the stages of production are warmly appreciated. The editors of the Cooperative editor of Supplementum Computing B. Buchberger R. Albrecht G. Collins R. Loos Contents Loos, R.: Introduction. . . . . . . . . . . . . . . . . . . . . . . . . . 1 Buchberger, B., Loos, R.: Algebraic Simplification . . . . . . . . . . 11 Neubiiser, J.: Computing with Groups and Their Character Tables. 45 Norman, A. C.: Integration in Finite Terms. . . . . . . . . . . . . . 57 Lafon, J. c.: Summation in Finite Terms . . . . . . . . . . . . . . . 71 Collins, G. E.: Quantifier Elimination for Real Closed Fields: A Guide to the Literature . . . . . . . . . . . . . . . . . . . . . . 79 Collins, G. E., Loos, R.: Real Zeros of Polynomials . . . 83 Kaltofen, E.: Factorization of Polynomials. . . . . . . . . 95 Loos, R.: Generalized Polynomial Remainder Sequences . 115 Lauer, M.: Computing by Homomorphic Images. . . . . 139 Norman, A. C.: Computing in Transcendental Extensions 169 Loos, R.: Computing in Algebraic Extensions. . . . . . . 173 Collins, G. E., Mignotte, M., Winkler, F.: Arithmetic in Basic Algebraic Domains. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189 van Hulzen, J. A., Calmet, J.: Computer Algebra Systems. . . 221 Calmet, J., van Hu1zen, J. A.: Computer Algebra Applications 245 Mignotte, M.: Some Useful Bounds. 259 Author and Subject Index . . . . . . . . . . . . . . . . . . . . . 265 Computing, Suppl. 4, 1-10 (1982) © by Springer-Verlag 1982 Introduction R. Loos, Karlsruhe Abstract In this introduction we first give a working definition of computer algebra. We then describe the organization of research activities in this field. Finally the overall structure and the intention of the present volume on computer algebra is explained. Some technical information (basic references, notation etc.) about the volume is given. 1. What Is Computer Algebra? 1.1 An Attempt at a Definition Computer algebra is that part of computer science which designs, analyzes, implements and applies algebraic algorithms. We may consider this as a working definition for the scope of the following chapters but we do not claim that this is the only possible one. The definition is based on the view that the study of algorithms is at the heart of computer science [I, 6, 13]. Compared with other algorithms, algebraic algorithms have simple formal specifications, have proofs of correctness and asymptotic time bounds which can be established on the base of a well developed mathematical theory. Furthermore, algebraic objects can be represented exactly in the memory of a computer, so that algebraic computations can be performed without loss of precision and significance. Usually, algebraic algorithms are implemented in software systems allowing input and output in the symbolic notation of algebra. For all these reasons, computer algebra has attracted an increasing interest in computer science, mathematics, and application areas. Negatively, one could say that computer algebra treats those subjects which are too computational to appear in an algebra text and which are too algebraic to be presented in a usual computer science text book. Another negative description says that computer algebra deals with non-numeric computations, a description which had only some content in the very early days of computing. Somewhat in between is Knuth's definition of seminumerical algorithms [12]. The chapter of this name in his series of books is the best introduction to parts of our subject. 1.2 The Relation to Algebra It is not easy to separate computer algebra from mathematical disciplines like algebra, analysis (calculus) and numerical analysis. Algebra has a long tradition of constructive tools, going back to Euclid's algorithm (at least), to Kronecker's [14] concept of constructions "in endlich vielen Schritten", to H. Weyl's [17] I Computing, Suppl. 4 2 R. Loos intuitionistic insistence on constructions, to Grete Hermann's [11] actual bounds for the number of steps in ideal theory algorithms. Even the influential book of van der Waerden on Modern Algebra [16] contains a bulk of constructive algebraic methods - at least in its early editions. Birkhoff [2, 3] emphasizes the role of "modern (i.e. symbolic) algebra" in computing. Many of the concepts and results of his universal algebra [4] belong to the basis of a rigorous theory of simplification (see this volume). Many-sorted term algebras correspond most precisely to the name symbolic algebra which is sometimes used instead of computer algebra. Already the Arabian word algebra means to shuffle a term from one side to the other side of an equation and Hasse [10] defines algebra as the theory of solving equations built up from the four arithmetical operations. Surprisingly, he points out already in 1957 that "the process (the general formal rules, formalisms, algorithms) of solving the equations, but not the objects" are at focus in algebra. Therefore, from this point of view there is very little difference between algebra and computer algebra as we described it. The same point of view is elaborated by Buchberger and Lichtenberger [7]. However, we would like to maintain formally a difference even if the same subject and the same algebraic algorithm is considered: in algebra the general rules underlying an algorithm are the primary object of study whereas in computer science the tool itself, the algorithm in all its aspects, including its efficiency and implementation, is the central theme. A little synopsis of constructive proofs presented in a sample of algebra books reveals quickly that very different views are possible and that, for example, the books of Lang represent the other end of the spectrum of views on algebra. We refer the reader to [3J and the following chapters to find his own point of view. 1.3 The Relation to Analysis The reader may be surprised to see in a text on computer algebra algorithms for integration, for computing with elementary transcendental functions or even for solving differential equations. There are several reasons for this inclusion. First: the algorithms just mentioned operate on terms and formulas and they produce symbolic output. Second: a closer look at these algorithms shows that all of them achieve their solution by some kind of algebraization of the problem. We mention only the family of Liouville type theorems. Third: there are algebraic counterparts of analytical concepts. The derivative of a polynomial can be defined in a pure combinatorial manner. The Newton iterations for computing zeros can be replaced by p-adic expansions. Both cases do not involve limit considerations. Finally, there are methods to represent exactly entities defined as limits and having infinite numerical representations, which leads us to the next section. 1.4 The Relation to Numerical Analysis Many computer algebra computations produce formula output which, in turn, is used as input to numerical procedures, e.g. for integration of rational functions in several dimensions, the first and perhaps the second integration is done symboli cally and then the remaining ones numerically. Numerical procedures use finite precision arithmetic and are based on the theory of approximation. A numerical root finder working with finite precision, for example, cannot always isolate the Introduction 3 roots, but only isolate clusters of roots the diameter of which depends on the precision and many other parameters. In principle, it is possible and desirable to specify numerical algorithms with the same formal rigor as algebraic algorithms; however, the amount of detail required is much higher and resembles less transparently the specification of the mathematical problem. On the other side, an algebraic algorithm pays for the exactness with - in general much - higher execution times and storage requirements compared to its numerical counterpart. However, there are many instances of problems where an approximation does not make much sense, for example for decision procedures for elementary algebra, for counting real roots of polynomials or even for the degree of a polynomial in one indeterminate, defined as the exponent of the highest non-vanishing term. Since 0 numerically is defined only within the given precision, consequently the degree is also only defined within this precision - a questionable concept of degree. Having seen that Sturm sequences with floating point coefficients count real zeros, giving sometimes more zeros in the subintervals than in the entire interval, the price for a reliable answer seems acceptable. To overstate the point, an algebraic algorithm will never trade the mathematical specification of the output for efficiency to get it approximately. A consequence of this consideration is that the analytic and empirical analysis of the efficieny of algebraic algorithms is necessary for a responsible use of time and memory. This includes the analysis of the growth of the outputs; they may be so large that any content of information is lost. Let us consider the relation between numerical and algebraic algorithm more closely in the case of real algebraic numbers. In the numerical case the irrational number rx may be represented by two floating point numbers rxm and [; > 0 such that rxm - C < a < am + c. In the algebraic case d is the zero of a positive, primitive squarefree integral polynomial A(x) of positive degree. In order to indicate which zero of A(x) is rx, one may use an interval I, with rational endpoints rand s such that r < rx < s. In addition, one requires that a is the only zero of A with this property. Conceptually, a is represented by A, I, and a bisection algorithm which for any inputs A, Ia = (r, s) computes m = (r + s)/2 and selects (r, m) if A(r)A(m) < 0 or (m, s) if A(m)A(s) < 0 or (m, m) if A(m) = O. In this way Ir - sl can be made arbitrarily small at any desired point in an algebraic computation with a, whereas in the finite precision representation the interval length will grow very quickly. An idea reconciling the efficiency of numerical arithmetic with the reliability of algebraic computations is k-precision arithmetic where k can dynamically be adjusted such that the algebraic specifications are still met. This has to be carefully checked for every algorithm implemented. To use integers of arbitrary large size "is natural since computers are now fast enough that any restrictions imposed by the word length of the computer are artificial and unnecessary" (Collins [8]). 2. The Organization of Research Activities in Computer Algebra From the early beginnings of computer algebra, research activities in this field have been coordinated by SIGSAM (the Special Interest Group on Symbolic and I' 4 R. Laos Algebraic Manipulation) of ACM (Association for Computing Machinery). SIGSAM publishes a Bulletin that reports regularly on all events and developments in computer algebra. Information about membership in SIGSAM and subscription to the Bulletin may be obtained from Association for Computing Machinery, 1133 Avenue of the Americas, New York, NY 10036, U.S.A. Furthermore, many other organizations in mathematics and computer science have helped to develop computer algebra by including special sessions on this subject into their meetings and conferences. The European research activities in computer algebra are not centrally organized so far. There are several independent research groups at various universities and research institutes. The following professional organizations loosely coordinate the activities: NIGSAM (Nordic Interest Group for Symbolic and Algebraic Manipulation): Address: Y. Sundblad, Department of Numerical Analysis and Computer Science, KTH, S-10044 Stockholm, Sweden. The group publishes the "NIGSAM-News". SAM-AFCET (Le Group "Calcul Formel" d'Association Fran<;aise pour la Cybernetique Economique et Technique): Address: M. Bergman, IREM, Faculte de Science de Luminy, Case 901, F-13288 Marseille Cede x 9, France; J. Calmet, IMAG, Laboratoire d'Informatique et de Mathematiques Appliquees de Grenoble, BP 53, F -38041 Grenoble Cedex, France. The group publishes the CALSYF-Bulletin. SEAS-SMS (SHARE European Association, Symbolic Mathematical Computa tion Group): Address: J. H. Davenport, Cambridge University, Computer Laboratory, Corn Exchange Street, Cambridge CB2 3QG, England. Recently, the European groups have established a steering committee. All persons and groups interested in computer algebra are invited to contact this committee. The coordinator is H. van Hulzen, Twente University of Technology, Department of Applied Mathematics, P.O. Box 217, 7500 AE Enschede, Netherlands. SIGSAM, partly in collaboration with the European professional organizations, has organized a series of symposia whose proceedings form a significant portion of what constitutes computer algebra: SYMSAM 1966: ACM Symposium on Symbolic and Algebraic Manipulation, Washington, D.C., March 29 - 31, 1966. Proceedings (Floyd, R. W., ed.): Commun. ACM 9,547 -643 (1966).

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.