Using OpenMath Servers for Distributing Mathematical Computations
|
|
|
- Roderick Campbell
- 10 years ago
- Views:
Transcription
1 Using OpenMath Servers for Distributing Mathematical Computations O. Caprotti A. M. Cohen H. Cuypers M. N. Riem H. Sterk Department of Mathematics and Computer Science Eindhoven University of Technology, The Netherlands Abstract This paper presents OpenMath servers and their role in an architecture for distributing mathematical computations. Such an architecture is needed in the context of mathematical problems whose solution is best achieved by use of techniques from different areas. We describe such a setting integrating various computational engines. Finally we provide case studies that illustrate this technology. 1 Introduction In recent years, the possibility of distributing mathematical computation is becoming a reality using internet technology. Mathematical problem solving often requires the use of techniques from different areas, but individual mathematical software packages do not always cover the methods needed: general purpose packages cover a wide range of basic algorithms whereas most specialized packages only deal with algorithms applicable in a restricted field. When using the computer, both in teaching and research, there is a need for implementing a framework where all computational resources are made available and are fully integrated. This paper concentrates on the architecture we have implemented to distribute mathematical computations based on OpenMath servers. The OpenMath standard language provides a semantically rich representation of mathematics for communicating mathematics between software packages [12], in particular it is general enough to allow the integration of computational and deductive machinery [6]. We describe the architecture and give examples in the context This author was supported by the OpenMath Esprit project 24969
2 of teaching material, e.g. Algebra Interactive! [8], and of research oriented problems. There are a number of related approaches, several of which use OpenMath [2, 19] in a client-server setting. Some of these are in the design stage, others restrict the scope of the implementation to computer algebra software. Our approach has been tested for distributing problems to various software packages. In fact, it is designed to meet the requirements of a future general agreement on the protocol to be used for mathematical servers (e.g. IAMC, kqml, OpenXM). For example, problems on the borderline of group theory and linear algebra can be tackled using, say, the group theory package GAP and the general purpose package Maple. In interactive teaching material, like a basic algebra course covering number theory, polynomials and groups, various topics depend for computational aspects on the use of different back engines. The implemented architecture is based on OpenMath servers on a network able to provide mathematical services on OpenMath objects. A client in charge of solving a problem accesses these servers with specific computational requests understood by the different packages to which the servers interface. Before the request is sent to the server, the OpenMath objects involved in it are translated to the appropriate syntax and package-syntax is used for the dispatched command. The answer received is translated back into an OpenMath object which is returned to the client. The paper is structured as follows. Section 2 very briefly recalls the basics of the OpenMath language. OpenMath Servers are described in Section 3 where in particular Phrasebooks play an important role. Section 4 reports on the available Java software that can be used to implement OpenMath servers. Three case studies on distributing mathematical computations among OpenMath servers are shown in Section 5. A concluding section contains the final discussion. 2 OpenMath The OpenMath standard language [12] provides a semantically rich representation of mathematical information for electronic access and usage. Here we limit the exposition on OpenMath to some examples of mathematical objects that occur later in the paper. The reader is referred to the standard documents available from [20] for the details. Algebraic structures, like the polynomial ring Z p [X], are representable as OpenMath abstract objects using application objects like: application(polyr:polynomialringr, application(setname2:zm, p), x) (1) OpenMath Content Dictionaries (cd) collect and provide definitions of mathematical notions for usage within OpenMath applications. The official repository for cds is [20]. The OpenMath symbols in the object above that identify the polynomial ring structure obtained from the integers modulo p are polyr:polynomialringr and setname2:zm. More precisely, they are the symbols called PolynomialRingR and Zm defined in the cds polyr and setname2, respectively.
3 A polynomial in this ring, say f = X 3 X + 1, can be represented in several ways as an abstract OpenMath object, for instance by using the polyr:polynomialr constructor for recursive polynomials. As with all OpenMath objects, it can be encoded in a human-readable format using xml [13] and stored as: <OMOBJ><OMA><OMS cd="polyr" name="polynomialr"/> </OMA> </OMA> </OMOBJ> <OMA><OMS cd="polyr" name="polynomialringr"/> <OMA><OMS cd="setname2" name="zm"/><omv name="p"></oma> <OMV name="x"/> </OMA> <OMA><OMS cd="polyr" name="polyrrep"/> <OMV name="x"/> <OMA><OMS cd="polyr" name="monomial"/><omi> 3 </OMI><OMI> 1 </OMI></OMA> <OMA><OMS cd="polyr" name="monomial"/><omi> 1 </OMI><OMI> -1 </OMI></OMA> <OMA><OMS cd="polyr" name="monomial"/><omi> 0 </OMI><OMI> 1 </OMI></OMA> In this example, the outermost xml element <OMOBJ> encloses nested OpenMath application objects, appearing within the element <OMA>, which are built using OpenMath symbols (<OMS>), OpenMath variables (<OMV>), and integers (<OMI>). Notice that the application object highlighted by the box is essentially the xml encoding of the polynomial ring expressed abstractly in (1). 3 OpenMath Servers In this section we define what we mean by OpenMath server as contrasted to a generic mathematical server interfaced to a single back-engine. Essentially the difference lies in the usage of OpenMath to facilitate mathematical computations possibly using a combination of several back-engines. 3.1 Mathematical Servers In this paper, mathematical servers refer to servers handling requests invoking computational aspects of a mathematical nature, e.g. symbolic integration or proof verification. There is yet no standard accepted protocol for mathematical servers; some of the commercial packages have started to provide custom ways of turning their software into a mathematical server. The approach taken here is independent of the package acting as back-engine. This is common to other efforts such as the internet accessible mathematical protocol by P. Wang [19]. Agent technology using the Knowledge Query Manipulation Language kqml is also used in designing intelligent networks of mathematical servers in which the user need not be aware of which mathematical server performs the request.
4 back-engine 1 OpenMath server... back-engine n OpenMath Phrasebook Figure 1: OpenMath Mathematical Server 3.2 OpenMath Phrasebooks In this section we concentrate on OpenMath servers of which one vital ingredient is the Open- Math Phrasebook. Phrasebooks are programs that interface the back-engines to the client via OpenMath, as shown in Figure 1. The definition of Phrasebook in the OpenMath standard is informal. Here, because of the applications we have in mind, we need a more precise description of a Phrasebook. The Phrasebooks we designed are defined in terms of a 4-tuple: a list of cds, control information, interpretation, and communication. OpenMath-compliancy requires that a Phrasebook declares the list of cds it recognizes. Control information, e.g. EVAL, SIMPLIFY, PROVE, SOLVE, PRINT, expresses the tasks that the Phrasebook is able to perform. This aspect falls outside the definition of Phrasebooks in the OpenMath standard where the default task is assumed to be evaluation (EVAL) as is customary in computer algebra software. For our purposes, since we want to use also backengines which are capable of carrying out a variety of tasks, the control information needs to be explicitly available. Interpretation refers to what is going to be done to the objects using the back-engines. Interpretation is a function of the control information and the received OpenMath objects. Some recent formalized approaches on how to specify mathematical services provided by OpenMath Phrasebooks are found in [2]. Finally, the Phrasebook specifies how the actual communication between the software package and the OpenMath computer environment is achieved. In our experiments we have used tcp/ip communication. In general, the Phrasebook implementor is free to choose any communication protocol. Although a Phrasebook can only function properly if it is specified in some detail, there is as yet no guarantee that the actual implementation of the Phrasebook conforms to its specification. As a first example, consider a client submitting the request to solve the equation x 2 = 2
5 over R to an OpenMath server powered by a Phrasebook specified by the 4-tuple consisting of: cds arith1, relation1,... Control Information SOLVE Interpretation [SOLVE, application(relation1:eq, A)] = B where B is a real solution of the given equation Communication Maple:mathweb.org:4217, Mathematica:localhost:4126, PoSSo:posso.dm.unipi.it:4564 Upon input, which includes a choice of task to be performed, the Phrasebook invokes the module for encoding the expression as OpenMath object. This module also takes care of decoding an OpenMath object into a system-specific syntax. It is called codec and depends on the list of cds for its translation (e.g. it might encounter a symbol not defined in its list of cds). If all goes well, an OpenMath object is produced by the codec. For the equation at hand, the OpenMath object is application(relation1:eq, application(arith1:power, x, 2), 2) (2) The Phrasebook decides, following the specification given by the interpretation, which action to take on the OpenMath object. In case of ambiguous requests, that is several equivalent actions could be taken, user-intervention can be required to choose the desired action. So assume that the action is known and thus also the back-engines which are to be used for the computation. The Phrasebook prepares the queries for the selected back-engines by using the interpretation for distributing the computations. In simple cases, the control information corresponds directly to a single query (certain user-commands) in a single back-engine. In general however, the Phrasebook is able to extract from the control information and the OpenMath object an algorithm that splits up the problem and distributes the solving process among several back-engines. See for instance the architecture of the primality proof generator Phrasebook that uses both proof checker Coq and GAP [7]. The queries sent to the back-engines consists of expressions in the back-engine syntax. These are produced in part by calling the codec s decoder on the relevant OpenMath fragments. Communication happens at the shell interface of the various back-engines because this is the easier solution for turning third-party software into a server in absence of ad-hoc solutions, e.g. most software packages do not provide a callable library of functions. In some special cases, proprietary tools can be used for setting up the communication, e.g. JLink/MathLink for Mathematica. The Phrasebook assembles the results it has received and produces OpenMath output from them. This output is displayed/sold to the user in a suitable form.
6 3.3 Architecture A possible architecture to realize the process described in the previous paragraph needs a few more ingredients that take care of input and output. We base our examples on the usage of browsers for accessing the computational resources. In that case, Java applets and/or servlets are a convenient means of implementing the graphical user interface. Figure 2 depicts the general scheme. browser OpenMath Phrasebook OpenMath Server Process call OpenMath servlet HTML String rendering engine MathML Figure 2: Exemplary Architecture A web page describes the problem and includes input fields. The user may enter the data in a format selected among several options (e.g. GAP or Maple syntax). If the input fields are given in an html form handled via a servlet, then the input data is processed and translated by a Java program into the suitable process call understood by the OpenMath Phrasebook. The process call must specify the control information expected by the Phrasebook and the input data in terms of OpenMath objects. A menu-based graphical interface can be used to enumerate choices or data examples. The servlet also receives the output from the Phrasebook and is in charge of producing a document to present the result. In general this document is an html document containing calls to the rendering engine for displaying the mathematical fragments it contains. The next generation of browsers is expected to be able to natively support MathML-presentation, thus making a separate rendering engine superfluous. 4 OpenMath Java Software Internet technology is often realized in Java. Because the architecture outlined in the previous section is internet-based, we have developed Phrasebooks and OpenMath servers using Java. This approach is not uncommon, to wit an interface based on OpenMath to various packages for computer algebra has been put forward within the CATHODE project [3] and a web interface to Maple s visualization capabilities has been worked out by [14].
7 Official OpenMath libraries are distributed by the OpenMath Society. Best known are the Naomi (OpenMath) Java library by the PolyMath Development Group [17] and the Java and C libraries by INRIA [11]. The libraries provide classes to manipulate OpenMath objects in the xml and the binary encoding. Additionally, the libraries include encoders and decoders to/from arithmetical expressions written in Mathematica or Maple syntax. Similar translation features exist for various other languages, for instance for MathML [4], and for L A TEX [9]. For the software developments described in the next section, we have written Java classes for the Phrasebooks implementing the architecture described above [15]. The client-server communication is tcp/ip based. These Phrasebooks are easily extended to suit specific demands. Furthermore, we have added some new codecs to the ones distributed with the Naomi library. They translate the syntax of the proof checkers Lego and Coq, and of the computer algebra packages Mathematica and GAP. 5 Case Studies Algebra courses provide typical examples where at present no single computer algebra package supports all computational aspects without programming efforts on the side of the user (instructor). Topics ranging from arithmetic to (polynomial) rings to (symmetry) groups are best supported by distinct packages. Although packages tend to extend their scope, thus possibly resolving the need for distinct packages in a given specific setting, developments within mathematics may establish links between seemingly unrelated fields, whence creating situations for which probably no single package is readily available. For example, the new field of Algebraic Statistics [16], in which Gröbner basis methods play a role in the design of experiments, links two subjects hitherto far apart in the mathematical spectrum. Hence, Algebraic Statistics is a natural place for combining back-engines from the fields of algebra and statistics. In the following subsections we describe in more detail a few instances where distributing mathematical computations can be used. 5.1 Teaching with Algebra Interactive! Algebra Interactive! [8] is interactive course material for first and second year university algebra. It covers basic arithmetic, modular arithmetic, polynomials, arithmetic modulo a polynomial, permutations, monoids and groups, rings and fields, and permutation groups. It comes on a CD-rom with an accompanying book; it is viewed through a browser and contains extra navigation tools in addition to the standard navigation options. The material is enlivened by Java applets and so-called gapplets. Java applets provide many dynamic illustrations with a strong visual aspect as well as calculators pertaining to the relevant material. Gapplets are applets that interface to the computer algebra package GAP [10] and provide illustrations of computational aspects in input/output form. GAP specifically aims at group theory computations and is therefore not the natural choice for other topics covered. Currently, a second edition of
8 Algebra Interactive! [8] is under construction that interfaces to more (freeware) back-engines, viz. CoCoA [5] and GAP at present, that belong more naturally to the individual chapters. The following is an example where the chapters on arithmetic modulo polynomials and on permutations overlap, but where the corresponding back-engines differ: CoCoA for polynomial computations and GAP for the group theory computations. Consider an irreducible polynomial f Z p [X] of degree n, where Z p denotes the field with p elements, p prime. Then the ring F = Z p [X]/(f) is a finite field with p n elements. If a F is an invertible element, then multiplication by a determines a permutation σ a : F F of the finite set F. To study the group theory aspects of such permutations, it is natural to transport them to GAP, being a back-engine better suited for dealing with permutations. For instance, questions like: what is the order of σ a?, or: what type of group is generated by permutations of the form σ b, with b running through a set of invertible elements?, can be easily solved by GAP. Conversely, to find an invertible element realizing a given permutation (and deciding if this is possible at all) requires a computation better suited for CoCoA. In Section 2 we have shown examples of how the relevant objects are represented in OpenMath. Experimental OpenMath cds, called permut1, group1, and permgrp, for representing permutations and group theoretical notions are available from the OpenMath website [20]. The OpenMath Phrasebook supporting the interaction needed to solve this kind of problem handles questions regarding polynomials by calling CoCoA or Maple (for instance the generation of the p n elements in F) and questions regarding permutations by GAP. 5.2 Algebraic Statistics with CoCoA and R In the following we outline a set-up where both algebraic and statistical methods are ingredients in dealing with design of experiment. The basic problem is to identify a model explaining certain data associated to a finite (fractional factorial) design F, given as a subset of some Q n. Any function on F can be described as the function associated to a (not unique) polynomial. Finding a model is then redirected into a problem concerning polynomials. Gröbner bases can be used to determine a set S of monomials (the support ) out of which a polynomial supporting a model is to be constructed. Given such a set of monomials, there may be reasons from statistics to actually construct the model using a subset of S. For example, higher order interactions, like terms of the form X m Y n with exponents m, n 2, are sometimes omitted since they may lack statistical meaning. Finally, to identify the best possible model for the given data set and with the support just constructed, a regression method from statistics is invoked. For the sake of brevity, we omit other subtle considerations in this case study and focus on the heart of the matter. This set-up leads to the following. The first item refers to computations in the realm of algebra, and can be done naturally in software packages handling polynomial arithmetic. For our experiments we have chosen CoCoA [5] since it has some of the relevant algorithms readily available. The second item is of a statistical nature and requires the use of a statistical package. We have used the freely available software R [1].
9 Start with a finite design F = {P 1, P 2,..., P m } Q n, and with a data set. These are stored as OpenMath object representing a matrix of integers (the cd linalg2 provides the symbols for doing it) and an array of OpenMath floating point numbers. Choose a term order σ and compute the associated standard set of power products P σ (F) using, e.g. the Buchberger-Möller algorithm (see [16]). In CoCoA this amounts to first using the function IdealOfPoints on the appropriate translation of the finite design and then selecting the proper monomials. Since selection of the monomials has to be programmed ad hoc, it could be carried out as well in a different computer algebra system. Suitable regression methods construct a model out of the P σ (F) and the data set. Any statistical package dealing with regression is suitable for such an analysis. Figure 3: Statistics and Computer Algebra Figure 3 is a screenshot of our experiments in connecting OpenMath servers for solving problems in statistical design of experiments with the aid of algebraic methods. The user is prompted to input the dimension n, the number of points m, the set of points and the data set. By selecting from a menu, it is then possible to request an algebraic computation, for instance one that returns the monomials to be used in the construction of the fitting model.
10 Having obtained this estimate (in the screenshot this is what appears after Est: in the output window), the user can try to use it for fitting the data set. The menu allows to select general linear regression fitting by the option glm. This choice triggers the setup of a statistical computation request built from the input data and from the algebraic result obtained in a previous algebraic computation. The statistical package then receives a call in the proper syntax. Notice in particular that the codecs used in the OpenMath Phrasebook take care of producing the different syntax needed for CoCoA and for R when using the data set of points or the monomials. 5.3 Pure Mathematical Research with LiE and GAP In the software package LiE [18], elements of a simple complex Lie group are given (up to conjugacy) by means of numerical data. For instance, [1, 0, 2] would describe an element of order two in a group of Lie rank two. By means of an interface to the software package GAP, we can turn this data in to a real life element of the Lie group, for instance in its realization as a group of automorphisms of the corresponding Lie algebra. For, in GAP, the complex simple Lie algebras have been implemented by Willem de Graaf and their automorphisms are linear transformations of the underlying vector space. So, after feeding the vector of integers describing an element of finite order from LiE to GAP, an easy function in GAP will produce the automorphism as a linear transformation, and its matrix or further relevant data regarding the automorphism could be fed back to LiE. This is just one step in the process of describing the finite (Lie primitive) subgroups of the Lie groups of exceptional type; the research of describing all such subgroups has been completed (up to conjugacy questions), but the subgroups are not yet readily available on computer. 6 Concluding Remarks This paper describes the details of the technology and the architecture we are currently developing to distribute mathematical computations. This work is heavily based on OpenMath servers built around the OpenMath standard language and the OpenMath Phrasebooks. Because OpenMath provides a semantically rich representation of mathematics, it can be safely used for communicating mathematics between software packages. In particular, it is general enough to allow the integration of software from various areas of computational mathematics as we have demonstrated by the case studies shown in this paper. Acknowledgments. The authors would like to thank Eva Riccomagno for some clarifications on Algebraic Statistics.
11 References [1] An Introduction to R, [2] Proceedings of calculemus-2000, 8th symposium on the integration of symbolic computation and mechanized reasoning, [3] M. Berth, F.-M. Moser, and A. Triulzi, Implementing Computational Services Based on OpenMath, Submitted, [4] S. Buswell, STARS, Available from Stilo Technologies, April 1999, com. [5] A. Capani, G. Niesi, and L. Robbiano, Cocoa, a system for doing computations in commutative algebra, Available via anonymous ftp from cocoa.dima.unige.it, 4.0 ed., [6] O. Caprotti and A. M. Cohen, Connecting proof checkers and computer algebra using OpenMath, The 12th International Conference on Theorem Proving in Higher Order Logics (Nice, France), September [7] O. Caprotti and M. Oostdijk, How to formally and efficiently prove prime(2999), Proceedings of Calculemus 2000, St. Andrews, [8] A. M. Cohen, H. Cuypers, and H. Sterk, Algebra Interactive!, Springer Verlag, [9] OpenMath Consortium, TEX to OpenMath Converter, June 2000, Available at [10], GAP interface to OpenMath, OpenMath ESPRIT Deliverable, [11], OpenMath Java and C Library, June 2000, Available at uk/projects/openmath.html. [12] The OpenMath Consortium, The OpenMath Standard, OpenMath Deliverable 1.3.3a, OpenMath Esprit Consortium, August 1999, O. Caprotti, D. P. Carlisle and A. M. Cohen Eds. [13] World Wide Web Consortium, Extensible Markup Language (XML) 1.0., W3C Recommendation REC-xml , February 1998, Available at REC-xml [14] H. Le and C. Howlett, Client-Server Communication Standards for Mathematical Computation, Proceedings of ISSAC 99 (Vancouver, Canada), ACM, New York,, 1999, pp
12 [15] RIACA, OpenMath Java Phrasebooks, Eindhoven University of Technology, Available from [16] L. Robbiano, Gröbner Bases and Statistics, Gröbner Bases and Applications (Bruno Buchberger and Franz Winkler, eds.), London Mathematical Society Lecture Note Series, vol. 251, Cambridge University Press, 1998, pp [17] PolyMath OpenMath Development Team, Java OpenMath Library: Version 0.7c, http: //pdg.cecm.sfu.ca/openmath/, June [18] M. A. A. van Leeuwen, A. M. Cohen, and B. Lisser, LiE: A package for lie group computations, CAN, Amsterdam, 1992, URL: GroupTheory/LiE/. [19] P. Wang, Design and protocol for internet accessible mathematical computation, Proceedings of the 1999 International Symposium on Algebraic and Symbolic Computation, [20] OpenMath Society Website, http: // www. openmath. org.
System Description: The MathWeb Software Bus for Distributed Mathematical Reasoning
System Description: The MathWeb Software Bus for Distributed Mathematical Reasoning Jürgen Zimmer 1 and Michael Kohlhase 2 1 FB Informatik, Universität des Saarlandes [email protected] 2 School of Computer
Cryptography and Network Security. Prof. D. Mukhopadhyay. Department of Computer Science and Engineering. Indian Institute of Technology, Kharagpur
Cryptography and Network Security Prof. D. Mukhopadhyay Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur Module No. # 01 Lecture No. # 12 Block Cipher Standards
JMulTi/JStatCom - A Data Analysis Toolkit for End-users and Developers
JMulTi/JStatCom - A Data Analysis Toolkit for End-users and Developers Technology White Paper JStatCom Engineering, www.jstatcom.com by Markus Krätzig, June 4, 2007 Abstract JStatCom is a software framework
DIABLO VALLEY COLLEGE CATALOG 2014-2015
COMPUTER SCIENCE COMSC The computer science department offers courses in three general areas, each targeted to serve students with specific needs: 1. General education students seeking a computer literacy
So today we shall continue our discussion on the search engines and web crawlers. (Refer Slide Time: 01:02)
Internet Technology Prof. Indranil Sengupta Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur Lecture No #39 Search Engines and Web Crawler :: Part 2 So today we
From Factorial Designs to Hilbert Schemes
From Factorial Designs to Hilbert Schemes Lorenzo Robbiano Università di Genova Dipartimento di Matematica Lorenzo Robbiano (Università di Genova) Factorial Designs and Hilbert Schemes Genova, June 2015
ML for the Working Programmer
ML for the Working Programmer 2nd edition Lawrence C. Paulson University of Cambridge CAMBRIDGE UNIVERSITY PRESS CONTENTS Preface to the Second Edition Preface xiii xv 1 Standard ML 1 Functional Programming
Cryptography and Network Security Department of Computer Science and Engineering Indian Institute of Technology Kharagpur
Cryptography and Network Security Department of Computer Science and Engineering Indian Institute of Technology Kharagpur Module No. # 01 Lecture No. # 05 Classic Cryptosystems (Refer Slide Time: 00:42)
Rotorcraft Health Management System (RHMS)
AIAC-11 Eleventh Australian International Aerospace Congress Rotorcraft Health Management System (RHMS) Robab Safa-Bakhsh 1, Dmitry Cherkassky 2 1 The Boeing Company, Phantom Works Philadelphia Center
Linear Codes. Chapter 3. 3.1 Basics
Chapter 3 Linear Codes In order to define codes that we can encode and decode efficiently, we add more structure to the codespace. We shall be mainly interested in linear codes. A linear code of length
A Mind Map Based Framework for Automated Software Log File Analysis
2011 International Conference on Software and Computer Applications IPCSIT vol.9 (2011) (2011) IACSIT Press, Singapore A Mind Map Based Framework for Automated Software Log File Analysis Dileepa Jayathilake
= 2 + 1 2 2 = 3 4, Now assume that P (k) is true for some fixed k 2. This means that
Instructions. Answer each of the questions on your own paper, and be sure to show your work so that partial credit can be adequately assessed. Credit will not be given for answers (even correct ones) without
The Clean programming language. Group 25, Jingui Li, Daren Tuzi
The Clean programming language Group 25, Jingui Li, Daren Tuzi The Clean programming language Overview The Clean programming language first appeared in 1987 and is still being further developed. It was
Computing Concepts with Java Essentials
2008 AGI-Information Management Consultants May be used for personal purporses only or by libraries associated to dandelon.com network. Computing Concepts with Java Essentials 3rd Edition Cay Horstmann
Giac/Xcas, a swiss knife for mathematics
Bernard Parisse Bernard Parisse University of Grenoble I Trophées du Libre 2007 Plan 1 : interface for CAS, dynamic geometry and spreadsheet, audience: scienti c students to research 2 : a C++ library,
Regular Expressions with Nested Levels of Back Referencing Form a Hierarchy
Regular Expressions with Nested Levels of Back Referencing Form a Hierarchy Kim S. Larsen Odense University Abstract For many years, regular expressions with back referencing have been used in a variety
A simple and fast algorithm for computing exponentials of power series
A simple and fast algorithm for computing exponentials of power series Alin Bostan Algorithms Project, INRIA Paris-Rocquencourt 7815 Le Chesnay Cedex France and Éric Schost ORCCA and Computer Science Department,
11 Multivariate Polynomials
CS 487: Intro. to Symbolic Computation Winter 2009: M. Giesbrecht Script 11 Page 1 (These lecture notes were prepared and presented by Dan Roche.) 11 Multivariate Polynomials References: MC: Section 16.6
ADVANCED SCHOOL OF SYSTEMS AND DATA STUDIES (ASSDAS) PROGRAM: CTech in Computer Science
ADVANCED SCHOOL OF SYSTEMS AND DATA STUDIES (ASSDAS) PROGRAM: CTech in Computer Science Program Schedule CTech Computer Science Credits CS101 Computer Science I 3 MATH100 Foundations of Mathematics and
NEW DIGITAL SIGNATURE PROTOCOL BASED ON ELLIPTIC CURVES
NEW DIGITAL SIGNATURE PROTOCOL BASED ON ELLIPTIC CURVES Ounasser Abid 1, Jaouad Ettanfouhi 2 and Omar Khadir 3 1,2,3 Laboratory of Mathematics, Cryptography and Mechanics, Department of Mathematics, Fstm,
Integrating Formal Models into the Programming Languages Course
Integrating Formal Models into the Programming Languages Course Allen B. Tucker Robert E. Noonan Computer Science Department Computer Science Department Bowdoin College College of William and Mary Brunswick,
Bachelor of Games and Virtual Worlds (Programming) Subject and Course Summaries
First Semester Development 1A On completion of this subject students will be able to apply basic programming and problem solving skills in a 3 rd generation object-oriented programming language (such as
Java Application Developer Certificate Program Competencies
Java Application Developer Certificate Program Competencies After completing the following units, you will be able to: Basic Programming Logic Explain the steps involved in the program development cycle
A Generic Transcoding Tool for Making Web Applications Adaptive
A Generic Transcoding Tool for Making Applications Adaptive Zoltán Fiala 1, Geert-Jan Houben 2 1 Technische Universität Dresden Mommsenstr. 13, D-01062, Dresden, Germany [email protected]
How To Write An Inspire Directive
INSPIRE Infrastructure for Spatial Information in Europe Detailed definitions on the INSPIRE Network Services Title Detailed definitions on the INSPIRE Network Services Creator Date 2005-07-22 Subject
o-minimality and Uniformity in n 1 Graphs
o-minimality and Uniformity in n 1 Graphs Reid Dale July 10, 2013 Contents 1 Introduction 2 2 Languages and Structures 2 3 Definability and Tame Geometry 4 4 Applications to n 1 Graphs 6 5 Further Directions
Quotient Rings and Field Extensions
Chapter 5 Quotient Rings and Field Extensions In this chapter we describe a method for producing field extension of a given field. If F is a field, then a field extension is a field K that contains F.
Programming Languages & Tools
4 Programming Languages & Tools Almost any programming language one is familiar with can be used for computational work (despite the fact that some people believe strongly that their own favorite programming
FUZZY CLUSTERING ANALYSIS OF DATA MINING: APPLICATION TO AN ACCIDENT MINING SYSTEM
International Journal of Innovative Computing, Information and Control ICIC International c 0 ISSN 34-48 Volume 8, Number 8, August 0 pp. 4 FUZZY CLUSTERING ANALYSIS OF DATA MINING: APPLICATION TO AN ACCIDENT
Java in Education. Choosing appropriate tool for creating multimedia is the first step in multimedia design
Java in Education Introduction Choosing appropriate tool for creating multimedia is the first step in multimedia design and production. Various tools that are used by educators, designers and programmers
Introduction to Finite Fields (cont.)
Chapter 6 Introduction to Finite Fields (cont.) 6.1 Recall Theorem. Z m is a field m is a prime number. Theorem (Subfield Isomorphic to Z p ). Every finite field has the order of a power of a prime number
Firewall Builder Architecture Overview
Firewall Builder Architecture Overview Vadim Zaliva Vadim Kurland Abstract This document gives brief, high level overview of existing Firewall Builder architecture.
Basics of Polynomial Theory
3 Basics of Polynomial Theory 3.1 Polynomial Equations In geodesy and geoinformatics, most observations are related to unknowns parameters through equations of algebraic (polynomial) type. In cases where
FACTORING POLYNOMIALS IN THE RING OF FORMAL POWER SERIES OVER Z
FACTORING POLYNOMIALS IN THE RING OF FORMAL POWER SERIES OVER Z DANIEL BIRMAJER, JUAN B GIL, AND MICHAEL WEINER Abstract We consider polynomials with integer coefficients and discuss their factorization
ON GENERALIZED RELATIVE COMMUTATIVITY DEGREE OF A FINITE GROUP. A. K. Das and R. K. Nath
International Electronic Journal of Algebra Volume 7 (2010) 140-151 ON GENERALIZED RELATIVE COMMUTATIVITY DEGREE OF A FINITE GROUP A. K. Das and R. K. Nath Received: 12 October 2009; Revised: 15 December
EMBEDDING DEGREE OF HYPERELLIPTIC CURVES WITH COMPLEX MULTIPLICATION
EMBEDDING DEGREE OF HYPERELLIPTIC CURVES WITH COMPLEX MULTIPLICATION CHRISTIAN ROBENHAGEN RAVNSHØJ Abstract. Consider the Jacobian of a genus two curve defined over a finite field and with complex multiplication.
Thomas Jefferson High School for Science and Technology Program of Studies Foundations of Computer Science. Unit of Study / Textbook Correlation
Thomas Jefferson High School for Science and Technology Program of Studies Foundations of Computer Science updated 03/08/2012 Unit 1: JKarel 8 weeks http://www.fcps.edu/is/pos/documents/hs/compsci.htm
Notes 11: List Decoding Folded Reed-Solomon Codes
Introduction to Coding Theory CMU: Spring 2010 Notes 11: List Decoding Folded Reed-Solomon Codes April 2010 Lecturer: Venkatesan Guruswami Scribe: Venkatesan Guruswami At the end of the previous notes,
Lightweight Data Integration using the WebComposition Data Grid Service
Lightweight Data Integration using the WebComposition Data Grid Service Ralph Sommermeier 1, Andreas Heil 2, Martin Gaedke 1 1 Chemnitz University of Technology, Faculty of Computer Science, Distributed
Subject knowledge requirements for entry into computer science teacher training. Expert group s recommendations
Subject knowledge requirements for entry into computer science teacher training Expert group s recommendations Introduction To start a postgraduate primary specialist or secondary ITE course specialising
A New Generic Digital Signature Algorithm
Groups Complex. Cryptol.? (????), 1 16 DOI 10.1515/GCC.????.??? de Gruyter???? A New Generic Digital Signature Algorithm Jennifer Seberry, Vinhbuu To and Dongvu Tonien Abstract. In this paper, we study
International Journal of Information Technology, Modeling and Computing (IJITMC) Vol.1, No.3,August 2013
FACTORING CRYPTOSYSTEM MODULI WHEN THE CO-FACTORS DIFFERENCE IS BOUNDED Omar Akchiche 1 and Omar Khadir 2 1,2 Laboratory of Mathematics, Cryptography and Mechanics, Fstm, University of Hassan II Mohammedia-Casablanca,
MCS 563 Spring 2014 Analytic Symbolic Computation Wednesday 9 April. Hilbert Polynomials
Hilbert Polynomials For a monomial ideal, we derive the dimension counting the monomials in the complement, arriving at the notion of the Hilbert polynomial. The first half of the note is derived from
irods and Metadata survey Version 0.1 Date March Abhijeet Kodgire [email protected] 25th
irods and Metadata survey Version 0.1 Date 25th March Purpose Survey of Status Complete Author Abhijeet Kodgire [email protected] Table of Contents 1 Abstract... 3 2 Categories and Subject Descriptors...
Course Information Course Number: IWT 1229 Course Name: Web Development and Design Foundation
Course Information Course Number: IWT 1229 Course Name: Web Development and Design Foundation Credit-By-Assessment (CBA) Competency List Written Assessment Competency List Introduction to the Internet
Eastern Washington University Department of Computer Science. Questionnaire for Prospective Masters in Computer Science Students
Eastern Washington University Department of Computer Science Questionnaire for Prospective Masters in Computer Science Students I. Personal Information Name: Last First M.I. Mailing Address: Permanent
ON GALOIS REALIZATIONS OF THE 2-COVERABLE SYMMETRIC AND ALTERNATING GROUPS
ON GALOIS REALIZATIONS OF THE 2-COVERABLE SYMMETRIC AND ALTERNATING GROUPS DANIEL RABAYEV AND JACK SONN Abstract. Let f(x) be a monic polynomial in Z[x] with no rational roots but with roots in Q p for
[Refer Slide Time: 05:10]
Principles of Programming Languages Prof: S. Arun Kumar Department of Computer Science and Engineering Indian Institute of Technology Delhi Lecture no 7 Lecture Title: Syntactic Classes Welcome to lecture
2.1 Complexity Classes
15-859(M): Randomized Algorithms Lecturer: Shuchi Chawla Topic: Complexity classes, Identity checking Date: September 15, 2004 Scribe: Andrew Gilpin 2.1 Complexity Classes In this lecture we will look
Professional Organization Checklist for the Computer Science Curriculum Updates. Association of Computing Machinery Computing Curricula 2008
Professional Organization Checklist for the Computer Science Curriculum Updates Association of Computing Machinery Computing Curricula 2008 The curriculum guidelines can be found in Appendix C of the report
Introducing Formal Methods. Software Engineering and Formal Methods
Introducing Formal Methods Formal Methods for Software Specification and Analysis: An Overview 1 Software Engineering and Formal Methods Every Software engineering methodology is based on a recommended
AQA GCSE in Computer Science Computer Science Microsoft IT Academy Mapping
AQA GCSE in Computer Science Computer Science Microsoft IT Academy Mapping 3.1.1 Constants, variables and data types Understand what is mean by terms data and information Be able to describe the difference
IRREDUCIBLE OPERATOR SEMIGROUPS SUCH THAT AB AND BA ARE PROPORTIONAL. 1. Introduction
IRREDUCIBLE OPERATOR SEMIGROUPS SUCH THAT AB AND BA ARE PROPORTIONAL R. DRNOVŠEK, T. KOŠIR Dedicated to Prof. Heydar Radjavi on the occasion of his seventieth birthday. Abstract. Let S be an irreducible
Chapter 12 Programming Concepts and Languages
Chapter 12 Programming Concepts and Languages Chapter 12 Programming Concepts and Languages Paradigm Publishing, Inc. 12-1 Presentation Overview Programming Concepts Problem-Solving Techniques The Evolution
HOUR 3 Creating Our First ASP.NET Web Page
HOUR 3 Creating Our First ASP.NET Web Page In the last two hours, we ve spent quite a bit of time talking in very highlevel terms about ASP.NET Web pages and the ASP.NET programming model. We ve looked
Breaking Generalized Diffie-Hellman Modulo a Composite is no Easier than Factoring
Breaking Generalized Diffie-Hellman Modulo a Composite is no Easier than Factoring Eli Biham Dan Boneh Omer Reingold Abstract The Diffie-Hellman key-exchange protocol may naturally be extended to k > 2
Computer Science. General Education Students must complete the requirements shown in the General Education Requirements section of this catalog.
Computer Science Dr. Ilhyun Lee Professor Dr. Ilhyun Lee is a Professor of Computer Science. He received his Ph.D. degree from Illinois Institute of Technology, Chicago, Illinois (1996). He was selected
ABET General Outcomes. Student Learning Outcomes for BS in Computing
ABET General a. An ability to apply knowledge of computing and mathematics appropriate to the program s student outcomes and to the discipline b. An ability to analyze a problem, and identify and define
The van Hoeij Algorithm for Factoring Polynomials
The van Hoeij Algorithm for Factoring Polynomials Jürgen Klüners Abstract In this survey we report about a new algorithm for factoring polynomials due to Mark van Hoeij. The main idea is that the combinatorial
Semantic Search in Portals using Ontologies
Semantic Search in Portals using Ontologies Wallace Anacleto Pinheiro Ana Maria de C. Moura Military Institute of Engineering - IME/RJ Department of Computer Engineering - Rio de Janeiro - Brazil [awallace,anamoura]@de9.ime.eb.br
Automated Theorem Proving - summary of lecture 1
Automated Theorem Proving - summary of lecture 1 1 Introduction Automated Theorem Proving (ATP) deals with the development of computer programs that show that some statement is a logical consequence of
U.C. Berkeley CS276: Cryptography Handout 0.1 Luca Trevisan January, 2009. Notes on Algebra
U.C. Berkeley CS276: Cryptography Handout 0.1 Luca Trevisan January, 2009 Notes on Algebra These notes contain as little theory as possible, and most results are stated without proof. Any introductory
Information Systems. Administered by the Department of Mathematical and Computing Sciences within the College of Arts and Sciences.
Information Systems Dr. Haesun Lee Professor Dr. Haesun Lee is a Professor of Computer Science. She received her Ph.D. degree from Illinois Institute of Technology, Chicago, Illinois (1997). Her primary
Content Management Implementation Guide 5.3 SP1
SDL Tridion R5 Content Management Implementation Guide 5.3 SP1 Read this document to implement and learn about the following Content Manager features: Publications Blueprint Publication structure Users
Lines & Planes. Packages: linalg, plots. Commands: evalm, spacecurve, plot3d, display, solve, implicitplot, dotprod, seq, implicitplot3d.
Lines & Planes Introduction and Goals: This lab is simply to give you some practice with plotting straight lines and planes and how to do some basic problem solving with them. So the exercises will be
LabVIEW Internet Toolkit User Guide
LabVIEW Internet Toolkit User Guide Version 6.0 Contents The LabVIEW Internet Toolkit provides you with the ability to incorporate Internet capabilities into VIs. You can use LabVIEW to work with XML documents,
XML. CIS-3152, Spring 2013 Peter C. Chapin
XML CIS-3152, Spring 2013 Peter C. Chapin Markup Languages Plain text documents with special commands PRO Plays well with version control and other program development tools. Easy to manipulate with scripts
Computer Science. 232 Computer Science. Degrees and Certificates Awarded. A.S. Degree Requirements. Program Student Outcomes. Department Offices
232 Computer Science Computer Science (See Computer Information Systems section for additional computer courses.) We are in the Computer Age. Virtually every occupation in the world today has an interface
2. Distributed Handwriting Recognition. Abstract. 1. Introduction
XPEN: An XML Based Format for Distributed Online Handwriting Recognition A.P.Lenaghan, R.R.Malyan, School of Computing and Information Systems, Kingston University, UK {a.lenaghan,r.malyan}@kingston.ac.uk
U.S. Department of Health and Human Services (HHS) The Office of the National Coordinator for Health Information Technology (ONC)
U.S. Department of Health and Human Services (HHS) The Office of the National Coordinator for Health Information Technology (ONC) econsent Trial Project Architectural Analysis & Technical Standards Produced
Web Presentation Layer Architecture
Chapter 4 Web Presentation Layer Architecture In this chapter we provide a discussion of important current approaches to web interface programming based on the Model 2 architecture [59]. From the results
GenericServ, a Generic Server for Web Application Development
EurAsia-ICT 2002, Shiraz-Iran, 29-31 Oct. GenericServ, a Generic Server for Web Application Development Samar TAWBI PHD student [email protected] Bilal CHEBARO Assistant professor [email protected] Abstract
zen Platform technical white paper
zen Platform technical white paper The zen Platform as Strategic Business Platform The increasing use of application servers as standard paradigm for the development of business critical applications meant
COMMUTATIVITY DEGREES OF WREATH PRODUCTS OF FINITE ABELIAN GROUPS
COMMUTATIVITY DEGREES OF WREATH PRODUCTS OF FINITE ABELIAN GROUPS IGOR V. EROVENKO AND B. SURY ABSTRACT. We compute commutativity degrees of wreath products A B of finite abelian groups A and B. When B
Lecture Notes on Polynomials
Lecture Notes on Polynomials Arne Jensen Department of Mathematical Sciences Aalborg University c 008 Introduction These lecture notes give a very short introduction to polynomials with real and complex
FOUNDATIONS OF ALGEBRAIC GEOMETRY CLASS 22
FOUNDATIONS OF ALGEBRAIC GEOMETRY CLASS 22 RAVI VAKIL CONTENTS 1. Discrete valuation rings: Dimension 1 Noetherian regular local rings 1 Last day, we discussed the Zariski tangent space, and saw that it
Notes on Factoring. MA 206 Kurt Bryan
The General Approach Notes on Factoring MA 26 Kurt Bryan Suppose I hand you n, a 2 digit integer and tell you that n is composite, with smallest prime factor around 5 digits. Finding a nontrivial factor
it is easy to see that α = a
21. Polynomial rings Let us now turn out attention to determining the prime elements of a polynomial ring, where the coefficient ring is a field. We already know that such a polynomial ring is a UF. Therefore
Course Name: ADVANCE COURSE IN SOFTWARE DEVELOPMENT (Specialization:.Net Technologies)
Course Name: ADVANCE COURSE IN SOFTWARE DEVELOPMENT (Specialization:.Net Technologies) Duration of Course: 6 Months Fees: Rs. 25,000/- (including Service Tax) Eligibility: B.E./B.Tech., M.Sc.(IT/ computer
Jieh Hsiang Department of Computer Science State University of New York Stony brook, NY 11794
ASSOCIATIVE-COMMUTATIVE REWRITING* Nachum Dershowitz University of Illinois Urbana, IL 61801 N. Alan Josephson University of Illinois Urbana, IL 01801 Jieh Hsiang State University of New York Stony brook,
The Ideal Class Group
Chapter 5 The Ideal Class Group We will use Minkowski theory, which belongs to the general area of geometry of numbers, to gain insight into the ideal class group of a number field. We have already mentioned
XML Processing and Web Services. Chapter 17
XML Processing and Web Services Chapter 17 Textbook to be published by Pearson Ed 2015 in early Pearson 2014 Fundamentals of http://www.funwebdev.com Web Development Objectives 1 XML Overview 2 XML Processing
CORRELATED TO THE SOUTH CAROLINA COLLEGE AND CAREER-READY FOUNDATIONS IN ALGEBRA
We Can Early Learning Curriculum PreK Grades 8 12 INSIDE ALGEBRA, GRADES 8 12 CORRELATED TO THE SOUTH CAROLINA COLLEGE AND CAREER-READY FOUNDATIONS IN ALGEBRA April 2016 www.voyagersopris.com Mathematical
SCIENTIFIC COMPUTING AND PROGRAMMING IN THE CLOUD USING OPEN SOURCE PLATFORMS: AN ILLUSTRATION USING WEIGHTED VOTING SYSTEMS
SCIENTIFIC COMPUTING AND PROGRAMMING IN THE CLOUD USING OPEN SOURCE PLATFORMS: AN ILLUSTRATION USING WEIGHTED VOTING SYSTEMS Mohamed I Jamaloodeen Georgia Gwinnet College School of Science and Technology
COMBINATORIAL PROPERTIES OF THE HIGMAN-SIMS GRAPH. 1. Introduction
COMBINATORIAL PROPERTIES OF THE HIGMAN-SIMS GRAPH ZACHARY ABEL 1. Introduction In this survey we discuss properties of the Higman-Sims graph, which has 100 vertices, 1100 edges, and is 22 regular. In fact
An XML Based Data Exchange Model for Power System Studies
ARI The Bulletin of the Istanbul Technical University VOLUME 54, NUMBER 2 Communicated by Sondan Durukanoğlu Feyiz An XML Based Data Exchange Model for Power System Studies Hasan Dağ Department of Electrical
Introduction to programming
Unit 1 Introduction to programming Summary Architecture of a computer Programming languages Program = objects + operations First Java program Writing, compiling, and executing a program Program errors
COURSE TITLE COURSE DESCRIPTION
COURSE TITLE COURSE DESCRIPTION CS-00X COMPUTING EXIT INTERVIEW All graduating students are required to meet with their department chairperson/program director to finalize requirements for degree completion.
The C Programming Language course syllabus associate level
TECHNOLOGIES The C Programming Language course syllabus associate level Course description The course fully covers the basics of programming in the C programming language and demonstrates fundamental programming
Evaluation of Load/Stress tools for Web Applications testing
May 14, 2008 Whitepaper Evaluation of Load/Stress tools for Web Applications testing CONTACT INFORMATION: phone: +1.301.527.1629 fax: +1.301.527.1690 email: [email protected] web: www.hsc.com PROPRIETARY
Web Services for Management Perl Library VMware ESX Server 3.5, VMware ESX Server 3i version 3.5, and VMware VirtualCenter 2.5
Technical Note Web Services for Management Perl Library VMware ESX Server 3.5, VMware ESX Server 3i version 3.5, and VMware VirtualCenter 2.5 In the VMware Infrastructure (VI) Perl Toolkit 1.5, VMware
ONTOLOGY-BASED MULTIMEDIA AUTHORING AND INTERFACING TOOLS 3 rd Hellenic Conference on Artificial Intelligence, Samos, Greece, 5-8 May 2004
ONTOLOGY-BASED MULTIMEDIA AUTHORING AND INTERFACING TOOLS 3 rd Hellenic Conference on Artificial Intelligence, Samos, Greece, 5-8 May 2004 By Aristomenis Macris (e-mail: [email protected]), University of
Notes on Complexity Theory Last updated: August, 2011. Lecture 1
Notes on Complexity Theory Last updated: August, 2011 Jonathan Katz Lecture 1 1 Turing Machines I assume that most students have encountered Turing machines before. (Students who have not may want to look
