Design and Implementation of a Modern Algebraic Manipulator for Celestial Mechanics

Total Page:16

File Type:pdf, Size:1020Kb

Design and Implementation of a Modern Algebraic Manipulator for Celestial Mechanics Design and implementation of a modern algebraic manipulator for Celestial Mechanics Francesco Biscani January 30, 2008 “Design and implementation of a modern algebraic manipulator for Celestial Me- chanics”, by Francesco Biscani ([email protected]), is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License (http://creativecommons.org/licenses/by/3.0/). Copyright © 2007 by Francesco Biscani. Created with LYX and X TE EX. Dedicata alla memoria di Elisa. Summary¹ e goals of this research are the design and implementation of a modern and efficient algebraic manipulator specialised for Celestial Mechanics. Specialised algebraic manipulators are funda- mental tools both in classical Celestial Mechanics and in modern studies on the behaviour of dynamical systems, and they are routinely employed in such diverse tasks as the elaboration of theories of motion of celestial bodies, geodetical and terrestrial orientation studies, perturbation theories for artificial satellites and studies about the long-term evolution of the Solar System. Specialised manipulators for Celestial Mechanics are usually concerned with mathematical objects known as Poisson series (see Danby et al. [1966]), which are defined as multivariate Fourier series with multivariate Laurent series as coefficients: X ( ) cos P (i1y1 + i2y2 + ... + inyn) , i sin i where the Pi are multivariate polynomials. Poisson series manipulators have been developed continuously since the ’60s and today there are many different packages available (an incomplete list includes Herget and Musen [1959], Broucke and Garthwaite [1969], Jefferys [1970, 1972], Rom [1970], Bourne and Horton [1971], Babaev et al. [1980], Dasenbrock [1982], Richardson [1989], Abad and San-Juan [1994], Ivanova [1996], Chapront [2003b,a] and Gastineau and Laskar [2005]). General manipulators, like Mathematica and Maple, are unsuitable for use in actual problems because their genericity implies a very high impact on performance (for many operations this slowdown can be estimated in three or four orders of magnitude). Many of the existing specialised manipulators, on the other hand, are much too focused on specific problems, and the general unavailability of the source code makes it hard to reuse and adapt existing ma- nipulators for other problems. Besides, not always the data structures and the algorithms used in existing computer algebra systems are fast, leading to sub-optimal performance. We propose here Piranha, a Poisson series manipulation framework designed to be extended and adapted for different purposes. It is written in C++ using template programming techniques (see Vandevoorde and Josuttis [2002]), it is object-oriented and uses paradigms like multiple inheritance, iterators, static polymorphism and operator overloading. Piranha is based on generic programming techniques, which means that it is possible to use arbitrary classes to represent the elements of Poisson series, as long as those classes behave in a predefined way (i.e., as long as they provide a defined set of methods). In generic programming language we can say that Piranha defines concept classes and that the actual implementation of such concepts are models (see Gregor et al. [2006]). Piranha uses modern data structures for the representation of Poisson series. In particular hashing techniques are widely employed. e main hash function used in Piranha was con- ceived originally to operate on strings in databases (see Ramakrishna and Zobel [1997]), and has proved to be very effective for the representation of Poisson series. Piranha employs also the multi_index_container class from the Boost C++ libraries, which provides a flexible and efficient container class to store and order the terms of a series in multiple ways. Many other facilities provided by the Boost libraries are used. ¹is section is intended just as a condensed summary, for a more thorough introduction please see Chapter 1. v Piranha introduces also a new methodology for the computation of cosines and sines of Pois- son series, based on a expansion into Bessel functions of the first kind known as Jacobi-Anger development (see Brown and Churchill [1993]). is kind of development allows to compute cosines and sines of a wide class of Poisson series, whereas the Taylor expansions commonly employed for this task in other manipulators are effective only for specific Poisson series. Another original contribution, to the best of our knowledge, is the approach devised for the multiplication of Poisson series, which is based on a technique derived from the Kronecker al- gorithm and that we have called coded arithmetics, and which allows to speed up considerably the manipulation of trigonometric multipliers during multiplication. We then introduce Pyranha, a set of bindings to use Piranha from the Python programming language (see Python). With Pyranha it is possible to leverage Piranha’s capabilities from a com- fortable and easy to use interpreted language. is way, by means of enhanced Python interfaces (like IPython), it is also possible to use Piranha interactively à la Mathematica or Maple, without the need to code in C++ but retaining the speed of a compiled language. We also present some examples of use cases for a Poisson series manipulator. We show how Piranha can be used for the transformation of theories of motion and for the computation of the harmonic development of the tide-generating potential. Finally, we briefly discuss Piranha’s performance by comparing it to the well-known manipu- lators TRIP and PARI. e benchmarks are encouraging and show that Piranha is on the right track performance-wise. Optimizations and improvements for Piranha are then discussed, with particular focus on cache memory optimizations and memory allocation, in light of the fact that presently Piranha employs data structure implementations and memory allocators available in the C++ standard library (which are hence not optimized for the specific tasks of the manipula- tor). Beside performance improvements, also functionality extensions are also discussed, such as the implementation of still missing manipulation capabilities. vi Riassunto Introduzione Gli scopi di questa ricerca sono il design e l’implementazione di un manipolatore algebrico spe- cializzato per la Meccanica Celeste moderno ed efficiente. I manipolatori algebrici specializ- zati sono strumenti fondamentali sia nella Meccanica Celeste classica che nei moderni studi sui sistemi dinamici, e sono impiegati abitualmente in diversi campi: teorie del moto di corpi ce- lesti, studi geodetici e di orientazione planetaria, teorie perturbative per satelliti artificiali e studi riguardanti l’evoluzione a lungo termine del Sistema Solare. Serie di Poisson I manipolatori algebrici specifici per la Meccanica Celeste solitamente si occupano di oggetti matematici noti come serie di Poisson (Danby et al. [1966]). Le serie di Poisson sono definite come serie di Fourier multivariate con serie di Laurent mul- tivariate come coefficienti: X ( ) cos P (x1, x2,..., xm) (i1y1 + i2y2 + ... + inyn) , i sin i dove le Pi (x1, x2,..., xm) sono polinomi multivariati a coefficienti complessi. In Meccanica Celeste le serie di Poisson con coefficienti puramente numerici sono note anche come serie di Fourier: X ( ) cos C (i1y1 + i2y2 + ... + inyn) . i sin i Le serie di Poisson formano un gruppo abeliano sotto le operazioni di addizione e sottrazione, ma non sotto l’operazione di moltiplicazione. Non è infatti possibile, in generale, calcolare in forma finita l’operazione di inversione di una serie di Poisson. La moltiplicazione di serie di Poisson è svolta con l’ausilio delle elementari formule trigonometriche di Werner: AB AB A cos α · B cos β = cos (α - β) + cos (α + β) , 2 2 AB AB A cos α · B sin β = sin (α + β) - sin (α - β) , 2 2 AB AB A sin α · B cos β = sin (α - β) + sin (α + β) , 2 2 AB AB A sin α · B sin β = cos (α - β) - cos (α + β) . 2 2 Le serie di Poisson sono inoltre caratterizzate da una forma canonica che assicura la rappre- sentabilità in maniera univoca con il numero minimo di termini. Le serie di Poisson in Meccanica Celeste solitamente appaiono negli ambiti delle teorie per- turbative, dove la loro introduzione permette di applicare i metodi standard della dinamica per- turbativa, quali ad esempio il metodo di averaging. Tipicamente la forma di serie di Poisson è vii mantenuta in tutte le fasi dell’elaborazione di una teoria del moto, e anche le soluzioni finali sono espresse in forma di serie di Poisson o serie di Fourier. L’operazione di gran lunga più dispendiosa nella manipolazione di serie di Poisson, sia in ter- mini di potenza di calcolo che di utilizzo( ) della memoria, è la moltiplicazione. La complessità di questa operazione è quadratica, O n2 (mentre addizione e sottrazione hanno complessità lin- eare, O(n)), e pertanto si rende necessaria l’adozione di metodologie di troncamento delle serie per evitare la crescita esplosiva del numero di termini durante le moltiplicazioni. Operazioni avanzate sulle serie di Poisson In Meccanica Celeste tipicamente sono necessarie manipolazioni sulle serie di Poisson più com- plicate rispetto alle operazioni fondamentali di somma e moltiplicazione. In particolare è neces- sario poter calcolare l’inversione e la radice quadrata di serie di Poisson. Queste due operazioni possono essere affrontate in maniera unificata ricorrendo al teorema binomiale generalizzato di Newton (Arfken and Weber [2005]), che permette di ricondurre l’elevamento di una serie di Poisson ad una potenza reale ad uno sviluppo in
Recommended publications
  • Sage: Unifying Mathematical Software for Scientists, Engineers, and Mathematicians
    Sage: Unifying Mathematical Software for Scientists, Engineers, and Mathematicians 1 Introduction The goal of this proposal is to further the development of Sage, which is comprehensive unified open source software for mathematical and scientific computing that builds on high-quality mainstream methodologies and tools. Sage [12] uses Python, one of the world's most popular general-purpose interpreted programming languages, to create a system that scales to modern interdisciplinary prob- lems. Sage is also Internet friendly, featuring a web-based interface (see http://www.sagenb.org) that can be used from any computer with a web browser (PC's, Macs, iPhones, Android cell phones, etc.), and has sophisticated interfaces to nearly all other mathematics software, includ- ing the commercial programs Mathematica, Maple, MATLAB and Magma. Sage is not tied to any particular commercial mathematics software platform, is open source, and is completely free. With sufficient new work, Sage has the potential to have a transformative impact on the compu- tational sciences, by helping to set a high standard for reproducible computational research and peer reviewed publication of code. Our vision is that Sage will have a broad impact by supporting cutting edge research in a wide range of areas of computational mathematics, ranging from applied numerical computation to the most abstract realms of number theory. Already, Sage combines several hundred thousand lines of new code with over 5 million lines of code from other projects. Thousands of researchers use Sage in their work to find new conjectures and results (see [13] for a list of over 75 publications that use Sage).
    [Show full text]
  • The Piranha Algebraic Manipulator
    THE PIRANHA ALGEBRAIC MANIPULATOR FRANCESCO BISCANI∗ Key words. Celestial Mechanics, algebraic manipulation, computer algebra, Poisson series, multivariate polynomials Abstract. In this paper we present a specialised algebraic manipulation package devoted to Celestial Mechanics. The system, called Piranha, is built on top of a generic and extensible frame- work, which allows to treat eciently and in a unied way the algebraic structures most commonly encountered in Celestial Mechanics (such as multivariate polynomials and Poisson series). In this contribution we explain the architecture of the software, with special focus on the implementation of series arithmetics, show its current capabilities, and present benchmarks indicating that Piranha is competitive, performance-wise, with other specialised manipulators. 1. Introduction. Since the late Fifties ([27]) researchers in the eld of Celestial Mechanics have manifested a steady and constant interest in software systems able to manipulate the long algebraic expressions arising in the application of perturbative methods. Despite the widespread availability of commercial general-purpose algebraic manipulators, researchers have often preferred to develop and employ specialised ad- hoc programs (we recall here, without claims of completeness, [10], [31, 32], [48], [7], [4], [18], [47], [1], [29], [13, 12] and [23]). The reason for this preference lies mainly in the higher performance that can be obtained by these. Specialised manipulators are built to deal only with specic algebraic structures, and thus they can adopt fast algo- rithm and data structures and avoid the overhead inherent in general-purpose systems (which instead are designed to deal with a wide variety of mathematical expressions). The performance gap between specialised and general-purpose manipulators is often measured in orders of magnitude, especially for the most computationally-intensive operations.
    [Show full text]
  • Basic Concepts and Algorithms of Computer Algebra Stefan Weinzierl
    Basic Concepts and Algorithms of Computer Algebra Stefan Weinzierl Institut fur¨ Physik, Universitat¨ Mainz I. Introduction II. Data Structures III. Efficiency IV. Classical Algorithms Literature Books: D. Knuth, “The Art of Computer Programming”, Addison-Wesley, third edition, 1997 • K. Geddes, S. Czapor and G. Labahn, “Algorithms for Computer Algebra”, Kluwer, • 1992 J. von zur Gathen and J. Gerhard, “Modern Computer Algebra”, Cambridge • University Press, 1999 Lecture notes: S.W., “Computer Algebra in Particle Physics”, hep-ph/0209234. • The need for precision Hunting for the Higgs and other yet-to-be-discovered particles requires accurate and precise predictions from theory. Theoretical predictions are calculated as a power expansion in the coupling. Higher precision is reached by including the next higher term in the perturbative expansion. State of the art: Third or fourth order calculations for a few selected quantities (R-ratio, QCD β- • function, anomalous magnetic moment of the muon). Fully differential NNLO calculations for a few selected 2 2 and 2 3 processes. • ! ! Automated NLO calculations for 2 n (n = 4::6;7) processes. • ! Computer algebra programs are a standard tool ! History The early days, mainly LISP based systems: 1965 MATHLAB 1958 FORTRAN 1967 SCHOONSHIP 1960 LISP 1968 REDUCE 1970 SCRATCHPAD, evolved into AXIOM 1971 MACSYMA 1979 muMATH, evolved into DERIVE Commercialization and migration to C: 1981 SMP, with successor MATHEMATICA 1972 C 1988 MAPLE 1992 MuPAD Specialized systems: 1975 CAYLEY (group theory), with
    [Show full text]
  • Applications of Computer Algebra
    22nd Conference on Applications of Computer Algebra ACA 2016 Kassel (Germany) st th August 1 – 4 Chairs Wolfram Koepf and Werner Seiler (general) Georg Regensburger Winfried Neun Michael Wester (program) Advisory Committee: Eugenio Roanes-Lozano Stanly Steinberg Michael Wester Contact: [email protected] Deadline for submissions: March 31st, 2016 submission of session proposals May 29th, 2016 submission of talks Notification of acceptance: 1 July 13th, 2016 http://www.mathematik.uni-kassel.de/ACA2016 Contents Sponsors vi Schedule vii Plenary Talks 1 Computer Algebra Systems and the Lambert W Function D. Jeffrey .........................................2 Real Problems over the Reals: From Complete Elimination Procedures to Subtropical Decisions T. Sturm .........................................2 Exploring a Homotopy Approach to the Science of Data: Huge Scenarios, Topological Scintigraphy and Flagellate Structures P. Real ..........................................2 Sponsor Talks 3 What's New in Mathematica? S. Szurmant ........................................4 What's New in Maple 2016? J. Gerhard ........................................4 S1 Computer Algebra for Modeling in Science and Engineering 5 Application of Computer Algebra System and the Mean-Value Theory for Evaluating Electrostatic Potential and its Associated Field for Nontrivial Configurations H. Sarafian ........................................6 Experimental and Finite Elements Stress Analysis of a Double Edge Notched Specimen A. Bilek, M. Beldi, T. Cherfi, S. Djebali and S. Larbi ................ 12 Modelling and Simulation of Solid Particle Sidementation in an Incompressible Newtonian Fluid S. Zouaoui, H. Djebouri, A. Bilek and K. Mohammedi ................ 18 Interfacing KetCindy and CASs, and its Applications to Scientific Problems Modeling S. Takato, J. A. Vallejo and M. Kaneko ........................ 23 On the Visualization of Random Fibonacci-Padovan Sequences T. Myll¨ari,A.
    [Show full text]
  • A Controlled Study of the Flipped Classroom with Numerical Methods for Engineers
    Utah State University DigitalCommons@USU All Graduate Theses and Dissertations Graduate Studies 5-2013 A Controlled Study of the Flipped Classroom With Numerical Methods for Engineers Jacob L. Bishop Utah State University Follow this and additional works at: https://digitalcommons.usu.edu/etd Part of the Engineering Education Commons Recommended Citation Bishop, Jacob L., "A Controlled Study of the Flipped Classroom With Numerical Methods for Engineers" (2013). All Graduate Theses and Dissertations. 2008. https://digitalcommons.usu.edu/etd/2008 This Dissertation is brought to you for free and open access by the Graduate Studies at DigitalCommons@USU. It has been accepted for inclusion in All Graduate Theses and Dissertations by an authorized administrator of DigitalCommons@USU. For more information, please contact [email protected]. A CONTROLLED STUDY OF THE FLIPPED CLASSROOM WITH NUMERICAL METHODS FOR ENGINEERS by Jacob L. Bishop A dissertation submitted in partial fulfillment of the requirements for the degree of DOCTOR OF PHILOSOPHY in Engineering Education Approved: Dr. Gilberto E. Urroz Dr. Matthew A. Verleger Major Professor Committee Member Dr. Oenardi Lawanto Dr. Ning Fang Committee Member Committee Member Dr. Christian Geiser Dr. Mark R. McLellan Committee Member Vice President for Research and Dean of the School of Graduate Studies UTAH STATE UNIVERSITY Logan, Utah 2013 ii Copyright c Jacob L. Bishop 2013 All Rights Reserved iii Abstract A Controlled Study of the Flipped Classroom with Numerical Methods for Engineers by Jacob L. Bishop, Doctor of Philosophy Utah State University, 2013 Major Professor: Dr. Gilberto E. Urroz Department: Engineering Education Recent advances in technology and ideology have unlocked entirely new directions for education research.
    [Show full text]
  • More Power Through Symbolic Computation: Extending Stata by Using the Maxima Computer Algebra System
    The Stata Journal Editors H. Joseph Newton Nicholas J. Cox Department of Statistics Department of Geography Texas A&M University Durham University College Station, Texas Durham, UK [email protected] [email protected] Associate Editors Christopher F. Baum, Boston College Frauke Kreuter, Univ. of Maryland–College Park Nathaniel Beck, New York University Peter A. Lachenbruch, Oregon State University Rino Bellocco, Karolinska Institutet, Sweden, and Jens Lauritsen, Odense University Hospital University of Milano-Bicocca, Italy Stanley Lemeshow, Ohio State University Maarten L. Buis, University of Konstanz, Germany J. Scott Long, Indiana University A. Colin Cameron, University of California–Davis Roger Newson, Imperial College, London Mario A. Cleves, University of Arkansas for Austin Nichols, Urban Institute, Washington DC Medical Sciences Marcello Pagano, Harvard School of Public Health William D. Dupont , Vanderbilt University Sophia Rabe-Hesketh, Univ. of California–Berkeley Philip Ender , University of California–Los Angeles J. Patrick Royston, MRC Clinical Trials Unit, David Epstein, Columbia University London Allan Gregory, Queen’s University Philip Ryan, University of Adelaide James Hardin, University of South Carolina Mark E. Schaffer, Heriot-Watt Univ., Edinburgh Ben Jann, University of Bern, Switzerland Jeroen Weesie, Utrecht University Stephen Jenkins, London School of Economics and Ian White, MRC Biostatistics Unit, Cambridge Political Science Nicholas J. G. Winter, University of Virginia Ulrich Kohler , University of Potsdam, Germany Jeffrey Wooldridge, Michigan State University Stata Press Editorial Manager Stata Press Copy Editors Lisa Gilmore David Culwell, Shelbi Seiner, and Deirdre Skaggs The Stata Journal publishes reviewed papers together with shorter notes or comments, regular columns, book reviews, and other material of interest to Stata users.
    [Show full text]
  • Curriculum Vitae John Peter Fitch Personal Details: Employment Record
    Curriculum Vitae John Peter Fitch March 16, 2019 Note: I also use the name John ffitch and have published under that name, especially in music. Also I am sometimes referenced as such by others, whatever the name on the actual paper. Personal Details: Home Address: \Alta" Horsecombe Vale Combe Down Bath BA2 5QR England e-mail: [email protected] Date of Birth: 10 December 1945 Place of Birth: Barnsley, Yorkshire Marital Status: Married to Audrey Fitch, n´ee Heath since 1968, no children Employment Record: Senior Assistant in Research, The Computer Laboratory, Cambridge, 1971 { 1977 Assistant Visiting Professor, Department of Computer Science, University of Utah, 1977 { 1978 Lecturer, Department of Computer Studies, University of Leeds, 1978 { 1980 Director, The Computer Unit, University of Bath, 1980 { 1983 Professor of Software Engineering, University of Bath, 1980 { 2011 (variously in School of Mathe- matics, School of Mathematical Sciences, Department of Mathematical Sciences, and Department of Computer Science) Visiting Professor, Department of Computer Science, University of Bath 2011 { 2015 Adjunct Honorary Professor, Department of Music, National University of Ireland, Maynooth, 2011 { 2021 Partner, Fitch-Norman, LISP Software and Consultancy, 1983 { 1989 Director, Codemist Ltd, 1988 { 2016 Director, Composers Desktop Project Ltd, 2013 { date 1 Academic Record: 1956 { 1964, Brockenhurst Grammar School, Hampshire 13 `O' levels plus \Use of English", 4 `A' levels and 2 `S' levels (A1A2AA). 1964 { 1971, St John's College, University of Cambridge 1965 Mathematical Tripos Pt Ia (2nd class) 1966 Mathematical Tripos Pt Ib (2nd class) 1967 Mathematical Tripos Pt II (Senior Optime) B.A. Degree 1968 Diploma in Computer Science, with Distinction Elected to College Scholarship Awarded College Prize 1968 { 1971 Research Student in The Mathematical Laboratory Later the Computer Laboratory 1971 M.A.
    [Show full text]
  • Structures in Real Theory Application: a Study in Feasible Epistemology
    Western University Scholarship@Western Electronic Thesis and Dissertation Repository 8-13-2013 12:00 AM Structures in Real Theory Application: A Study in Feasible Epistemology Robert H. C. Moir The University of Western Ontario Supervisor Robert W. Batterman The University of Western Ontario Joint Supervisor John L. Bell The University of Western Ontario Graduate Program in Philosophy A thesis submitted in partial fulfillment of the equirr ements for the degree in Doctor of Philosophy © Robert H. C. Moir 2013 Follow this and additional works at: https://ir.lib.uwo.ca/etd Part of the Epistemology Commons, Logic and Foundations of Mathematics Commons, and the Philosophy of Science Commons Recommended Citation Moir, Robert H. C., "Structures in Real Theory Application: A Study in Feasible Epistemology" (2013). Electronic Thesis and Dissertation Repository. 1578. https://ir.lib.uwo.ca/etd/1578 This Dissertation/Thesis is brought to you for free and open access by Scholarship@Western. It has been accepted for inclusion in Electronic Thesis and Dissertation Repository by an authorized administrator of Scholarship@Western. For more information, please contact [email protected]. Structures in Real Theory Application: A Study in Feasible Epistemology (Thesis Format: Monograph) by Robert H. C. Moir Graduate Program in Philosophy A thesis submitted in partial fulfillment of the requirements for the degree of Doctor of Philosophy The School of Graduate and Postdoctoral Studies The University of Western Ontario London, Ontario, Canada ©Robert H. C. Moir 2013 Abstract This thesis considers the following problem: What methods should the episte- mology of science use to gain insight into the structure and behaviour of scientific knowledge and method in actual scientific practice? After arguing that the elucidation of epistemological and methodological phenomena in science requires a method that is rooted in formal methods, I consider two alternative methods for epistemology of science.
    [Show full text]
  • A Computer Algebra System Dedicated to Celestial Mechanics and Perturbation Series
    TRIP - a computer algebra system dedicated to celestial mechanics and perturbation series Mickaël Gastineau Jacques Laskar Astronomie et Systèmes Dynamiques Astronomie et Systèmes Dynamiques IMCCE-CNRS UMR8028, Observatoire de Paris, IMCCE-CNRS UMR8028, Observatoire de Paris, UPMC UPMC 77 Avenue Denfert-Rochereau 77 Avenue Denfert-Rochereau 75014 Paris, France 75014 Paris, France [email protected] [email protected] ABSTRACT tational equations for the computation of the long-time be- TRIP is an interactive computer algebra system that is de- havior of the Solar System, he also had to write some very voted to perturbation series computations, and specially dedicated FORTRAN programs that hid most of the analyt- adapted to celestial mechanics. Its development started ical computations in the series products or derivations[24]. in 1988, as an upgrade of the special purpose FORTRAN Using these tools, he could then compute to a never reached routines elaborated by J. Laskar for the demonstration of state a 150 000 terms complex polynomial in 32 variables the chaotic behavior of the Solar System. TRIP is now a that was then numerically integrated for the demonstration mature and efficient tool for handling multivariate general- that the Solar System planetary motion is chaotic[25, 26]. ized power series, and contains also a numerical kernel. A The problem of these efficient, but dedicated routines is limited version of TRIP is freely available on the WEB at that they were not very flexible and requested specific pro- www.imcce.fr/trip. gramming for each different application. The absence, at this time, of any available efficient general computer algebra tool led then J.
    [Show full text]
  • Towards an Implementation of a Computer Algebra System in a Functional Language
    Towards an Implementation of a Computer Algebra System in a Functional Language Oleg Lobachev and Rita Loogen Philipps–Universität Marburg, Fachbereich Mathematik und Informatik Hans–Mehrwein–Straße, D–35032 Marburg, Germany {lobachev,loogen}@informatik.uni-marburg.de Abstract. This paper discusses the pros and cons of using a functional language for implementing a computer algebra system. The contributions of the paper are twofold. Firstly, we discuss some language–centered design aspects of a computer algebra system — the “language unity” concept. Secondly, we provide an implementation of a fast polynomial multiplication algorithm, which is one of the core elements of a com- puter algebra system. The goal of the paper is to test the feasibility of an implementation of (some elements of) a computer algebra system in a modern functional language. Keywords: computer algebra, software technology, language and system design. 1 Introduction With the flow of the history of computing, exact methods gained more and more importance. It was clear since almost the beginning, that imprecise, numerical 20 − operations may and will fail. The Wilkinson Monster j=1(x j) is a nice – and old! [45,46] – example for the thesis “the way we compute it matters”. One of the crucial points of computer algebra systems (CAS) is the implementation of fast algorithms. One of the core algorithms is fast multiplication, be it of numbers or of polynomials. Current approaches include methods by Karatsuba, Toom and Cook [20, 44, 24] and Schönhage and Strassen [38, 37]. An implementation of the latter in the functional language Haskell [33] is presented in this paper to test the suitability of functional languages for implementing computer alge- bra algorithms.
    [Show full text]
  • Distributed Symbolic Computations
    Distributed Symbolic Computations Dana Petcu Western University of Timisoara And Institute e-Austria Timisoara, Romania [email protected] Overview The problem The past The present The future? ISPDC 2007, June 6th 2 The problem Symbolic computation? Automation of the steps of mathematical problem solving Modern field of CS and Math which deals with symbolic objects, e.g. logical or algebraic formulae, rules or programs Main goal is exactness Examples of operations: diff, integral, factors, roots ISPDC 2007, June 6th 4 Subfields of symbolic computing computer algebra (CA), automated theorem proving, computational combinatorics, computational geometry, automated programming, functional or logic programming. ISPDC 2007, June 6th 5 Symbolic methods - applications computer aided design software development VLSI design geometric modelling reasoning robot programming human genome etc ISPDC 2007, June 6th 6 Problems behind CA systems Lagging relative to numerical computing, mainly due to the inadequacy of available computational resources: 1. computer memory 2. processor power. Solution: parallel & distributed CA Solving larger problems Build new algorithms Build new systems ISPDC 2007, June 6th 7 The past Distributed computations emerge ISPDC 2007, June 6th 9 General reasons for parallelism ability to reduce the wall-clock time i.e. the user’s waiting time for the solution problems that are processor bound Ability to solve problems that cannot fit into memory of a ``workstation'' problems that are memory bound Memory
    [Show full text]
  • Computer Algebra and Its Applications
    ALEXANDRIA UNIVERSITY FACULTY OF ENGINEERING DEPARTMENT OF ENGINEERING MATHEMATICS AND PHYSICS COMPUTER ALGEBRA AND ITS APPLICATIONS A thesis submitted to the Department of Engineering Mathematics and Physics in partial fulfillment of the requirements for the degree of Master of Science in Engineering Mathematics By Hazem Mohamed El-Alfy B.Sc., Faculty of Engineering, Alexandria University, 1997 Supervised by: Prof. Dr. Abdel-Karim Aboul-Hassan Dr. Mohamed Sayed August 2001 We certify that we have read this thesis and that, in our opinion, it is fully adequate, in scope and quality, as a dissertation for the degree of Master of Science. Judgment Committee Prof. Dr. Ahmed A. Belal Dept. of Computer Science and Automatic Control Faculty of Engineering, Alexandria University. Prof. Dr. Ahmed M. A. ElSayed Dept. of Mathematics Faculty of Science, Alexandria University. Prof. Dr. Abdel-Karim Aboul-Hassan Dept. of Engineering Mathematics and Physics Faculty of Engineering, Alexandria University. For the Faculty Council Prof. Dr. Hassan A. Farag Vice Dean for Graduate Studies and Research Faculty of Engineering, Alexandria University. Supervisors: Prof. Dr. Abdel-Karim Aboul-Hassan Department of Engineering Mathematics and Physics, Faculty of Engineering, Alexandria University. Dr. Mohamed Sayed Department of Engineering Mathematics and Physics, Faculty of Engineering, Alexandria University. ACKNOWLEDGMENT It is a pleasure for me to acknowledge the many people who have contributed to this work. Listing all of them would require dozens of pages, and may always miss some others. First and before all, glory be to Allah, the first teacher to mankind. I would wish to thank my supervisors, Prof. Dr. Abdel-Karim Aboul-Hassan and Dr.
    [Show full text]