Easy Composition of Symbolic Computation Software: a New Lingua Franca for Symbolic Computation

Total Page:16

File Type:pdf, Size:1020Kb

Easy Composition of Symbolic Computation Software: a New Lingua Franca for Symbolic Computation Easy Composition of Symbolic Computation Software: A New Lingua Franca for Symbolic Computation S. Linton, K. Hammond, A. D. Al Zain, P. Horn A. Konovalov, P. Trinder Universität Kassel University of St Andrews Heriot-Watt University [email protected] {sal,kh,alexk} {ceeatia, trinder} kassel.de @cs.st-and.ac.uk @macs.hw.ac.uk D. Roozemond Technical Universiteit Eindhoven [email protected] ABSTRACT combine multiple instances of the same or different CAS for We present the results of the first four years of the European parallel computations. research project SCIEnce (www.symbolic-computation.org), There are many possible combinations. Examples include: which aims to provide key infrastructure for symbolic com- GAP and Maple in CHEVIE for handling generic character putation research. A primary outcome of the project is that tables [21]; Maple and the PVS theorem prover to obtain we have developed a new way of combining computer algebra more reliable results [1]; GAP and nauty in GRAPE for systems using the Symbolic Computation Software Compos- fast graph automorphisms [40]; and GAP as a service for ability Protocol (SCSCP), in which both protocol messages the ECLiPSe constraint programming system for symmetry- and data are encoded in the OpenMath format. We describe breaking in search [22]. In all these cases, interfacing to a SCSCP middleware and APIs, outline some implementations CAS with the required functionality is far less work than for various Computer Algebra Systems (CAS), and show how re-implementing the functionality in the \home" system. SCSCP-compliant components may be combined to solve sci- Even within a single CAS, users may need to combine lo- entific problems that can not be solved within a single CAS, cal and remote instances for a number of reasons, including: or may be organised into a system for distributed parallel remote system features which are not supported in the lo- computations. cal operating system; a need to access large (and changing) databases; remote access to the latest development version or to the configuration at the home institution; licensing re- Categories and Subject Descriptors strictions permitting only online services, etc. A common I.1 [Symbolic and Algebraic Manipulation]: Miscella- quick solution is cut-and-paste from telnet sessions and web neous browsers. It would, however, be more efficient and more flex- ible to combine local and remote computations in a way such General Terms that remotely obtained results will be plugged immediately into the locally running CAS. Design, Standardization Moreover, individual CPUs have almost stopped increas- ing in power, but are becoming more numerous. A typical Keywords workstation now has 4-8 cores, and this is only a beginning. OpenMath, SCSCP, interface, coordination, parallelism If we want to solve larger problems in future, it will be essen- tial to exploit multiple processors in a way that gives good parallelism for minimal programmer/user effort. 1. INTRODUCTION CAS authors have inevitably started to face these issues, A key requirement in symbolic computation is to efficiently and have addressed them in various ways. For example, a combine computer algebra systems (CAS) to solve problems CAS may write input files for another program and invoke that cannot be addressed by any single system. Addition- it; the other program then will write CAS input to a file ally, there is often a requirement to have CAS as a back-end and exit; the CAS will read it and return a result. This of mathematical databases and web or grid services, or to works, but has fairly serious limitations. A better setup might allow the CAS to interact with other programs while they run and provide a separate interface to each possible external system. The SAGE system [39] is essentially built Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are around this approach. However, achieving this is a major not made or distributed for profit or commercial advantage and that copies programming challenge, and an interface will be broken if bear this notice and the full citation on the first page. To copy otherwise, to the other system changes its I/O format, for example. republish, to post on servers or to redistribute to lists, requires prior specific The EU Framework 6 SCIEnce project \SCIEnce { Sym- permission and/or a fee. bolic Computation Infrastructure in Europe" is a major 5- ISSAC 2010, 25–28 July 2010, Munich, Germany. year project that brings together CAS developers and ex- Copyright 2010 ACM 978-1-4503-0150-3/10/0007 ...$10.00. 339 perts in computational algebra, OpenMath, and parallel com- other, and also as the foundation for more advanced cluster putations. It aims to design a common standard interface and grid infrastructures (see Section 5). The advantage of that may be used for combining computer algebra systems this approach is that any system that implements SCSCP (and any other compatible software). Our vision is an easy, can immediately connect to all other systems that already robust and reliable way for users to create and consume support it. This avoids the need for special cases and min- services implemented in any compatible systems, ranging imizes repeated effort. In addition, SCSCP allows remote from generic services (e.g. evaluation of a string or an Open- objects to be handled by reference so that clients may work Math object) to specialised (e.g. lookup in the database; with objects of a type that do not exist in their own sys- executing certain procedure). We have developed a sim- tem at all (see the example in Section 4.2). For example, to ple lightweight XML-based remote procedure call protocol represent the number of conjugacy classes of a group only called SCSCP (Symbolic Computation Software Compos- knowledge of integers is required, not knowledge of groups. ability Protocol) in which both data and instructions are rep- The SCSCP protocol (currently at version 1.3) is socket- resented as OpenMath objects. SCSCP is now implemented based. It uses port number 26133, as assigned by the Inter- in several computer algebra systems (see Section 2.2 for an net Assigned Numbers Authority (IANA)), and XML-format overview) and has APIs making it easy to add SCSCP inter- messages. faces to more systems. Another important outcome of the project is the development of middleware for parallel com- 3. BUILDING BLOCKS putations, SymGrid-Par, which is capable of orchestrating SCSCP-compliant systems into a heterogeneous system for FOR CAS COMPOSITION distributed parallel computations. In this section, we briefly describe the implementation of We will give an overview of these tools below. First we the SCSCP protocol for two systems: GAP [18] and MuPAD briefly characterise the underpinning OpenMath data encod- [34]. The main aim of this section is to show that SCSCP ing and the SCSCP protocol (Section 2). Then we outline is a standard that may be implemented in different ways by SCSCP interfaces in two different systems, one open source different CAS, taking into account their own design princi- and one commercial, and provide references for existing im- ples. plementations in other systems (Section 3). After that we describe several examples that demonstrate the flexibility of 3.1 GAP the SCSCP approach and some SCSCP specific features and In the GAP system, support for OpenMath and SCSCP benefits (Section 4). We introduce several SCSCP-compliant is implemented in two GAP packages called OpenMath and tools for parallel computations in various environments (Sec- SCSCP, respectively. The OpenMath package [11] is an Open- tion 5), before concluding (Section 6). Math phrasebook for GAP: it converts OpenMath to GAP and vice versa, and provides a framework that users may 2. A COMPUTER ALGEBRA extend with their private content dictionaries. The SCSCP package [30] implements SCSCP, using the GAP OpenMath, LINGUA FRANCA IO [35] and GAPDoc [32] packages. This allows GAP to run as either an SCSCP server or client. The server may be started 2.1 OpenMath interactively from the GAP session or as a GAP daemon. In order to connect different CAS it is necessary to speak When the server accepts a connection from the client, it a common language, i.e., to agree on a common way of mar- starts the \accept-evaluate-return" loop: shaling mathematical semantics. Here, the obvious choice was OpenMath [37], a well-established standard that has • accepts the "procedure_call" message and looks up been used in similar contexts. OpenMath is a very flexible the appropriate GAP function (which should be de- language built from only twelve language elements (integers, clared by the service provider as an SCSCP procedure); doubles, variables, applications etc.). The entire semantics • evaluates the result (or produces a side-effect); is encapsulated in symbols which are defined in Content Dic- tionaries (CDs) and are strictly separate from the language • replies with a "procedure_completed" message or re- itself. So, one finds the \normal" addition under the name turns an error in a "procedure_terminated" message. plus in the CD arith1. A large number of CDs is available at the OpenMath website [37], such as polyd1 for the definition The SCSCP client performs the following basic actions: and manipulation of multivariate polynomials, group4 for • establishes connection with server; cosets and conjugacy classes, etc. OpenMath was designed to be efficiently used by computers, and may be represented • sends the "procedure_call" message to the server; in several different encodings. The XML representation is the most commonly used, but there exist also a binary rep- • waits for its completion or checks it later; resentation and a more human readable representation called • fetches the result from a "procedure_completed" mes- Popcorn [29].
Recommended publications
  • 500 Natural Sciences and Mathematics
    500 500 Natural sciences and mathematics Natural sciences: sciences that deal with matter and energy, or with objects and processes observable in nature Class here interdisciplinary works on natural and applied sciences Class natural history in 508. Class scientific principles of a subject with the subject, plus notation 01 from Table 1, e.g., scientific principles of photography 770.1 For government policy on science, see 338.9; for applied sciences, see 600 See Manual at 231.7 vs. 213, 500, 576.8; also at 338.9 vs. 352.7, 500; also at 500 vs. 001 SUMMARY 500.2–.8 [Physical sciences, space sciences, groups of people] 501–509 Standard subdivisions and natural history 510 Mathematics 520 Astronomy and allied sciences 530 Physics 540 Chemistry and allied sciences 550 Earth sciences 560 Paleontology 570 Biology 580 Plants 590 Animals .2 Physical sciences For astronomy and allied sciences, see 520; for physics, see 530; for chemistry and allied sciences, see 540; for earth sciences, see 550 .5 Space sciences For astronomy, see 520; for earth sciences in other worlds, see 550. For space sciences aspects of a specific subject, see the subject, plus notation 091 from Table 1, e.g., chemical reactions in space 541.390919 See Manual at 520 vs. 500.5, 523.1, 530.1, 919.9 .8 Groups of people Add to base number 500.8 the numbers following —08 in notation 081–089 from Table 1, e.g., women in science 500.82 501 Philosophy and theory Class scientific method as a general research technique in 001.4; class scientific method applied in the natural sciences in 507.2 502 Miscellany 577 502 Dewey Decimal Classification 502 .8 Auxiliary techniques and procedures; apparatus, equipment, materials Including microscopy; microscopes; interdisciplinary works on microscopy Class stereology with compound microscopes, stereology with electron microscopes in 502; class interdisciplinary works on photomicrography in 778.3 For manufacture of microscopes, see 681.
    [Show full text]
  • Math 788M: Computational Number Theory (Instructor’S Notes)
    Math 788M: Computational Number Theory (Instructor’s Notes) The Very Beginning: • A positive integer n can be written in n steps. • The role of numerals (now O(log n) steps) • Can we do better? (Example: The largest known prime contains 258716 digits and doesn’t take long to write down. It’s 2859433 − 1.) Running Time of Algorithms: • A positive integer n in base b contains [logb n] + 1 digits. • Big-Oh & Little-Oh Notation (as well as , , ∼, ) Examples 1: log (1 + (1/n)) = O(1/n) Examples 2: [logb n] + 1 log n Examples 3: 1 + 2 + ··· + n n2 These notes are for a course taught by Michael Filaseta in the Spring of 1996 and being updated for Fall of 2007. Computational Number Theory Notes 2 Examples 4: f a polynomial of degree k =⇒ f(n) = O(nk) Examples 5: (r + 1)π ∼ rπ • We will want algorithms to run quickly (in a small number of steps) in comparison to the length of the input. For example, we may ask, “How quickly can we factor a positive integer n?” One considers the length of the input n to be of order log n (corresponding to the number of binary digits n has). An algorithm runs in polynomial time if the number of steps it takes is bounded above by a polynomial in the length of the input. An algorithm to factor n in polynomial time would require that it take O (log n)k steps (and that it factor n). Addition and Subtraction (of n and m): • We are taught how to do binary addition and subtraction in O(log n + log m) steps.
    [Show full text]
  • Number Theory
    “mcs-ftl” — 2010/9/8 — 0:40 — page 81 — #87 4 Number Theory Number theory is the study of the integers. Why anyone would want to study the integers is not immediately obvious. First of all, what’s to know? There’s 0, there’s 1, 2, 3, and so on, and, oh yeah, -1, -2, . Which one don’t you understand? Sec- ond, what practical value is there in it? The mathematician G. H. Hardy expressed pleasure in its impracticality when he wrote: [Number theorists] may be justified in rejoicing that there is one sci- ence, at any rate, and that their own, whose very remoteness from or- dinary human activities should keep it gentle and clean. Hardy was specially concerned that number theory not be used in warfare; he was a pacifist. You may applaud his sentiments, but he got it wrong: Number Theory underlies modern cryptography, which is what makes secure online communication possible. Secure communication is of course crucial in war—which may leave poor Hardy spinning in his grave. It’s also central to online commerce. Every time you buy a book from Amazon, check your grades on WebSIS, or use a PayPal account, you are relying on number theoretic algorithms. Number theory also provides an excellent environment for us to practice and apply the proof techniques that we developed in Chapters 2 and 3. Since we’ll be focusing on properties of the integers, we’ll adopt the default convention in this chapter that variables range over the set of integers, Z. 4.1 Divisibility The nature of number theory emerges as soon as we consider the divides relation a divides b iff ak b for some k: D The notation, a b, is an abbreviation for “a divides b.” If a b, then we also j j say that b is a multiple of a.
    [Show full text]
  • A Taste of Set Theory for Philosophers
    Journal of the Indian Council of Philosophical Research, Vol. XXVII, No. 2. A Special Issue on "Logic and Philosophy Today", 143-163, 2010. Reprinted in "Logic and Philosophy Today" (edited by A. Gupta ans J.v.Benthem), College Publications vol 29, 141-162, 2011. A taste of set theory for philosophers Jouko Va¨an¨ anen¨ ∗ Department of Mathematics and Statistics University of Helsinki and Institute for Logic, Language and Computation University of Amsterdam November 17, 2010 Contents 1 Introduction 1 2 Elementary set theory 2 3 Cardinal and ordinal numbers 3 3.1 Equipollence . 4 3.2 Countable sets . 6 3.3 Ordinals . 7 3.4 Cardinals . 8 4 Axiomatic set theory 9 5 Axiom of Choice 12 6 Independence results 13 7 Some recent work 14 7.1 Descriptive Set Theory . 14 7.2 Non well-founded set theory . 14 7.3 Constructive set theory . 15 8 Historical Remarks and Further Reading 15 ∗Research partially supported by grant 40734 of the Academy of Finland and by the EUROCORES LogICCC LINT programme. I Journal of the Indian Council of Philosophical Research, Vol. XXVII, No. 2. A Special Issue on "Logic and Philosophy Today", 143-163, 2010. Reprinted in "Logic and Philosophy Today" (edited by A. Gupta ans J.v.Benthem), College Publications vol 29, 141-162, 2011. 1 Introduction Originally set theory was a theory of infinity, an attempt to understand infinity in ex- act terms. Later it became a universal language for mathematics and an attempt to give a foundation for all of mathematics, and thereby to all sciences that are based on mathematics.
    [Show full text]
  • 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]
  • Complexity Theory
    Complexity Theory Course Notes Sebastiaan A. Terwijn Radboud University Nijmegen Department of Mathematics P.O. Box 9010 6500 GL Nijmegen the Netherlands [email protected] Copyright c 2010 by Sebastiaan A. Terwijn Version: December 2017 ii Contents 1 Introduction 1 1.1 Complexity theory . .1 1.2 Preliminaries . .1 1.3 Turing machines . .2 1.4 Big O and small o .........................3 1.5 Logic . .3 1.6 Number theory . .4 1.7 Exercises . .5 2 Basics 6 2.1 Time and space bounds . .6 2.2 Inclusions between classes . .7 2.3 Hierarchy theorems . .8 2.4 Central complexity classes . 10 2.5 Problems from logic, algebra, and graph theory . 11 2.6 The Immerman-Szelepcs´enyi Theorem . 12 2.7 Exercises . 14 3 Reductions and completeness 16 3.1 Many-one reductions . 16 3.2 NP-complete problems . 18 3.3 More decision problems from logic . 19 3.4 Completeness of Hamilton path and TSP . 22 3.5 Exercises . 24 4 Relativized computation and the polynomial hierarchy 27 4.1 Relativized computation . 27 4.2 The Polynomial Hierarchy . 28 4.3 Relativization . 31 4.4 Exercises . 32 iii 5 Diagonalization 34 5.1 The Halting Problem . 34 5.2 Intermediate sets . 34 5.3 Oracle separations . 36 5.4 Many-one versus Turing reductions . 38 5.5 Sparse sets . 38 5.6 The Gap Theorem . 40 5.7 The Speed-Up Theorem . 41 5.8 Exercises . 43 6 Randomized computation 45 6.1 Probabilistic classes . 45 6.2 More about BPP . 48 6.3 The classes RP and ZPP .
    [Show full text]
  • Representation Theory* Its Rise and Its Role in Number Theory
    Representation Theory* Its Rise and Its Role in Number Theory Introduction By representation theory we understand the representation of a group by linear transformations of a vector space. Initially, the group is finite, as in the researches of Dedekind and Frobenius, two of the founders of the subject, or a compact Lie group, as in the theory of invariants and the researches of Hurwitz and Schur, and the vector space finite-dimensional, so that the group is being represented as a group of matrices. Under the combined influences of relativity theory and quantum mechanics, in the context of relativistic field theories in the nineteen-thirties, the Lie group ceased to be compact and the space to be finite-dimensional, and the study of infinite-dimensional representations of Lie groups began. It never became, so far as I can judge, of any importance to physics, but it was continued by mathematicians, with strictly mathematical, even somewhat narrow, goals, and led, largely in the hands of Harish-Chandra, to a profound and unexpectedly elegant theory that, we now appreciate, suggests solutions to classical problems in domains, especially the theory of numbers, far removed from the concerns of Dirac and Wigner, in whose papers the notion first appears. Physicists continue to offer mathematicians new notions, even within representation theory, the Virasoro algebra and its representations being one of the most recent, that may be as fecund. Predictions are out of place, but it is well to remind ourselves that the representation theory of noncompact Lie groups revealed its force and its true lines only after an enormous effort, over two decades and by one of the very best mathematical minds of our time, to establish rigorously and in general the elements of what appeared to be a somewhat peripheral subject.
    [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]
  • Interactions of Computational Complexity Theory and Mathematics
    Interactions of Computational Complexity Theory and Mathematics Avi Wigderson October 22, 2017 Abstract [This paper is a (self contained) chapter in a new book on computational complexity theory, called Mathematics and Computation, whose draft is available at https://www.math.ias.edu/avi/book]. We survey some concrete interaction areas between computational complexity theory and different fields of mathematics. We hope to demonstrate here that hardly any area of modern mathematics is untouched by the computational connection (which in some cases is completely natural and in others may seem quite surprising). In my view, the breadth, depth, beauty and novelty of these connections is inspiring, and speaks to a great potential of future interactions (which indeed, are quickly expanding). We aim for variety. We give short, simple descriptions (without proofs or much technical detail) of ideas, motivations, results and connections; this will hopefully entice the reader to dig deeper. Each vignette focuses only on a single topic within a large mathematical filed. We cover the following: • Number Theory: Primality testing • Combinatorial Geometry: Point-line incidences • Operator Theory: The Kadison-Singer problem • Metric Geometry: Distortion of embeddings • Group Theory: Generation and random generation • Statistical Physics: Monte-Carlo Markov chains • Analysis and Probability: Noise stability • Lattice Theory: Short vectors • Invariant Theory: Actions on matrix tuples 1 1 introduction The Theory of Computation (ToC) lays out the mathematical foundations of computer science. I am often asked if ToC is a branch of Mathematics, or of Computer Science. The answer is easy: it is clearly both (and in fact, much more). Ever since Turing's 1936 definition of the Turing machine, we have had a formal mathematical model of computation that enables the rigorous mathematical study of computational tasks, algorithms to solve them, and the resources these require.
    [Show full text]
  • On Bell's Arithmetic of Boolean Algebra*
    ON BELL'S ARITHMETIC OF BOOLEAN ALGEBRA* BY WALLIE ABRAHAM HURWITZ 1. Introduction. Bellf has constructed an arithmetic for an algebra of logic or (following the terminology of Shefferî) a Boolean algebra, which presents gratifying analogies to the arithmetics of rational and other fields. In only one detail is the similarity less close than seems appropriate to the difference in the structures of the algebras themselves—namely, in the properties of the concept congruence. In this note I shall show that a slightly more general definition retains all the properties of the congruence given by Bell and restores several analogies to rational arithmetic lost by the Bell definition. All the notation and terminology of the paper of Bell (to which reference should be made for results not here repeated) other than those relating to congruence are followed in the present treatment. In particular, we utilize the two (dual) interpretations of arithmetic operations and relations in ?: Name Symbol Interpretation I Interpretation II (s) Arithmetic sum: asß: a+ß, aß; (p) Arithmetic product: apß: aß, ct+ß; (g) G. CD.: agß: a+ß, aß; (l) L. C. M.: alß: aß, a+ß; (f) Arithmetic zero: f: <o, e; (v) Arithmetic unity: v. t, «; (d) a divides/3: adß: a\ß, ß\a. 2. Residuals. It will be convenient to amplify slightly Bell's treatment of residuals. By the residual of b with respect to a in Si, bra, is meant the quotient of a by the G. C. D. of a and b. Transforming this into a form equivalent for 21and suitable, by the non-appearance of the concept quotient, for analogy in ?, Bell uses for 2 substantially the following: ßra is the G.
    [Show full text]
  • The Linbox Project for Linear Algebra Computation a Practical Tutorial
    The LinBox Project for Linear Algebra Computation A Practical Tutorial Daniel S. Roche Symbolic Computation Group School of Computer Science University of Waterloo MOCAA 2008 University of Western Ontario 8 May 2008 Dan Roche (U. Waterloo) LinBox Tutorial MOCAA2008 1/30 Goals for Today I want to convince you that LinBox is. the tool for exact linear algebra easy to install and use (if you want it to be) worth getting involved with Dan Roche (U. Waterloo) LinBox Tutorial MOCAA2008 2/30 1 Foundations History Major Contributors Mathematical Background 2 Design Middleware Heirarchy Genericity 3 Practicalities Levels of Use Details 4 Conclusions Dan Roche (U. Waterloo) LinBox Tutorial MOCAA2008 3/30 Foundations History Significant Publications 1986 Wiedemann: Solving sparse linear equations over finite fields 1991 Kaltofen & Saunders: On Wiedemann’s Algorithm 1993 Coppersmith: Block Lanczos, Block Wiedemann 1995 Montgomery: Implementation of Block Lanczos 1997 Villard: Analysis of Block Wiedemann 2001 Giesbrecht; Dumas, Saunders, & Villard: Smith forms 2001 Chen, Eberly, Kaltofen, Saunders, Turner, Villard: Efficient Matrix Preconditioners for Black Box Linear Algebra 2002 Dumas, Gautier, Giesbrecht, Giorgi, Hovinen, Kaltofen, Saunders, Turner, Villard: Linbox: A Generic Library For Exact Linear Algebra 2002 Dumas, Gautier, Pernet: FFLAS: Finite Field Linear Algebra Subroutines Dan Roche (U. Waterloo) LinBox Tutorial MOCAA2008 4/30 Foundations History LinBox Milestones 2000 Initial design meetings 2002 World Scientific paper 2004 BLAS is thoroughly integrated 2005 LinBox 1.0 Released JGD gives tutorial at ISSAC in Beijing LinBox included in open-source computer algebra CD 2006 Maple interface and web computation server 2007 SAGE integration 2008 Linbox 1.5 Dan Roche (U.
    [Show full text]