Improving Your CASH Flow: the Computer Algebra Shell

Total Page:16

File Type:pdf, Size:1020Kb

Improving Your CASH Flow: the Computer Algebra Shell Improving your CASH flow: The C omputer Algebra SH ell Christopher Brown1, Hans-Wolfgang Loidl2, Jost Berthold3, and Kevin Hammond1 1 School of Computer Science, University of St. Andrews, UK. fchrisb,[email protected] 2 School of Mathematical and Computer Sciences, Heriot-Watt University, UK. [email protected] 3 DIKU Department of Computer Science, University of Copenhagen, Denmark. [email protected] Abstract. This paper describes CASH (the Computer Algebra SHell), a new interface that allows Haskell programmers to access the complete functionality of a number of computer algebra systems directly and in- teractively. Using CASH, Haskell programmers can access previously- unavailable mathematical software, and, in the reverse direction, users of computer algebra systems can exploit the rapidly growing Haskell code base and its rich set of libraries. In particular, CASH provides a simple and effective interface for users of computer algebra systems to parallelise their algorithms using domain-specific skeletons written in Haskell. 1 Introduction Users of functional programming languages can often feel as if they are in a ghetto. While foreign-function interfaces often exist to e.g. C, they can, indeed, feel foreign to use, especially where complex data structures are involved. And while library developers work hard to provide new functionality to functional programmers, this hard-won capability often bit-rots faster than it can be used effectively. As part of an EU-funded project4, we have been working to address some of these issues (and, incidentally, to provide a new user base for functional languages). In this way, we hope to open the gates to the ghetto of functional programming, breaking down some of the barriers that prevent wider use. This paper describes a new way to link Haskell [1] with computer algebra systems. CASH (the Computer Algebra SHell) provides a two-way interface to a number of widely-used computer algebra systems, including GAP [2], KANT [3], Mu- PAD[4], Maple [5] and MacAulay [6]. In order to achieve this, it exploits the generic SCSCP [7] protocol that has been implemented for all these systems, which, in turn, uses the OpenMath [8] standard format to describe the structure of mathematical objects. 4 SCIEnce: Symbolic Computation Infrastructure in Europe, RII3-CT-2005-026133. Interfacing in this way between (an interactive shell for) Haskell and com- puter algebra systems has several advantages. Firstly, these systems are domain- specific environments that provide a large number of specialised data-types and that build on decades of expert experience. For instance, the open source sys- tem GAP [2] comes with a library of complex computer algebra algorithms that have been contributed by hundreds or thousands of domain experts. Exploiting existing, optimised, environments such as GAP from within Haskell increases programmer productivity | the Haskell programmer does not have to learn the mathematics behind the code. Moreover, the bidirectional SCSCP interface also allows advanced functional language features to be used directly from a computer algebra system. For example, Haskell's parallelisation capabilities can be exploited without the user of the computer algebra system needing to know anything about either parallelism or functional programming. 1.1 Contributions The main technical contributions made by this paper are: 1. we show how CASH can be used to integrate Haskell and computer algebra code using SCSCP and OpenMath, giving examples that show how CASH can be used to call computer algebra systems from Haskell and vice-versa; 2. we show how to define domain-specific parallel skeletons for computer algebra in the Eden [9] dialect of Haskell, in particular, we describe a new multiple homomorphic images skeleton; and 3. we expose these parallel skeletons as SymGrid-Par [10] services, that can be called directly both from the CASH shell and from within the shell of an SCSCP-enabled computer algebra client. The idea of interfacing functional languages and computer algebra systems is, of course, not new. For example, GPH-Maple [11] and Eden-Maple [12] pro- vide dedicated sequential and parallel interfaces, respectively, to the commercial Maple system. However, CASH goes beyond these earlier approaches in terms of both usability and generality: CASH uses a Haskell implementation of the standardised OpenMath-based SCSCP [7] interface, which means that it can in- teract with any computer algebra system that implements the SCSCP standard; moreover, it also allows any SCSCP-compliant system to interact with Haskell. 2 Linking Haskell and Computer Algebra Systems CASH uses the GHCi interpreter to provide a Haskell-side shell for accessing computer algebra systems via SCSCP. The underlying libraries provide data structures and conversion functions targeted at computer algebra, plus a \com- mand line API" for an interactive front end, that is used to establish a connec- tion to, and interact with, an SCSCP-enabled system. To show how powerful, expressive and useful the CASH system can be, we will consider a simple exam- ple involving matrix groups over finite fields. We first define two matrices, m1 and m2 over the finite field Z3 = f0; 1; 2g, interactively, using the CASH shell *Cash> let m1 = [[Z(3)^0, Z(3)^0],[Z(3),0*Z(3)]] *Cash> let m2 = [[Z(3), Z(3)],[Z(3),0*Z(3)]] Here we have used the GAP-like syntax Z(3) for the element which generates the multiplicative group in the finite field Z3, 0*Z(3) for the 0-element and Z(3)^0 for the 1-element. Using CASH, we can directly exploit any of the GAP functions on group algebra. Here we compute the multiplicative matrix groups generated by each of these two matrices and then determine their intersection. *Cash> group(m1) Group([ [ [ Z(3)^0, Z(3)^0 ], [ Z(3), 0*Z(3) ] ] ]) *Cash> group(m2) Group([ [ [ Z(3), Z(3) ], [ Z(3), 0*Z(3) ] ] ]) *Cash> intersection(group(m1), group(m2)) [ [ [ Z(3)^0, 0*Z(3) ], [ 0*Z(3), Z(3)^0 ] ], [ [ Z(3), 0*Z(3) ], [ 0*Z(3), Z(3) ] ] ] The result of the intersection is given by two matrices, the first of which is the unit matrix and the second of which is the unit matrix multiplied by the scalar Z(3). Note that the result of each group operation is simply a symbolic representation of the result in terms of one or more generators, rather than a enumeration of all possible elements of the group. This is important, because the number of elements in a group can be huge, and the user is usually only interested in some specific properties of the group. We can often determine these properties without needing to generate all the elements of the group. This dramatically reduces the amount of computation that is required. 2.1 The SCSCP Interface The interface between a client and a server is defined by the SCSCP communi- cation protocol [7], which itself builds on the existing OpenMath standard [8] for data representation of mathematical objects. The SCSCP communication pro- tocol defines how messages are exchanged between client and server processes. Its main functionality is to support (remote) calls of SCSCP server-side services and to deliver results to the SCSCP client. In order to support automatic ser- vice discovery, the protocol also specifies how to obtain a list of all the available services that are supported by the SCSCP server, including their types. Figure 1 shows a CASH session interacting with a GAP server using SCSCP. The CASH session first connects to GAP with a Procedure Call message, containing information such as the Procedure name, any Arguments and any Options/Attributes, encoded in OpenMath. Alternatively, the user may inter- rupt the interaction at any time between the computer algebra system and the server. In this case the computation terminates and no result is returned. The GAP server responds to the CASH client by sending a Procedure Completed message: an OpenMath encoding containing the information about the result of the procedure. This message contains the (OpenMath) Result value; any Manda- tory Additional Information, such as the internal SCSCP call identifier; and any Optional additional information, such as the procedure runtime/memory usage. CASH GAP Procedure Call "WS_Group", OMObj, "CASH", Return to sender [Interrupt Signal] [Procedure Compeleted] OMOBJ Result, "GAP" [Procedure Terminated] Error, "GAP" Fig. 1. An example interaction between CASH and GAP using SCSCP Alternatively, the GAP server may instead return a Procedure Terminated message containing an Error message. The CASH user-level interface is provided by the callSCSCP function, which takes a service name and a list of OpenMath objects as arguments and issues an SCSCP call to the server. To simplify this interface, a family of functions call1, call2 etc. are defined, which hide the (un)marshalling of the data-structures. 2.2 The OpenMath Data Format The OpenMath [8] data format is an XML-based representation of mathematical objects such as polynomials, finite field elements or permutations. Formally, an OpenMath object is a labelled tree whose leaves form typical computer algebra type representations. These include integers, unicode strings, variables or sym- bols, where symbols consist of a name and a content dictionary. For instance, a vector of finite field elements [[Z(3)^0,Z(3)^0]] can be encoded in the Open- Math representation shown in Figure 2. This uses the linalg2 content dictionary to define matrix and matrixrow. 3 Calling GAP from Haskell and vice-versa We now give two examples of using CASH that show the usefulness of being able to call computer algebra functionality from a Haskell environment without having to step out of the functional paradigm. <OMOBJ> <OMA> <OMS cd="linalg2" name="matrix"/> <OMA> <OMS cd="linalg2" name="matrixrow"/> <OMA> <OMS cd="arith1" name="power"/> <OMA> <OMS cd="finfield1" name="primitive_element"/> <OMI>3</OMI> </OMA> <OMI>0</OMI> </OMA> <OMA> <OMS cd="arith1" name="power"/> <OMA> <OMS cd="finfield1" name="primitive_element"/> <OMI>3</OMI> </OMA> <OMI>0</OMI> </OMA> </OMA> </OMA> </OMOBJ> Fig.
Recommended publications
  • Analysis and Verification of Arithmetic Circuits Using Computer Algebra Approach
    University of Massachusetts Amherst ScholarWorks@UMass Amherst Doctoral Dissertations Dissertations and Theses March 2020 ANALYSIS AND VERIFICATION OF ARITHMETIC CIRCUITS USING COMPUTER ALGEBRA APPROACH TIANKAI SU University of Massachusetts Amherst Follow this and additional works at: https://scholarworks.umass.edu/dissertations_2 Part of the VLSI and Circuits, Embedded and Hardware Systems Commons Recommended Citation SU, TIANKAI, "ANALYSIS AND VERIFICATION OF ARITHMETIC CIRCUITS USING COMPUTER ALGEBRA APPROACH" (2020). Doctoral Dissertations. 1868. https://doi.org/10.7275/15875490 https://scholarworks.umass.edu/dissertations_2/1868 This Open Access Dissertation is brought to you for free and open access by the Dissertations and Theses at ScholarWorks@UMass Amherst. It has been accepted for inclusion in Doctoral Dissertations by an authorized administrator of ScholarWorks@UMass Amherst. For more information, please contact [email protected]. ANALYSIS AND VERIFICATION OF ARITHMETIC CIRCUITS USING COMPUTER ALGEBRA APPROACH A Dissertation Presented by TIANKAI SU Submitted to the Graduate School of the University of Massachusetts Amherst in partial fulfillment of the requirements for the degree of DOCTOR OF PHILOSOPHY February 2020 Electrical and Computer Engineering c Copyright by Tiankai Su 2020 All Rights Reserved ANALYSIS AND VERIFICATION OF ARITHMETIC CIRCUITS USING COMPUTER ALGEBRA APPROACH A Dissertation Presented by TIANKAI SU Approved as to style and content by: Maciej Ciesielski, Chair George S. Avrunin, Member Daniel Holcomb, Member Weibo Gong, Member Christopher V. Hollot, Department Head Electrical and Computer Engineering ABSTRACT ANALYSIS AND VERIFICATION OF ARITHMETIC CIRCUITS USING COMPUTER ALGEBRA APPROACH FEBRUARY 2020 TIANKAI SU B.Sc., NORTHEAST DIANLI UNIVERSITY Ph.D., UNIVERSITY OF MASSACHUSETTS AMHERST Directed by: Professor Maciej Ciesielski Despite a considerable progress in verification of random and control logic, ad- vances in formal verification of arithmetic designs have been lagging.
    [Show full text]
  • The Misfortunes of a Trio of Mathematicians Using Computer Algebra Systems
    The Misfortunes of a Trio of Mathematicians Using Computer Algebra Systems. Can We Trust in Them? Antonio J. Durán, Mario Pérez, and Juan L. Varona Introduction by a typical research mathematician, but let us Nowadays, mathematicians often use a computer explain it briefly. It is not necessary to completely algebra system as an aid in their mathematical understand the mathematics, just to realize that it research; they do the thinking and leave the tedious is typical mathematical research using computer calculations to the computer. Everybody “knows” algebra as a tool. that computers perform this work better than Our starting point is a discrete positive measure people. But, of course, we must trust in the results on the real line, µ n 0 Mnδan (where δa denotes = ≥ derived via these powerful computer algebra the Dirac delta at a, and an < an 1) having P + systems. First of all, let us clarify that this paper is a sequence of orthogonal polynomials Pn n 0 f g ≥ not, in any way, a comparison between different (where Pn has degree n and positive leading computer algebra systems, but a sample of the coefficient). Karlin and Szeg˝oconsidered in 1961 (see [4]) the l l Casorati determinants current state of the art of what mathematicians × can expect when they use this kind of software. Pn(ak)Pn(ak 1):::Pn(ak l 1) Although our example deals with a concrete system, + + − Pn 1(ak)Pn 1(ak 1):::Pn 1(ak l 1) 0 + + + + + − 1 we are sure that similar situations may occur with (1) det .
    [Show full text]
  • Addition and Subtraction
    A Addition and Subtraction SUMMARY (475– 221 BCE), when arithmetic operations were per- formed by manipulating rods on a flat surface that was Addition and subtraction can be thought of as a pro- partitioned by vertical and horizontal lines. The num- cess of accumulation. For example, if a flock of 3 sheep bers were represented by a positional base- 10 system. is joined with a flock of 4 sheep, the combined flock Some scholars believe that this system— after moving will have 7 sheep. Thus, 7 is the sum that results from westward through India and the Islamic Empire— the addition of the numbers 3 and 4. This can be writ- became the modern system of representing numbers. ten as 3 + 4 = 7 where the sign “+” is read “plus” and The Greeks in the fifth century BCE, in addition the sign “=” is read “equals.” Both 3 and 4 are called to using a complex ciphered system for representing addends. Addition is commutative; that is, the order numbers, used a system that is very similar to Roman of the addends is irrelevant to how the sum is formed. numerals. It is possible that the Greeks performed Subtraction finds the remainder after a quantity is arithmetic operations by manipulating small stones diminished by a certain amount. If from a flock con- on a large, flat surface partitioned by lines. A simi- taining 5 sheep, 3 sheep are removed, then 2 sheep lar stone tablet was found on the island of Salamis remain. In this example, 5 is the minuend, 3 is the in the 1800s and is believed to date from the fourth subtrahend, and 2 is the remainder or difference.
    [Show full text]
  • Derivation of Numerical Methods Using Computer Algebra∗
    SIAM REVIEW c 1999 Society for Industrial and Applied Mathematics Vol. 41, No. 3, pp. 577–593 Derivation of Numerical Methods Using Computer Algebra∗ Walter Gandery Dominik Gruntzz Abstract. The use of computer algebra systems in a course on scientific computation is demonstrated. Various examples, such as the derivation of Newton's iteration formula, the secant method, Newton{Cotes and Gaussian integration formulas, as well as Runge{Kutta formulas, are presented. For the derivations, the computer algebra system Maple is used. Key words. numerical methods, computer algebra, Maple, quadrature formulas, nonlinear equations, finite elements, Rayleigh{Ritz, Galerkin method, Runge{Kutta method AMS subject classifications. 65-01, 68Q40, 65D32, 65H05, 65L60, 65L06 PII. S003614459935093X 1. Introduction. At ETH Z¨urich we have redesigned our courses on numerical analysis. We not only teach numerical algorithms but also introduce the students to computer algebra and make heavy use of computer algebra systems in both lectures and assignments. Computer algebra is used to generate numerical algorithms, to compute discretization errors, to derive convergence rates, to simplify proofs, to run examples, and to generate plots. We claim that it is easier for students to follow a derivation carried out with the help of a computer algebra system than one done by hand. Computer algebra systems take over the hard manual work, such as solving systems of equations. Students need not be concerned with all the details (and all the small glitches) of a manual derivation and can understand and keep an overview of the general steps of the derivation. A computer-supported derivation is also more convincing than a presentation of the bare results without any reasoning.
    [Show full text]
  • Symbolicdata: Sdeval-Benchmarking for Everyone
    SymbolicData:SDEval - Benchmarking for Everyone Albert Heinle1, Viktor Levandovskyy2, Andreas Nareike3 1 Cheriton School of Computer Science, University of Waterloo, Waterloo, Canada 2 Lehrstuhl D f¨urMathematik, RWTH Aachen University, Aachen, Germany 3 HTWK Leipzig, Leipzig, Germany Abstract. In this paper we will present SDeval, a software project that contains tools for creating and running benchmarks with a focus on problems in computer algebra. It is built on top of the Symbolic Data project, able to translate problems in the database into executable code for various computer algebra systems. The included tools are designed to be very flexible to use and to extend, such that they can be utilized even in contexts of other communities. With the presentation of SDEval, we will also address particularities of benchmarking in the field of computer algebra. Furthermore, with SDEval, we provide a feasible and automatizable way of reproducing benchmarks published in current research works, which appears to be a difficult task in general due to the customizability of the available programs. We will simultaneously present the current developments in the Sym- bolic Data project. 1 Introduction Benchmarking of software { i.e. measuring the quality of results and the time resp. memory consumption for a given, standardized set of examples as input { is a common way of evaluating implementations of algorithms in many areas of industry and academia. For example, common benchmarks for satisfiability modulo theorems (SMT) solvers are collected in the standard library SMT-LIB ([BST10]), and the advantages of various solvers like Z3 ([DMB08]) or CVC4 ([BCD+11]) are revealed with the help of those benchmarks.
    [Show full text]
  • Constructing a Computer Algebra System Capable of Generating Pedagogical Step-By-Step Solutions
    DEGREE PROJECT IN COMPUTER SCIENCE AND ENGINEERING, SECOND CYCLE, 30 CREDITS STOCKHOLM, SWEDEN 2016 Constructing a Computer Algebra System Capable of Generating Pedagogical Step-by-Step Solutions DMITRIJ LIOUBARTSEV KTH ROYAL INSTITUTE OF TECHNOLOGY SCHOOL OF COMPUTER SCIENCE AND COMMUNICATION Constructing a Computer Algebra System Capable of Generating Pedagogical Step-by-Step Solutions DMITRIJ LIOUBARTSEV Examenrapport vid NADA Handledare: Mårten Björkman Examinator: Olof Bälter Abstract For the problem of producing pedagogical step-by-step so- lutions to mathematical problems in education, standard methods and algorithms used in construction of computer algebra systems are often not suitable. A method of us- ing rules to manipulate mathematical expressions in small steps is suggested and implemented. The problem of creat- ing a step-by-step solution by choosing which rule to apply and when to do it is redefined as a graph search problem and variations of the A* algorithm are used to solve it. It is all put together into one prototype solver that was evalu- ated in a study. The study was a questionnaire distributed among high school students. The results showed that while the solutions were not as good as human-made ones, they were competent. Further improvements of the method are suggested that would probably lead to better solutions. Referat Konstruktion av ett datoralgebrasystem kapabelt att generera pedagogiska steg-för-steg-lösningar För problemet att producera pedagogiska steg-för-steg lös- ningar till matematiska problem inom utbildning, är vanli- ga metoder och algoritmer som används i konstruktion av datoralgebrasystem ofta inte lämpliga. En metod som an- vänder regler för att manipulera matematiska uttryck i små steg föreslås och implementeras.
    [Show full text]
  • Algorithms in Algebraic Number Theory
    BULLETIN (New Series) OF THE AMERICAN MATHEMATICALSOCIETY Volume 26, Number 2, April 1992 ALGORITHMS IN ALGEBRAIC NUMBER THEORY H. W. LENSTRA, JR. Abstract. In this paper we discuss the basic problems of algorithmic algebraic number theory. The emphasis is on aspects that are of interest from a purely mathematical point of view, and practical issues are largely disregarded. We describe what has been done and, more importantly, what remains to be done in the area. We hope to show that the study of algorithms not only increases our understanding of algebraic number fields but also stimulates our curiosity about them. The discussion is concentrated of three topics: the determination of Galois groups, the determination of the ring of integers of an algebraic number field, and the computation of the group of units and the class group of that ring of integers. 1. Introduction The main interest of algorithms in algebraic number theory is that they pro- vide number theorists with a means of satisfying their professional curiosity. The praise of numerical experimentation in number theoretic research is as widely sung as purely numerological investigations are indulged in, and for both activities good algorithms are indispensable. What makes an algorithm good unfortunately defies definition—too many extra-mathematical factors af- fect its practical performance, such as the skill of the person responsible for its execution and the characteristics of the machine that may be used. The present paper addresses itself not to the researcher who is looking for a collection of well-tested computational methods for use on his recently acquired personal computer.
    [Show full text]
  • CS 282 Algebraic Algorithms
    UNIVERSITY OF CALIFORNIA Department of Electrical Engineering and Computer Sciences Computer Science Division Prof. R. Fateman Spring 2002 General Course Information: CS 282 Algebraic Algorithms Personnel Instructor: Richard J. Fateman, 789 Soda Office Hours: immediately after class, WF 11-12 but I am in Soda Hall most days: send email to be sure. Phone, email: 642-1879, [email protected] Teaching Assistants: none Information: See URL http://www-inst.eecs.berkeley.edu/~cs282 (the class home page). Catalog Description Prerequisites: Some knowledge of modern algebra, some programming experience, interest in applied mathematics and/or computational aspects of pure mathematics. Suggested courses: Math 113 and CS 164 or graduate standing in mathematics or computer science, or permission of instructor. ) Theory and construction of symbolic algebraic computer programs. Polynomial arith- metic, GCD, factorization. Integration of elementary functions. Analytic approximation. Simplification. Design of computer systems and languages for symbolic mathematics. Pro- gramming Exercises. (3 units) Scheduling Meeting time/place: 9:30-11 Wed, Friday, 320 Soda Hall. Some but not all of the lectures will be available on power-point slides. There will be notes handed out in class, and posted on the class web page. 1 General Course Information: CS 282 Algebraic Algorithms 2 Grades, course assignments, homeworks, exam schedule Your grade in this course will depend on three components: 1. Problem Sets: There will be 5 sets, plus a take-home final. Some will involve computer usage. (problem sets determine 50% of grade) 2. Project: We’ve attached a list of possible projects. Some projects require significant programming background; some require some familiarity with moderately advanced mathematics, (algebra, analysis, applications) and some require both.
    [Show full text]
  • Teaching Physics with Computer Algebra Systems
    AC 2009-334: TEACHING PHYSICS WITH COMPUTER ALGEBRA SYSTEMS Radian Belu, Drexel University Alexandru Belu, Case Western Reserve University Page 14.1147.1 Page © American Society for Engineering Education, 2009 Teaching Physics with Computer Algebra Systems Abstract This paper describes some of the merits of using algebra systems in teaching physics courses. Various applications of computer algebra systems to the teaching of physics are given. Physicists started to apply symbolic computation since their appearance and, hence indirectly promoted the development of computer algebra in its contemporary form. It is therefore fitting that physics is once again at the forefront of a new and exciting development: the use of computer algebra in teaching and learning processes. Computer algebra systems provide the ability to manipulate, using a computer, expressions which are symbolic, algebraic and not limited to numerical evaluation. Computer algebra systems can perform many of the mathematical techniques which are part and parcel of a traditional physics course. The successful use of the computer algebra systems does not imply that the mathematical skills are no longer at a premium: such skills are as important as ever. However, computer algebra systems may remove the need for those poorly understood mathematical techniques which are practiced and taught simply because they serve as useful tools. The conceptual and reasoning difficulties that many students have in introductory and advanced physics courses is well-documented by the physics education community about. Those not stemming from students' failure to replace Aristotelean preconceptions with Newtonian ideas often stem from difficulties they have in connecting physical concepts and situations with relevant mathematical formalisms and representations, for example, graphical representations.
    [Show full text]
  • The Impact of Computer and Mathematics Software Usage on Performance of School Leavers in the Western Cape Province of South Africa: a Comparative Analysis
    International Journal of Education and Development using Information and Communication Technology (IJEDICT), 2014, Vol. 10, Issue 1, pp. 22-40 The impact of computer and mathematics software usage on performance of school leavers in the Western Cape Province of South Africa: A comparative analysis Garth Spencer Smith and Joanne Hardman University of Cape Town, South Africa ABSTRACT In this study the impact of computer immersion on performance of school leavers Senior Certificate mathematics scores was investigated across 31 schools in the EMDC East education district of Cape Town, South Africa by comparing performance between two groups: a control and an experimental group. The experimental group (14 high schools) had access to computers since 2001 while the control schools received computers between 2006 and early 2007. That is, the experimental schools could be expected to be more immersed in computer technology than the control schools. Findings indicated that there was no significant difference between the final Senior Certificate mathematics results of the schools with the computers and those without; no significant change in the results after the Khanya labs were installed; no significant change in the percentage of pupils that passed Senior Certificate Mathematics; and no significant change in Higher Grade Maths enrolment rates. This finding points to the need for caution in the implementation of ICT’s into schools as a potential panacea for mathematical failure in our context. Recommendations for further qualitative work to provide a more nuanced picture of computer usage should be made. Keywords: computer assisted learning; high school; impact study INTRODUCTION The rationale for this research is twofold: on the one hand South Africa currently faces a crisis in mathematics education, which has seen it placed last1 in the Third International Mathematics and Science Study (Howie 2001; Howie et al., 2000; Global competitiveness report 2013, Evan 2013).
    [Show full text]
  • Boolean Algebra with Mathematica and TI-83, 89
    %RROHDQDOJHEUDZLWK0DWKHPDWLFDDQG7, ,JRU*$&+.29 .DUOVWDG8QLYHUVLW\ 'HSDUWPHQWRI(QJLQHHULQJ6FLHQFHV 3K\VLFVDQG0DWKHPDWLFV 6ZHGHQ WHO D K ID[ HPDLODGGUHVV,JRU*DFKNRY#NDXVH The package "Boolean algebra" The package ”Boolean algebra” is a program package, which was created especially for TI-83 and is used for teaching in course of Discrete Mathematics based on a traditional textbook Ralph P. Grimaldi, Discrete and Conbinatorial Mathematics an Applied Introduction, fourth edition 6WLSHQGLXPIRULGHDGHYHORSPHQWIURP&KDOPHUV7HNQLNSDUN7HNQLNEURVWLIWHOVHQLQ *RWKHQEXUJ6ZHGHQ3URMHFW%RROHDQDOJHEUDZLWK7, LQFRRSHUDWLRQZLWK-RUU\WYDQ%RPPHO Actually this package is a natural development and a further edition of the package ”Boolean.m” in MATHEMATICA, which has been used by the author during a long time for teaching in this course.[1][2] The package ”Boolean algebra” for TI 83 contains programs which allow to display different steps with illustrative explanations calculation in the Boolean algebra.[3] Calculators allow to change the teaching process by replacing of MATHEMATICA with TI-83 due to their safety, low price and because they are easy to use and are possible to develop and provide. Of course MATHEMATICA has more powerful calculating possibilities, but calculators are very flexible, and can therefore be used during lectures in big rooms without technical facilities. References: I.B.Gachkov ´7HDFKLQJ'LVFUHWH0DWKHPDWLFVZLWK&RPSXWHU$OJHEUD$1HZ$SSURDFKWR 0RGHUQ$OJHEUDDQG(UURU&RUUHFWLQJ&RGHV´, El. Proceedings of the Conf.of Applications of Computer Algebra IMACS-ACA'97 , Hawaii, http://www.math.unm.edu/ACA/1997/ Proceedings/education/Hulth_abstract.txt (in cooperation with K. Hulth) 2. I.B.Gachkov ´7KHDOJRULWKPVRIGLVFUHWHPDWKHPDWLFVDQGJUDSKWKHRU\ZLWK0$7+(0$7,&$DQG7,´ 6th IMACS Conference on Applications of Computer Algebra (June, 25-28, 2000) Proceedings 3.
    [Show full text]
  • Computer Algebra and Differential Equations — an Overview
    Computer Algebra and Differential Equations Ð An Overview Werner M. Seiler Institut fÈur Algorithmen und Kognitive Systeme UniversitÈat Karlsruhe, 76128 Karlsruhe, Germany [email protected] http://iaks-www.ira.uka.de/iaks-calmet/werner/werner.html We present an informal overview of a number of approaches to differential equations popular in computer algebra. This includes symmetry and completion theory, local analysis, differential ideal and Galois theory, dynamical systems and numerical analysis. A large bibliography is provided. Introduction Differential equations represent one of the largest ®elds within mathematics. Besides being an interesting subject of their own right one can hardly overestimate their importance for applications. They appear in natural and engineer- ing sciences and increasingly often in economics and social sciences. Whenever a continuous process is modeled mathematically, chances are high that differential equations are used. Thus it is not surprising that differential equations also play an important role in computer algebra and most gen- eral purpose computer algebra systems provide some kind of solve command. Many casual users believe that designing and improving such procedures is a central problem in computer algebra. But the real situation is some- what different. Many computer algebra applications to differential equations work indirectly; they help to study and understand properties of the solution space. The purpose of this article is to sketch in an informal way some of the main research directions in this ®eld and to provide a starting point for more detailed studies by giving a large number of references. We omit all mathematical details (there is not a single formula in this article!) but describe brie¯y the central ideas.
    [Show full text]