Essays on Yacas

Total Page:16

File Type:pdf, Size:1020Kb

Essays on Yacas Essays on Yacas by the Yacas team 1 Yacas version: 1.3.6 generated on November 25, 2014 This is a book of essays on Yacas. It covers various topics, from using the Yacas system for specific calculations to general issues related to the Yacas system development and maintenance. 1This text is part of the Yacas software package. Copyright 2000{2002. Principal documentation authors: Ayal Zwi Pinkus, Serge Winitzki, Jitse Niesen. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts and no Back-Cover Texts. A copy of the license is included in the section entitled \GNU Free Documentation License". Contents 1 Yacas: A do-it-yourself symbolic algebra environment 2 1.1 Introduction . 2 1.2 Basic design . 2 1.3 The Yacas kernel functionality . 4 1.4 The Yacas scripting language . 5 1.5 Currently supported CAS features . 5 1.6 Interface . 7 1.7 Documentation . 7 1.8 Future plans . 7 1.9 References . 7 2 M. Wester's CAS benchmark and Yacas 8 3 On Yacas programming 11 3.1 Example: implementing a formal grammar . 11 3.2 Example: Using rules with special syntax operators creatively . 12 −1 1 4 Why −x and − x are not the same in Yacas 16 4.1 Canonical and normal representations . 16 4.2 But how can we then build a powerful CAS? . 17 4.3 Conclusion . 17 5 For Yacas developers 18 5.1 A crash course in Yacas maintenance for developers . 18 5.2 Preparing and maintaining Yacas documentation . 19 5.3 The Yacas build system . 28 6 Designing modules in the Yacas scripting language 32 6.1 Introduction . 32 6.2 Demonstration of the problem . 32 6.3 Declaring resources to be local to the module . 32 6.4 When to use and when not to use LocalSymbols ................................ 33 7 The Yacas arithmetic library 34 7.1 Introduction . 34 7.2 The link between the interpreter and the arithmetic library . 34 7.3 Interface of the BigNumber class ......................................... 34 7.4 Precision of arithmetic operations . 37 7.5 Implementation notes . 44 8 GNU Free Documentation License 47 1 Chapter 1 Yacas: A do-it-yourself symbolic algebra environment A much shorter and more polished version of this paper is similarly to Prolog B86, and includes expression transformation published as: Ayal Z. Pinkus and Serge Winitzki, \YACAS: (term rewriting) as a basic feature of the language. a do-it-yourself computer algebra system", Lecture Notes in The Yacas language interpreter comes with a library of Artificial Intelligence 2385, pp. 332 - 336 (Springer-Verlag, scripts that implement a set of computer algebra features. The 2002). Yacas script library is in active development and at the present stage does not offer the rich functionality of industrial-strength by Ayal Zwi Pinkus and Serge Winitzki systems such as Mathematica or Maple. Extensive implementa- tion of algorithms of symbolic computation is one of the future development goals. Abstract Yacas handles input and output in plain ASCII, either inter- actively or in batch mode. (A graphical interface is under devel- We describe the design and implementation of Yacas, a opment.) There is also an optional plugin mechanism whereby free computer algebra system currently under development. external libraries can be linked into the system to provide ex- The system consists of a core interpreter and a library of tra functionality. Basic facilities are in place to compile Yacas scripts that implement symbolic algebra functionality. The scripts to C++ so they can be compiled into plugins. interpreter provides a high-level weakly typed functional language designed for quick prototyping of computer alge- bra algorithms, but the language is suitable for all kinds 1.2 Basic design of symbolic manipulation. It supports conditional term Yacas consists of a \core engine" (kernel), which is an inter- rewriting of symbolic expression trees, closures (pure func- preter for the Yacas scripting language, and a library of script tions) and delayed evaluation, dynamic creation of trans- code. formation rules, arbitrary-precision numerical calculations, The Yacas engine has been implemented in a subset of C++ and flexible user-defined syntax using infix notation. The which is supported by almost all C++ compilers. The design library of scripts currently provides basic numerical and goals for Yacas core engine are: portability, self-containment symbolic algebra functionality, such as polynomials and el- (no dependence on extra libraries or packages), ease of imple- ementary functions, limits, derivatives and (limited) inte- menting algorithms, code transparency, and flexibility. The Ya- gration, solution of (simple) equations. The main advan- cas system as a whole falls into the \prototype/hacker" rather tages of Yacas are: free (GPL) software; a flexible and than into the \axiom/algebraic" category, according to the ter- easy-to-use programming language with a comfortable and minology of Fateman F90. There are relatively few specific de- adjustable syntax; cross-platform portability and small re- sign decisions related to mathematics, but instead the emphasis is made on extensibility. source requirements; and extensibility. The kernel offers sufficiently rich but basic functionality through a limited number of core functions. This core function- ality includes substitutions and rewriting of symbolic expression 1.1 Introduction trees, an infix syntax parser, and arbitrary precision numerics. The kernel does not contain any definitions of symbolic mathe- is a computer algebra system (CAS) which has been Yacas matical operations and tries to be as general and free as possible in development since the beginning of 1999. The goal was of predefined notions or policies in the domain of symbolic com- to make a small system that allows to easily prototype and putation. research symbolic mathematics algorithms. A secondary The plugin inter-operability mechanism allows extension of future goal is to evolve Yacas into a full-blown general the Yacas kernel and the use of external libraries, e.g. GUI purpose CAS. toolkits or implementations of special-purpose algorithms. A Yacas is primarily intended to be a research tool for simple C++ API is provided for writing \stubs" that make ex- easy exploration and prototyping of algorithms of symbolic ternal functions appear in Yacas as new core functions. Plugins computation. The main advantage of Yacas is its rich are on the same footing as the Yacas kernel and can in prin- and flexible scripting language. The language is closely ciple manipulate all Yacas internal structures. Plugins can be related to LISP WH89 but has a recursive descent infix grammar compiled either statically or dynamically as shared libraries to parser ASU86 which supports defining infix operators at run time be loaded at runtime from Yacas scripts. In addition, Yacas 2 scripts can be compiled to C++ code for further compilation Once such infix operators are defined, it is possible to describe into a plugin. Systems that don't support plugins can then link new transformation rules directly using the new syntax. This these modules in statically. The system can also be run with- makes it easy to develop simplification or evaluation procedures out the plugins, for debugging and development purposes. The adapted to a particular problem. scripts will be interpreted in that case. Suppose the user needs to reorder expressions containing non- The script library contains declarations of transformation commutative creation and annihilation operators of quantum rules and of function syntax (prefix, infix etc.). The intention is field theory. It takes about 20 lines of Yacas script code to that all symbolic manipulation algorithms, definitions of math- define an infix operation \**" to express non-commutative mul- ematical functions etc. should be held in the script library and tiplication with the appropriate commutation relations and to not in the kernel. The only exception so far is for a very small automatically normal-order all expressions involving these sym- number of mathematical or utility functions that are frequently bols and other (commutative) factors. Once the operator ** is used; they are compiled into the core for speed. defined (with precedence 40), Infix("**", 40); Portability the rules that express distributivity of the operation ** with Yacas is designed to be as platform-independent as possible. respect to addition may look like this: All platform-specific parts have been clearly separated to facil- 15 # (_x + _y) ** _z <-- x ** z + y ** z; itate porting. Even the standard C++ library is considered to 15 # _z ** (_x + _y) <-- z ** x + z ** y; be platform-specific, as there exist platforms without support for the standard C++ library (e.g. the EPOC32 platform). Here, 15 # is a specification of the rule precedence, x denotes The primary development platform is GNU/Linux. Cur- a pattern-matching variable x and the expression to the right rently Yacas runs under various Unix variants, Windows envi- of <-- is to be substituted instead of a matched expression on ronments, Psion organizers (EPOC32), Ipaq PDAs, BeOS, and the left hand side. Since all transformation rules are applied Apple iMacs. Creating an executable for another platform (in- recursively, these two lines of code are enough for the Yacas cluding embedded platforms) should not be difficult. engine to expand all brackets in any expression containing the infix operators ** and +. Rule-based programming is not the only method that can be A self-contained system used in Yacas scripts; there are alternatives that may be more useful in some situations. For example, the familiar if / else Yacas should work as a standalone package, requiring mini- constructs, For, ForEach loops are defined in the script library mum support from other operating system components. Yacas for the convenience of users.
Recommended publications
  • Utilizing MATHEMATICA Software to Improve Students' Problem Solving
    International Journal of Education and Research Vol. 7 No. 11 November 2019 Utilizing MATHEMATICA Software to Improve Students’ Problem Solving Skills of Derivative and its Applications Hiyam, Bataineh , Jordan University of Science and Technology, Jordan Ali Zoubi, Yarmouk University, Jordan Abdalla Khataybeh, Yarmouk University, Jordan Abstract Traditional methods of teaching calculus (1) at most Jordanian universities are usually used. This paper attempts to introduce an innovative approach for teaching Calculus (1) using Computerized Algebra Systems (CAS). This paper examined utilizing Mathematica as a supporting tool for the teaching learning process of Calculus (1), especially for derivative and its applications. The research created computerized educational materials using Mathematica, which was used as an approach for teaching a (25) students as experimental group and another (25) students were taught traditionally as control group. The understandings of both samples were tested using problem solving test of 6 questions. The results revealed the experimental group outscored the control group significantly on the problem solving test. The use of Mathematica not just improved students’ abilities to interpret graphs and make connection between the graph of a function and its derivative, but also motivate students’ thinking in different ways to come up with innovative solutions for unusual and non routine problems involving the derivative and its applications. This research suggests that CAS tools should be integrated to teaching calculus (1) courses. Keywords: Mathematica, Problem solving, Derivative, Derivative’s applivations. INTRODUCTION The major technological advancements assisted decision makers and educators to pay greater attention on making the learner as the focus of the learning-teaching process. The use of computer algebra systems (CAS) in teaching mathematics has proved to be more effective compared to traditional teaching methods (Irving & Bell, 2004; Dhimar & Petal, 2013; Abdul Majid, huneiti, Al- Nafa & Balachander, 2012).
    [Show full text]
  • The Yacas Book of Algorithms
    The Yacas Book of Algorithms by the Yacas team 1 Yacas version: 1.3.6 generated on November 25, 2014 This book is a detailed description of the algorithms used in the Yacas system for exact symbolic and arbitrary-precision numerical computations. Very few of these algorithms are new, and most are well-known. The goal of this book is to become a compendium of all relevant issues of design and implementation of these algorithms. 1This text is part of the Yacas software package. Copyright 2000{2002. Principal documentation authors: Ayal Zwi Pinkus, Serge Winitzki, Jitse Niesen. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts and no Back-Cover Texts. A copy of the license is included in the section entitled \GNU Free Documentation License". Contents 1 Symbolic algebra algorithms 3 1.1 Sparse representations . 3 1.2 Implementation of multivariate polynomials . 4 1.3 Integration . 5 1.4 Transforms . 6 1.5 Finding real roots of polynomials . 7 2 Number theory algorithms 10 2.1 Euclidean GCD algorithms . 10 2.2 Prime numbers: the Miller-Rabin test and its improvements . 10 2.3 Factorization of integers . 11 2.4 The Jacobi symbol . 12 2.5 Integer partitions . 12 2.6 Miscellaneous functions . 13 2.7 Gaussian integers . 13 3 A simple factorization algorithm for univariate polynomials 15 3.1 Modular arithmetic . 15 3.2 Factoring using modular arithmetic .
    [Show full text]
  • CAS (Computer Algebra System) Mathematica
    CAS (Computer Algebra System) Mathematica- UML students can download a copy for free as part of the UML site license; see the course website for details From: Wikipedia 2/9/2014 A computer algebra system (CAS) is a software program that allows [one] to compute with mathematical expressions in a way which is similar to the traditional handwritten computations of the mathematicians and other scientists. The main ones are Axiom, Magma, Maple, Mathematica and Sage (the latter includes several computer algebras systems, such as Macsyma and SymPy). Computer algebra systems began to appear in the 1960s, and evolved out of two quite different sources—the requirements of theoretical physicists and research into artificial intelligence. A prime example for the first development was the pioneering work conducted by the later Nobel Prize laureate in physics Martin Veltman, who designed a program for symbolic mathematics, especially High Energy Physics, called Schoonschip (Dutch for "clean ship") in 1963. Using LISP as the programming basis, Carl Engelman created MATHLAB in 1964 at MITRE within an artificial intelligence research environment. Later MATHLAB was made available to users on PDP-6 and PDP-10 Systems running TOPS-10 or TENEX in universities. Today it can still be used on SIMH-Emulations of the PDP-10. MATHLAB ("mathematical laboratory") should not be confused with MATLAB ("matrix laboratory") which is a system for numerical computation built 15 years later at the University of New Mexico, accidentally named rather similarly. The first popular computer algebra systems were muMATH, Reduce, Derive (based on muMATH), and Macsyma; a popular copyleft version of Macsyma called Maxima is actively being maintained.
    [Show full text]
  • 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]
  • GNU Texmacs User Manual Joris Van Der Hoeven
    GNU TeXmacs User Manual Joris van der Hoeven To cite this version: Joris van der Hoeven. GNU TeXmacs User Manual. 2013. hal-00785535 HAL Id: hal-00785535 https://hal.archives-ouvertes.fr/hal-00785535 Preprint submitted on 6 Feb 2013 HAL is a multi-disciplinary open access L’archive ouverte pluridisciplinaire HAL, est archive for the deposit and dissemination of sci- destinée au dépôt et à la diffusion de documents entific research documents, whether they are pub- scientifiques de niveau recherche, publiés ou non, lished or not. The documents may come from émanant des établissements d’enseignement et de teaching and research institutions in France or recherche français ou étrangers, des laboratoires abroad, or from public or private research centers. publics ou privés. GNU TEXMACS user manual Joris van der Hoeven & others Table of contents 1. Getting started ...................................... 11 1.1. Conventionsforthismanual . .......... 11 Menuentries ..................................... 11 Keyboardmodifiers ................................. 11 Keyboardshortcuts ................................ 11 Specialkeys ..................................... 11 1.2. Configuring TEXMACS ..................................... 12 1.3. Creating, saving and loading documents . ............ 12 1.4. Printingdocuments .............................. ........ 13 2. Writing simple documents ............................. 15 2.1. Generalities for typing text . ........... 15 2.2. Typingstructuredtext ........................... ......... 15 2.3. Content-basedtags
    [Show full text]
  • Biblioteka PARI/GP W Zastosowaniu Do Systemu Ćwiczeń Laboratoryjnych
    Biblioteka PARI/GP w zastosowaniu do systemu ćwiczeń laboratoryjnych Bartosz Dzirba Gabriel Kujawski opiekun: prof. dr hab. Zbigniew Kotulski 1 Plan prezentacji . Ćwiczenie laboratoryjne . Przykład protokołu (TBD) . Systemy algebry . PARI/GP wstęp problemy… biblioteka 2 Ćwiczenie laboratoryjne wstęp . Tematyka: Kolektywne uzgadnianie klucza . Założenia: Praktyczne zapoznanie studenta z protokołami uzgadniania klucza Wykonanie wybranych protokołów Możliwość łatwej rozbudowy Działanie w laboratorium komputerowym . Potrzebne elementy: Aplikacja Biblioteki protokołów System algebry 3 Ćwiczenie laboratoryjne efekt pracy . Aplikacja sieciowa KUK . Zaimplementowane protokoły dwustronne grupowe (różne topologie) . Scenariusze z atakami MitM kontrola klucza . Realne testy dla kilkunastu uczestników . Przykładowy skrypt ćwiczenia 4 Tree-based Burmester Desmedt topologia KEY A1 A2 A3 A4 A5 A6 5 Tree-based Burmester Desmedt runda 1 KEY A DH0, g1, PID 1 DH0, g1, PID A2 A3 A4 A5 A6 6 Tree-based Burmester Desmedt runda 2 KEY A1 DH1, g2, PID DH1, g3, PID A2 A3 DH0, g3, PID DH0, g3, PID DH0, g2, PID A4 A5 A6 7 Tree-based Burmester Desmedt runda 3 KEY A1 KEY, E (S), SID 12 KEY, E13(S), SID KEY A2 A3 KEY DH1, g5, PID DH1, g4, PID DH1, g6, PID A4 A5 A6 8 Tree-based Burmester Desmedt runda 4 KEY A1 KEY A2 A3 KEY KEY, E35(S), SID KEY, E36(S), SID KEY, E24(S), SID KEY A4 KEY A5 KEY A6 9 Systemy algebry wstęp . Potrzeby: obsługa dużych liczb operacje modulo p znajdowanie generatora grupy znajdowanie elementu odwrotnego modulo p znajdowanie liczb pierwszych możliwość wykorzystania w MS VC++ .NET 2008 . Możliwe podejścia: wykorzystanie gotowego systemu napisanie własnej biblioteki 10 Systemy algebry dostępne możliwości Crypto++ Yacas OpenSSL PARI/GP cryptlib Maxima MathCAD Axiom Maple 11 PARI/GP wstęp .
    [Show full text]
  • Ginac 1.8.1 an Open Framework for Symbolic Computation Within the C++ Programming Language 8 August 2021
    GiNaC 1.8.1 An open framework for symbolic computation within the C++ programming language 8 August 2021 https://www.ginac.de Copyright c 1999-2021 Johannes Gutenberg University Mainz, Germany Permission is granted to make and distribute verbatim copies of this manual provided the copy- right notice and this permission notice are preserved on all copies. Permission is granted to copy and distribute modified versions of this manual under the condi- tions for verbatim copying, provided that the entire resulting derived work is distributed under the terms of a permission notice identical to this one. i Table of Contents GiNaC :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 1 1 Introduction :::::::::::::::::::::::::::::::::::::::::::::::::::: 2 1.1 License :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 2 2 A Tour of GiNaC::::::::::::::::::::::::::::::::::::::::::::::: 3 2.1 How to use it from within C++ :::::::::::::::::::::::::::::::::::::::::::::::::::: 3 2.2 What it can do for you::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 4 3 Installation:::::::::::::::::::::::::::::::::::::::::::::::::::::: 8 3.1 Prerequisites ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 8 3.2 Configuration :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 8 3.3 Building GiNaC ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 9 3.4 Installing GiNaC::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 9 4 Basic concepts:::::::::::::::::::::::::::::::::::::::::::::::::
    [Show full text]
  • 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]).
    [Show full text]
  • Open Source Resources for Teaching and Research in Mathematics
    Open Source Resources for Teaching and Research in Mathematics Dr. Russell Herman Dr. Gabriel Lugo University of North Carolina Wilmington Open Source Resources, ICTCM 2008, San Antonio 1 Outline History Definition General Applications Open Source Mathematics Applications Environments Comments Open Source Resources, ICTCM 2008, San Antonio 2 In the Beginning ... then there were Unix, GNU, and Linux 1969 UNIX was born, Portable OS (PDP-7 to PDP-11) – in new “C” Ken Thompson, Dennis Ritchie, and J.F. Ossanna Mailed OS => Unix hackers Berkeley Unix - BSD (Berkeley Systems Distribution) 1970-80's MIT Hackers Public Domain projects => commercial RMS – Richard M. Stallman EMACS, GNU - GNU's Not Unix, GPL Open Source Resources, ICTCM 2008, San Antonio 3 History Free Software Movement – 1983 RMS - GNU Project – 1983 GNU GPL – GNU General Public License Free Software Foundation (FSF) – 1985 Free = “free speech not free beer” Open Source Software (OSS) – 1998 Netscape released Mozilla source code Open Source Initiative (OSI) – 1998 Eric S. Raymond and Bruce Perens The Cathedral and the Bazaar 1997 - Raymond Open Source Resources, ICTCM 2008, San Antonio 4 The Cathedral and the Bazaar The Cathedral model, source code is available with each software release, code developed between releases is restricted to an exclusive group of software developers. GNU Emacs and GCC are examples. The Bazaar model, code is developed over the Internet in public view Raymond credits Linus Torvalds, Linux leader, as the inventor of this process. http://en.wikipedia.org/wiki/The_Cathedral_and_the_Bazaar Open Source Resources, ICTCM 2008, San Antonio 5 Given Enough Eyeballs ... central thesis is that "given enough eyeballs, all bugs are shallow" the more widely available the source code is for public testing, scrutiny, and experimentation, the more rapidly all forms of bugs will be discovered.
    [Show full text]
  • The Current State of Computer Algebra System on Tablet Devices
    The current state of computer algebra system on tablet devices Mitsushi Fujimoto Fukuoka University of Education ∗ 1 Introduction Infty project[1] developed and released some useful software including InftyReader { an OCR system for mathematical documents. InftyEditor is one of the products developed by Infty project, and is a mathematics typesetting tool. The author, a core member of Infty project, built into InftyEditor a computing function for mathematical expressions[2]. In 2003, AsirPad[3], a computer algebra system with a handwriting interface on PDA, was developed using the technology of InftyEditor. AsirPad can communicate with Risa/Asir[4] through OpenXM protocol[5], and calculate mathematical expressions inputted by handwriting. This is an application for Zaurus that is a PDA with 400MHz CPU, 64MB memory, Linux OS, 3.7inch VGA screen and the weight 250g. The mainstream of the current mobile devices is shifting to smartphones or tablet devices and some computer algebra systems for these platforms are developed. In this article we explore the current state of computer algebra system on tablet devices. 2 Mathellan project and tablet devices AsirPad was used to present a lecture on RSA cryptography at a junior high school[6]. Ordinary calculator is not available because encryption and decryption in RSA use division of large numbers. The students learned how to encrypt/decrypt their messages through calculations by AsirPad. They could input mathematical expressions and calculate without any special training. We could get a result for usefulness of PDA and handwriting interface from this lecture. In 2010, we started Mathellan Project, a mobile Math e-Learning project, to go the next step.
    [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]