Introduction to GAP. (Groups, Algorithms, Programming) Henry Hutasoit, SSE RWTH Aachen Seminar Language in Scientific Computing

Size: px
Start display at page:

Download "Introduction to GAP. (Groups, Algorithms, Programming) Henry Hutasoit, SSE RWTH Aachen Seminar Language in Scientific Computing"

Transcription

1 Introduction to GAP (Groups, Algorithms, Programming) Henry Hutasoit, SSE RWTH Aachen Seminar Language in Scientific Computing

2 Outline What is GAP? Symbolic computation Group theory History The GAP System Demo & Functionality Bibliography Q & A 2

3 Outline What is GAP? Symbolic computation Group theory History The GAP System Demo & Functionality Bibliography Q & A 3

4 Outline What is GAP? Symbolic computation Group theory History The GAP System Demo & Functionality Bibliography Q & A 4

5 Outline What is GAP? Symbolic computation Group theory History The GAP System Demo & Functionality Bibliography Q & A 5

6 Outline What is GAP? Symbolic computation Group theory History The GAP System Demo & Functionality Bibliography Q & A 6

7 Outline What is GAP? Symbolic computation Group theory History The GAP System Demo & Functionality Bibliography Q & A 7

8 Outline What is GAP? Symbolic computation Group theory History The GAP System Demo & Functionality Bibliography Q & A 8

9 Outline What is GAP? Symbolic computation Group theory History The GAP System Demo & Functionality Bibliography Q & A 9

10 Outline What is GAP? Symbolic computation Group theory History The GAP System Demo & Functionality Bibliography Q & A 10

11 Outline What is GAP? Symbolic computation Group theory History The GAP System Demo & Functionality Bibliography Q & A 11

12 What is GAP? GAP is: 12

13 What is GAP? GAP is: a system for computational discrete algebra (Computational Group Theory) that provides: 13

14 What is GAP? GAP is: a system for computational discrete algebra (Computational Group Theory) that provides: a language; 14

15 What is GAP? GAP is: a system for computational discrete algebra (Computational Group Theory) that provides: a language; a library; 15

16 What is GAP? GAP is: a system for computational discrete algebra (Computational Group Theory) that provides: a language; a library; a data library 16

17 What is GAP? GAP is: a system for computational discrete algebra (Computational Group Theory) that provides: a language; a library; a data library 17

18 What is GAP? GAP is: a system for computational discrete algebra (Computational Group Theory) that provides: a language; a library; a data library A symbolic computation/ computer algebra/ algebraic computation tool 18

19 What is GAP? Capabilities: Forming lists, records, domains Handling objects and elements, Booleans, orderings, mappings, and relations Computing integers, rational numbers, cyclotomic numbers(gaussian numbers), finite fields, p-adic numbers, polynomials, rational functions, group elements, permutation, matrices, abstract words etc 19

20 Symbolic Mathematics/ Computing vs Numerical Mathematics/ Computing Symbolic Computing Definition: Wikipedia: scientific area that refers to the study and development of algorithms and software for manipulating mathematical expressions and other mathematical objects 20

21 Symbolic Mathematics/ Computing vs Numerical Mathematics/ Computing Symbolic Computing Definition: Wikipedia: scientific area that refers to the study and development of algorithms and software for manipulating mathematical expressions and other mathematical objects Numerical Computing Definition: Wikipedia: the study of algorithms that use numerical approximation for the problems of mathematical analysis 21

22 Symbolic Mathematics/ Computing vs Numerical Mathematics/ Computing Symbolic Computing Definition: Wikipedia: scientific area that refers to the study and development of algorithms and software for manipulating mathematical expressions and other mathematical objects Numerical Computing Definition: Wikipedia: the study of algorithms that use numerical approximation for the problems of mathematical analysis What can be considered as of symbolic computing: symbolic mathematical operation (integration, summation, solution of differential equation,..) Polynomial factorisation etc 22

23 Symbolic Mathematics/ Computing vs Numerical Mathematics/ Computing Symbolic Computing Definition: Wikipedia: scientific area that refers to the study and development of algorithms and software for manipulating mathematical expressions and other mathematical objects Numerical Computing Definition: Wikipedia: the study of algorithms that use numerical approximation for the problems of mathematical analysis What can be considered as of symbolic computing: symbolic mathematical operation (integration, summation, solution of differential equation,..) Polynomial factorisation etc Good for teaching mathematics! 23

24 Outline What is GAP? Symbolic computation Group theory History The GAP System Demo & Functionality Bibliography Q & A 24

25 Group theory 25

26 Group theory Studies algebraic structures known as group 26

27 Group theory Studies algebraic structures known as group Groups like: rings, fields, vector spaces with their operations and axioms 27

28 Group theory Studies algebraic structures known as group Groups like: rings, fields, vector spaces with their operations and axioms More focused disciplines: Linear algebraic groups, Lie groups 28

29 Group theory Studies algebraic structures known as group Groups like: rings, fields, vector spaces with their operations and axioms More focused disciplines: Linear algebraic groups, Lie groups Applications in: Chemistry; Physics; Cryptography, etc 29

30 Group theory Studies algebraic structures known as group Groups like: rings, fields, vector spaces with their operations and axioms More focused disciplines: Linear algebraic groups, Lie groups Applications in: Chemistry; Physics; Cryptography, etc 30

31 Outline What is GAP? Symbolic computation Group theory History The GAP System Demo & Functionality Bibliography Q & A 31

32 History of GAP (1) 1986: developed first by Lehrstuhl D für Mathematik, RWTH Aachen: Joachim Neubüser, Johannes Meier, Alice Niemayer, Werner Nickel, Martin Schönert 1988: first publicly released version: GAP : development in CIRCA, St Andrews, Scotland, UK 2008: awarded the ACM/SIGSAM Richard Dimick Jenks Memorial Prize for Excellence in Software Engineering applied to Computer Algebra 32

33 History of GAP (2) 2012: Latest version GAP Originally supported by DFG (since 1992) Developed now by a group of researchers in: 33

34 Outline What is GAP? Symbolic computation Group theory History The GAP System Demo & Functionality Bibliography Q & A 34

35 The GAP systems 35

36 The GAP systems Language GAP: C language 36

37 The GAP systems Language GAP: C language Packages: ca 100 packages, act as algorithms or methods or libraries 37

38 The GAP systems Language GAP: C language Packages: ca 100 packages, act as algorithms or methods or libraries Data Library: 38

39 The GAP systems Language GAP: C language Packages: ca 100 packages, act as algorithms or methods or libraries Data Library Interactive Environment (GUI) 39

40 The GAP systems Language GAP: C language Packages: ca 100 packages, act as algorithms or methods or libraries Data Library Interactive Environment (GUI) Documentation 40

41 The GAP systems Language GAP: C language Packages: ca 100 packages, act as algorithms or methods or libraries Data Library: Interactive Environment (GUI) Documentation The kernel is written in C! 41

42 GAP codes libraries GMP Kernel C codes 42

43 Kernel C codes 43

44 Implemented in GAP language Kernel C codes 44

45 Implemented in GAP language Interactive environment in developing and using GAP Kernel C codes 45

46 Implemented in GAP language Interactive environment in developing and using GAP Kernel C codes Memory management 46

47 Implemented in GAP language Interactive environment in developing and using GAP Kernel C codes fast versions of time critical operations for various data types Memory management 47

48 GAP codes 48

49 GAP codes Pascal dialect using streams, lists, and records automatic memory management, garbage collection! 49

50 GAP codes Pascal dialect using streams, lists, and records automatic memory management, garbage collection! 50

51 GAP codes Pascal dialect using streams, lists, and records automatic memory management, garbage collection! 51

52 GMP: GNU Multiple Precision Arithmetic Library 52

53 GMP: GNU Multiple Precision Arithmetic Library GMP 53

54 GMP: GNU Multiple Precision Arithmetic Library GMP Floating Points 54

55 GMP: GNU Multiple Precision Arithmetic Library GMP Floating Points 55

56 GMP: GNU Multiple Precision Arithmetic Library GMP Floating Points 56

57 GMP: GNU Multiple Precision Arithmetic Library free library GMP Floating Points 57

58 GMP: GNU Multiple Precision Arithmetic Library free library basic interface is for C, but also supports C#, Ocaml, Perl, PHP, Python GMP Floating Points 58

59 GMP: GNU Multiple Precision Arithmetic Library free library basic interface is for C, but also supports C#, Ocaml, Perl, PHP, Python GMP Floating Points 59

60 libraries Support mathematical operations: basic algebra, group theory, etc 60

61 Outline What is GAP? Symbolic computation Group theory History The GAP System Demo & Functionality Bibliography Q & A 61

62 Outline What is GAP? Symbolic computation Group theory History The GAP System Demo & Functionality Bibliography Q & A 62

63 Bibliography overview, installation, documentation, downloads, Ogilvie, J. F., Teaching and doing Mathematics with Symbolic Computation, Symbolic Computation (An Editorial), Journal of Symbolic Computation, Volume 1, Number 1-6,

64 Outline What is GAP? Symbolic computation Group theory History The GAP System Demo & Functionality Bibliography Q & A 64

65 Q & A 65

66 Thanks to Prof. Dr. Paolo Bientinessi and his team for giving opportunity to present this seminar Danan Wicaksono, M.Sc for introducing the importance of symbolic computing Dr. Frank Lübeck for providing further information on GAP Prof. Dr. Klaus Lux for providing further information on GAP 66

Groups, Algorithms, Programming and Free Software

Groups, Algorithms, Programming and Free Software Groups, Algorithms, Programming and Free Software Steve Linton Centre for Interdisciplinary Research in Computational Algebra University of St Andrews 1 Groups The mathematician's handle on symmetry Key

More information

Open Source Software for Higher Mathematics

Open Source Software for Higher Mathematics Open Source Software for Higher Mathematics An Overview of Available Tools CJ Fearnley LinuxForce, Inc. http://www.linuxforce.net 2 February 2005 / Philadelphia area Linux Users Group http://www.cjfearnley.com/higher.math.and.open.source.pdf

More information

(1) Modular arithmetic

(1) Modular arithmetic (1) Modular arithmetic In mathematics, modular arithmetic (sometimes called clock arithmetic) is a system of arithmetic for integers, where numbers "wrap يلتف حولaround " after they reach a certain value

More information

Free Software Alternatives to Commercial Math Software

Free Software Alternatives to Commercial Math Software Free Software Alternatives to Commercial Math Software Fermin Franco フランコフェルミーン Ph.D. Student Faculty of Mathematics, Kyushu University Poster A7 1 Abstract Research in mathematics relies ever more heavily

More information

The Further Mathematics Support Programme

The Further Mathematics Support Programme Degree Topics in Mathematics Groups A group is a mathematical structure that satisfies certain rules, which are known as axioms. Before we look at the axioms, we will consider some terminology. Elements

More information

HW DUE Floating point

HW DUE Floating point Numerical and Scientific Computing with Applications David F. Gleich CS 314, Purdue In this class: Understand the need for floating point arithmetic and some alternatives. Understand how the computer represents

More information

Introduction to the SageMath software

Introduction to the SageMath software Introduction to the SageMath software (https://www.sagemath.org) slides available at http://www.labri.fr/perso/vdelecro/teaching.html June 1st 2017, Mini-course HSE Moscow by Vincent Delecroix, CNRS researcher

More information

GAP. Programming in GAP 4

GAP. Programming in GAP 4 GAP Release 4.2 29 February 2000 Programming in GAP 4 The GAP Group Lehrstuhl D für Mathematik RWTH, 52056 Aachen, Germany and School of Mathematical and Computational Sciences University of St Andrews,

More information

Algebraic Processors

Algebraic Processors Algebraic Processors Algebraic Processors By Pouya Larjani, B.Sc. A Thesis Submitted to the School of Graduate Studies in partial fulfilment of the requirements for the degree of Master of Science Department

More information

An Introduction to Open-Source Mathematics Software

An Introduction to Open-Source Mathematics Software 1 An Introduction to Open-Source Mathematics Software (Specifically: GAP,, Macaulay2 and Sage) Jason B. Hill Slow Pitch Colloquium University of Colorado March 17, 2010 2 Outline 1 Introduction 2 GAP -

More information

Registration Workshop. Nov. 1, 2017 CS/SE Freshman Seminar

Registration Workshop. Nov. 1, 2017 CS/SE Freshman Seminar Registration Workshop Nov. 1, 2017 CS/SE Freshman Seminar Computer Science Department Website: http://cs.mtech.edu Program descriptions under Degrees & Options Mission statements under Accreditation &

More information

The Gauss Package Manual

The Gauss Package Manual The Gauss Package Manual Extended Gauss Functionality for GAP Version 2013.03.07 March 2013 Simon Goertzen Simon Goertzen Email: simon.goertzen@rwth-aachen.de Homepage: http://wwwb.math.rwth-aachen.de/goertzen/

More information

The LinBox Project for Linear Algebra Computation

The LinBox Project for Linear Algebra Computation 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

More information

Discrete Mathematics SECOND EDITION OXFORD UNIVERSITY PRESS. Norman L. Biggs. Professor of Mathematics London School of Economics University of London

Discrete Mathematics SECOND EDITION OXFORD UNIVERSITY PRESS. Norman L. Biggs. Professor of Mathematics London School of Economics University of London Discrete Mathematics SECOND EDITION Norman L. Biggs Professor of Mathematics London School of Economics University of London OXFORD UNIVERSITY PRESS Contents PART I FOUNDATIONS Statements and proofs. 1

More information

Introduction to Parallel Computing

Introduction to Parallel Computing Introduction to Parallel Computing W. P. Petersen Seminar for Applied Mathematics Department of Mathematics, ETHZ, Zurich wpp@math. ethz.ch P. Arbenz Institute for Scientific Computing Department Informatik,

More information

Regarding Python level necessary for the course

Regarding Python level necessary for the course Logistics First two recitations (next two weeks) Python basics (installation, basic syntax, basic programming), optional Making models for 3D printing w/ Blender Will announce details through Sakai Regarding

More information

On the Verification of ATLAS Information

On the Verification of ATLAS Information On the Verification of ATLAS Information Thomas Breuer Lehrstuhl D für Mathematik, RWTH Aachen University, Germany Groups St Andrews, Birmingham, August 11, 2017 1 / 16 I will report on details and side-effects

More information

Solving systems of nonlinear equations with arbitrary precision

Solving systems of nonlinear equations with arbitrary precision Solving systems of nonlinear equations with arbitrary precision CES Seminar January 2017 Presented by Supervisor Gregor Heiming Dr. Ralf Hannemann-Tamás Systemverfahrenstechnik AVT, RWTH Aachen University

More information

Scientific Computing: Lecture 1

Scientific Computing: Lecture 1 Scientific Computing: Lecture 1 Introduction to course, syllabus, software Getting started Enthought Canopy, TextWrangler editor, python environment, ipython, unix shell Data structures in Python Integers,

More information

Mathematica CalcCenter

Mathematica CalcCenter Mathematica CalcCenter Basic features Wolfram Mathematica CalcCenter is based on Mathematica Professional and it is primarily designed for technical calculations. Information about this product can be

More information

Programme Outcome COURSE OUTCOMES MCA

Programme Outcome COURSE OUTCOMES MCA Programme Outcome PO1: To provide trained human resource for the IT industry. COURSE OUTCOMES MCA MCA 101 : Object Oriented Programming CO1 The students develops a sound approach to problem solving using

More information

4.3 Rational Thinking

4.3 Rational Thinking RATIONAL EXPRESSIONS & FUNCTIONS -4.3 4.3 Rational Thinking A Solidify Understanding Task The broad category of functions that contains the function!(#) = & ' is called rational functions. A rational number

More information

Recent Developments in KASH

Recent Developments in KASH Introduction KASH 3 GiANT End Institut für Mathematik Technische Universität Berlin Overview Introduction KASH 3 GiANT End Overview History Architecture KANT KASH QaoS GiANT Computational Algebraic Number

More information

RingsForHomalg 2. RingsForHomalg. Dictionaries of External Rings for the GAP Package homalg. Version September 2015.

RingsForHomalg 2. RingsForHomalg. Dictionaries of External Rings for the GAP Package homalg. Version September 2015. RingsForHomalg 2 RingsForHomalg Dictionaries of External Rings for the GAP Package homalg Version 2017.11.03 September 2015 Mohamed Barakat Simon Goertzen Markus Kirschmer Markus Lange-Hegermann Oleksandr

More information

9/10/10. Arithmetic Operators. Today. Assigning floats to ints. Arithmetic Operators & Expressions. What do you think is the output?

9/10/10. Arithmetic Operators. Today. Assigning floats to ints. Arithmetic Operators & Expressions. What do you think is the output? Arithmetic Operators Section 2.15 & 3.2 p 60-63, 81-89 1 Today Arithmetic Operators & Expressions o Computation o Precedence o Associativity o Algebra vs C++ o Exponents 2 Assigning floats to ints int

More information

Madhya Pradesh Bhoj (Open) University, Bhopal

Madhya Pradesh Bhoj (Open) University, Bhopal Subject- Computer Organisation & System Software Maximum Marks: 20 Q.1 What is Number System? Explain Its Types? Q.2 What is Program Interrupt? Explain it. Q.3 Explain the Floating Point Representation?

More information

Eight units must be completed and passed to be awarded the Diploma.

Eight units must be completed and passed to be awarded the Diploma. Diploma of Computing Course Outline Campus Intake CRICOS Course Duration Teaching Methods Assessment Course Structure Units Melbourne Burwood Campus / Jakarta Campus, Indonesia March, June, October 022638B

More information

ME 261: Numerical Analysis. ME 261: Numerical Analysis

ME 261: Numerical Analysis. ME 261: Numerical Analysis ME 261: Numerical Analysis 3. credit hours Prereq.: ME 163/ME 171 Course content Approximations and error types Roots of polynomials and transcendental equations Determinants and matrices Solution of linear

More information

A Survey of Mathematics with Applications 8 th Edition, 2009

A Survey of Mathematics with Applications 8 th Edition, 2009 A Correlation of A Survey of Mathematics with Applications 8 th Edition, 2009 South Carolina Discrete Mathematics Sample Course Outline including Alternate Topics and Related Objectives INTRODUCTION This

More information

The Cantor Handbook. Alexander Rieder

The Cantor Handbook. Alexander Rieder Alexander Rieder 2 Contents 1 Introduction 5 2 Using Cantor 6 2.1 Cantor features....................................... 6 2.2 The Cantor backends.................................... 7 2.3 The Cantor Workspace...................................

More information

DISCRETE MATHEMATICS

DISCRETE MATHEMATICS DISCRETE MATHEMATICS WITH APPLICATIONS THIRD EDITION SUSANNA S. EPP DePaul University THOIVISON * BROOKS/COLE Australia Canada Mexico Singapore Spain United Kingdom United States CONTENTS Chapter 1 The

More information

SymbolicC++: An Introduction to Computer Algebra using Object-Oriented Programming

SymbolicC++: An Introduction to Computer Algebra using Object-Oriented Programming SymbolicC++: An Introduction to Computer Algebra using Object-Oriented Programming Springer-Verlag London Ltd. Tan Kiat Shi, Willi-Hans Steeb and Yorick Hardy SymbolicC ++: An Introdurtion to Computer

More information

Radiroot. Roots of a Polynomial by Radicals. A GAP Package. Version 2.7. Andreas Distler

Radiroot. Roots of a Polynomial by Radicals. A GAP Package. Version 2.7. Andreas Distler Radiroot Roots of a Polynomial by Radicals A GAP Package Version 2.7 by Andreas Distler Institut Computational Mathematics Technische Universität Braunschweig Rebenring 31 (A14); 38106 Braunschweig; Germany

More information

ALGEBRAIC PROCESSORS

ALGEBRAIC PROCESSORS ALGEBRAIC PROCESSORS ALGEBRAIC PROCESSORS By POUYA LARJANI, B.Sc. A Thesis Submitted to the School of Graduate Studies in partial fulfilment of the requirements for the degree of Master of Science Department

More information

Introduction to Scientific Computing

Introduction to Scientific Computing University of Tartu, Institute of Computer Science Introduction to Scientific Computing MTAT.08.025 eero.vainikko@ut.ee Spring 2017 2 Practical information Lectures: Liivi 2-122 MON 10:15 Computer classes:

More information

Arithmetic expressions can be typed into Maple using the regular operators:

Arithmetic expressions can be typed into Maple using the regular operators: Basic arithmetic Arithmetic expressions can be typed into Maple using the regular operators: (type "3 + 4" and then press "[Enter]" to start the evaluation of the expression) 7 (1.1) 5 (1.2) 21 (1.3) (type

More information

College of Sciences Department of Mathematics and Computer Science. Assessment Plan Mathematics

College of Sciences Department of Mathematics and Computer Science. Assessment Plan Mathematics College of Sciences Department of athematics and Computer Science Programs: Assessment Plan athematics athematics offers the following instructional programs: 1. Bachelor of Science in athematics Option

More information

1 Inference for Boolean theories

1 Inference for Boolean theories Scribe notes on the class discussion on consistency methods for boolean theories, row convex constraints and linear inequalities (Section 8.3 to 8.6) Speaker: Eric Moss Scribe: Anagh Lal Corrector: Chen

More information

Mathematica for Scientists and Engineers

Mathematica for Scientists and Engineers Mathematica for Scientists and Engineers Thomas B. Bahder Addison-Wesley Publishing Company Reading, Massachusetts Menlo Park, California New York Don Mills, Ontario Wokingham, England Amsterdam Bonn Paris

More information

HOW TO TURN NETWORKING FROM CRAFT TO SCIENCE MARTIN GEDDES FOUNDER & PRINCIPAL MARTIN GEDDES CONSULTING LTD

HOW TO TURN NETWORKING FROM CRAFT TO SCIENCE MARTIN GEDDES FOUNDER & PRINCIPAL MARTIN GEDDES CONSULTING LTD HOW TO TURN NETWORKING FROM CRAFT TO SCIENCE MARTIN GEDDES FOUNDER & PRINCIPAL MARTIN GEDDES CONSULTING LTD The secret of success is to know something nobody else knows. Aristotle Onassis WE ARE NETWORK

More information

MATLAB. Devon Cormack and James Staley

MATLAB. Devon Cormack and James Staley MATLAB Devon Cormack and James Staley MATrix LABoratory Originally developed in 1970s as a FORTRAN wrapper, later rewritten in C Designed for the purpose of high-level numerical computation, visualization,

More information

AM205: lecture 2. 1 These have been shifted to MD 323 for the rest of the semester.

AM205: lecture 2. 1 These have been shifted to MD 323 for the rest of the semester. AM205: lecture 2 Luna and Gary will hold a Python tutorial on Wednesday in 60 Oxford Street, Room 330 Assignment 1 will be posted this week Chris will hold office hours on Thursday (1:30pm 3:30pm, Pierce

More information

The Gift Wrapping Method in PHCpack

The Gift Wrapping Method in PHCpack The Gift Wrapping Method in PHCpack Jan Verschelde University of Illinois at Chicago Department of Mathematics, Statistics, and Computer Science http://www.math.uic.edu/ jan jan@math.uic.edu Graduate Computational

More information

Why learn Computer Programming? Computer-based problem solving in Science and Engineering. Why learn Fortran? Elementary Computer Organization

Why learn Computer Programming? Computer-based problem solving in Science and Engineering. Why learn Fortran? Elementary Computer Organization CSE 1540.03 Week #1.1 January 6, 2014 Computer-based problem solving in Science and Engineering Pure math: about beautiful relationships, e.g. partial differential equations Applied math: pure math applied

More information

Floating-point representation

Floating-point representation Lecture 3-4: Floating-point representation and arithmetic Floating-point representation The notion of real numbers in mathematics is convenient for hand computations and formula manipulations. However,

More information

CITS2401 Computer Analysis & Visualisation

CITS2401 Computer Analysis & Visualisation FACULTY OF ENGINEERING, COMPUTING AND MATHEMATICS CITS2401 Computer Analysis & Visualisation SCHOOL OF COMPUTER SCIENCE AND SOFTWARE ENGINEERING Topic 13 Revision Notes CAV review Topics Covered Sample

More information

2 Computation with Floating-Point Numbers

2 Computation with Floating-Point Numbers 2 Computation with Floating-Point Numbers 2.1 Floating-Point Representation The notion of real numbers in mathematics is convenient for hand computations and formula manipulations. However, real numbers

More information

MATHEMATICAL STRUCTURES FOR COMPUTER SCIENCE

MATHEMATICAL STRUCTURES FOR COMPUTER SCIENCE MATHEMATICAL STRUCTURES FOR COMPUTER SCIENCE A Modern Approach to Discrete Mathematics SIXTH EDITION Judith L. Gersting University of Hawaii at Hilo W. H. Freeman and Company New York Preface Note to the

More information

A Short Introduction to Maple

A Short Introduction to Maple A Short Introduction to Maple Math 232, Fall 2018 Instructor: Dr. Doreen De Leon The following sections can be seen by clicking on the arrow to the left of the section name. To hide the material, just

More information

GiNaC. Symbolic computation with C++ Jens Vollinga. Institut für Physik Universität Mainz. GiNaC p.1/13

GiNaC. Symbolic computation with C++ Jens Vollinga. Institut für Physik Universität Mainz. GiNaC p.1/13 GiNaC Symbolic computation with C++ Jens Vollinga Institut für Physik Universität Mainz GiNaC p.1/13 Outline C++ library Developed since 1999 CAS in high energy physics Fundamentals of GiNaC Features of

More information

PROGRAMMING AND ENGINEERING COMPUTING WITH MATLAB Huei-Huang Lee SDC. Better Textbooks. Lower Prices.

PROGRAMMING AND ENGINEERING COMPUTING WITH MATLAB Huei-Huang Lee SDC. Better Textbooks. Lower Prices. PROGRAMMING AND ENGINEERING COMPUTING WITH MATLAB 2018 Huei-Huang Lee SDC P U B L I C AT I O N S Better Textbooks. Lower Prices. www.sdcpublications.com Powered by TCPDF (www.tcpdf.org) Visit the following

More information

Exact real arithmetic. Keith Briggs

Exact real arithmetic. Keith Briggs Exact real arithmetic Keith Briggs Keith.Briggs@bt.com more.btexact.com/people/briggsk2/xr.html 2002 Nov 20 15:00 Typeset in L A T E X2e on a linux system Exact real arithmetic p.1/35 Complexity Outline

More information

COMPUTER SCIENCE/INFORMATION SYSTEMS DEGREE PLAN

COMPUTER SCIENCE/INFORMATION SYSTEMS DEGREE PLAN COMPUTER SCIENCE/INFORMATION SYSTEMS DEGREE PLAN YEAR 1, SEMESTER 1 YEAR 1, SEMESTER 2 Composition I 3 Composition II 3 Calculus I 5 Calculus II 5 Humanistic (Religion) 3 Physics I 5 Total Wellness 2 Statistics

More information

Basics of Computation. PHY 604:Computational Methods in Physics and Astrophysics II

Basics of Computation. PHY 604:Computational Methods in Physics and Astrophysics II Basics of Computation Basics of Computation Computers store information and allow us to operate on it. That's basically it. Computers have finite memory, so it is not possible to store the infinite range

More information

ADMINISTRATIVE MANAGEMENT COLLEGE

ADMINISTRATIVE MANAGEMENT COLLEGE First Semester ADMINISTRATIVE MANAGEMENT COLLEGE BACHELOR OF COMPUTER APPLICATION COURSE OUTCOME (CO) Problem solving techniques Using C CO 1: Understand the basic concepts of programming, software and

More information

An Efficient Elliptic Curve Cryptography Arithmetic Using Nikhilam Multiplication

An Efficient Elliptic Curve Cryptography Arithmetic Using Nikhilam Multiplication The International Journal Of Engineering And Science (IJES) Volume 4 Issue 4 Pages PP.45-50 2015 ISSN (e): 2319 1813 ISSN (p): 2319 1805 An Efficient Elliptic Curve Cryptography Arithmetic Using Nikhilam

More information

Quadratic Equations over Matrices over the Quaternions. By Diana Oliff Mentor: Professor Robert Wilson

Quadratic Equations over Matrices over the Quaternions. By Diana Oliff Mentor: Professor Robert Wilson Quadratic Equations over Matrices over the Quaternions By Diana Oliff Mentor: Professor Robert Wilson Fields A field consists of a set of objects S and two operations on this set. We will call these operations

More information

The Formal Semantics of Programming Languages An Introduction. Glynn Winskel. The MIT Press Cambridge, Massachusetts London, England

The Formal Semantics of Programming Languages An Introduction. Glynn Winskel. The MIT Press Cambridge, Massachusetts London, England The Formal Semantics of Programming Languages An Introduction Glynn Winskel The MIT Press Cambridge, Massachusetts London, England Series foreword Preface xiii xv 1 Basic set theory 1 1.1 Logical notation

More information

Introduction to Scientific Computing Languages

Introduction to Scientific Computing Languages 1 / 1 Introduction to Scientific Computing Languages Prof. Paolo Bientinesi pauldj@aices.rwth-aachen.de Languages for Scientific Computing 2 / 1 What is a programming language? Languages for Scientific

More information

An Object Oriented Finite Element Library

An Object Oriented Finite Element Library An Object Oriented Finite Element Library Release 3.1.0 Rachid Touzani Laboratoire de Mathématiques Blaise Pascal Université Clermont Auvergne 63177 Aubière, France e-mail: Rachid.Touzani@univ-bpclermont.fr

More information

Channel Coding and Cryptography Part II: Introduction to Cryptography

Channel Coding and Cryptography Part II: Introduction to Cryptography Channel Coding and Cryptography Part II: Introduction to Cryptography Prof. Dr.-Ing. habil. Andreas Ahrens Communications Signal Processing Group, University of Technology, Business and Design Email: andreas.ahrens@hs-wismar.de

More information

WRITING SCIENTIFIC SOFTWARE: A GUIDE FOR GOOD STYLE

WRITING SCIENTIFIC SOFTWARE: A GUIDE FOR GOOD STYLE WRITING SCIENTIFIC SOFTWARE: A GUIDE FOR GOOD STYLE SUELY OLIVEIRA AND DAVID E. STEWART University oflowa CAMBRIDGE UNIVERSITY PRESS Preface Part I Numerical Software 1 Why numerical Software? 1.1 Efficient

More information

Beating Hand-Tuned Assembly. David Richardson

Beating Hand-Tuned Assembly. David Richardson Beating Hand-Tuned Assembly David Richardson d.g.richardson@gmail.com Outline Problem Hand tuned assembly Faster than assembly All optimization is like this 2 Multi Precision Arithmetic 11111111111111

More information

Introduction to Scientific Computing Languages

Introduction to Scientific Computing Languages 1 / 17 Introduction to Scientific Computing Languages Prof. Paolo Bientinesi pauldj@aices.rwth-aachen.de Languages for Scientific Computing 2 / 17 What is a programming language? Languages for Scientific

More information

Please consult the Department of Engineering about the Computer Engineering Emphasis.

Please consult the Department of Engineering about the Computer Engineering Emphasis. COMPUTER SCIENCE Computer science is a dynamically growing discipline. ABOUT THE PROGRAM The Department of Computer Science is committed to providing students with a program that includes the basic fundamentals

More information

STEPHEN WOLFRAM MATHEMATICADO. Fourth Edition WOLFRAM MEDIA CAMBRIDGE UNIVERSITY PRESS

STEPHEN WOLFRAM MATHEMATICADO. Fourth Edition WOLFRAM MEDIA CAMBRIDGE UNIVERSITY PRESS STEPHEN WOLFRAM MATHEMATICADO OO Fourth Edition WOLFRAM MEDIA CAMBRIDGE UNIVERSITY PRESS Table of Contents XXI a section new for Version 3 a section new for Version 4 a section substantially modified for

More information

Mathematics Gap Analysis Phase I

Mathematics Gap Analysis Phase I Mathematics Gap Analysis Phase I Organizing Structure: The Standards Compared to the Common Core College and Career Readiness Standards The Mathematics College and Career Readiness Standards (CCRS) are

More information

Relational Database: The Relational Data Model; Operations on Database Relations

Relational Database: The Relational Data Model; Operations on Database Relations Relational Database: The Relational Data Model; Operations on Database Relations Greg Plaxton Theory in Programming Practice, Spring 2005 Department of Computer Science University of Texas at Austin Overview

More information

Lecture 8 Mathematics

Lecture 8 Mathematics CS 491 CAP Intro to Competitive Algorithmic Programming Lecture 8 Mathematics Uttam Thakore University of Illinois at Urbana-Champaign October 14, 2015 Outline Number theory Combinatorics & probability

More information

A First Course in Scientific Computing

A First Course in Scientific Computing A First Course in Scientific Computing Symbolic, Graphic, and Numeric Modeling Using Maple, Java, Mathematica, and Fortran90 RUBIN H. LANDAU Contributors: Robyn Wangberg (Mathematica), Kyle Augustson (Fortran90),

More information

Lecture 1 Course Introduction

Lecture 1 Course Introduction UMass Lowell Computer Science 91.580.201 Geometric Modeling Prof. Karen Daniels Spring, 2009 Lecture 1 Course Introduction Course Introduction What is Geometric Modeling? Adapted from: Geometric Modeling

More information

Mathematics 6 12 Section 26

Mathematics 6 12 Section 26 Mathematics 6 12 Section 26 1 Knowledge of algebra 1. Apply the properties of real numbers: closure, commutative, associative, distributive, transitive, identities, and inverses. 2. Solve linear equations

More information

CSI32 Object-Oriented Programming

CSI32 Object-Oriented Programming Outline Department of Mathematics and Computer Science Bronx Community College February 2, 2015 Outline Outline 1 Chapter 1 Cornerstones of Computing Textbook Object-Oriented Programming in Python Goldwasser

More information

New Jersey Core Curriculum Content Standards for Mathematics Grade 7 Alignment to Acellus

New Jersey Core Curriculum Content Standards for Mathematics Grade 7 Alignment to Acellus New Jersey Core Curriculum Content Standards for Mathematics http://www.nj.gov/education/aps/cccs/math/ Standard 4.1.7: Number And Numerical Operations A. Number Sense 1. Extend understanding of the number

More information

Diploma Of Computing

Diploma Of Computing Diploma Of Computing Course Outline Campus Intake CRICOS Course Duration Teaching Methods Assessment Course Structure Units Melbourne Burwood Campus / Jakarta Campus, Indonesia March, June, October 022638B

More information

c-xsc R. Klatte U. Kulisch A. Wiethoff C. Lawo M. Rauch A C++ Class Library for Extended Scientific Computing Springer-Verlag Berlin Heidelberg GmbH

c-xsc R. Klatte U. Kulisch A. Wiethoff C. Lawo M. Rauch A C++ Class Library for Extended Scientific Computing Springer-Verlag Berlin Heidelberg GmbH R. Klatte U. Kulisch A. Wiethoff C. Lawo M. Rauch c-xsc A C++ Class Library for Extended Scientific Computing Translated by G. F. Corliss C. Lawo R. Klatte A. Wiethoff C. Wolff Springer-Verlag Berlin Heidelberg

More information

Computer Applications for Engineers ET 601

Computer Applications for Engineers ET 601 Computer Applications for Engineers ET 601 Asst. Prof. Dr. Prapun Suksompong prapun@siit.tu.ac.th Random Variables 1 Office Hours: (BKD 3601-7) Wednesday 9:30-11:30 Wednesday 16:00-17:00 Thursday 14:40-16:00

More information

Polynomial Approximation of the Boys Function Optimized for High Performance Computing

Polynomial Approximation of the Boys Function Optimized for High Performance Computing Polynomial Approximation of the Boys Function Optimized for High Performance Computing A Thesis Presented to The Academic Faculty by Cory Brzycki In Partial Fulfillment of the Requirements for the Degree

More information

2 Computation with Floating-Point Numbers

2 Computation with Floating-Point Numbers 2 Computation with Floating-Point Numbers 2.1 Floating-Point Representation The notion of real numbers in mathematics is convenient for hand computations and formula manipulations. However, real numbers

More information

Design and implement a program to solve a real-world problem using the language idioms, data structures,, and standard library.

Design and implement a program to solve a real-world problem using the language idioms, data structures,, and standard library. Course Outcome Second Year of B.Sc. IT Program Semester I Course Number: USIT301 Course Name: Python Programming Understanding basic fundamentals of programming using Python. Recognize and construct common

More information

CURRICULUM VITAE: DI MARTIN BERNAUER. DI Martin Bernauer. Chemnitz University of Technology Faculty of Mathematics D Chemnitz Germany

CURRICULUM VITAE: DI MARTIN BERNAUER. DI Martin Bernauer. Chemnitz University of Technology Faculty of Mathematics D Chemnitz Germany CURRICULUM CURRICULUM VITAE: DI MARTIN BERNAUER Chemnitz, March 15, 2010 DI Martin Bernauer Chemnitz University of Technology Faculty of Mathematics D-09107 Chemnitz Germany +49-371-531-37497 martin.bernauer@mathematik.tu-chemnitz.de

More information

CVEN 302. Computer Applications in Engineering and Construction. Dr. Tony Cahill Environmental and Water Resources Division

CVEN 302. Computer Applications in Engineering and Construction. Dr. Tony Cahill Environmental and Water Resources Division CVEN 302 Computer Applications in Engineering and Construction Dr. Tony Cahill Environmental and Water Resources Division Instructors Instructor: Tony Cahill Office: WERC 205J Office Hours: T/R 3:00 4:00PM.

More information

Chapter 10 Binary Arithmetics

Chapter 10 Binary Arithmetics 27..27 Chapter Binary Arithmetics Dr.-Ing. Stefan Werner Table of content Chapter : Switching Algebra Chapter 2: Logical Levels, Timing & Delays Chapter 3: Karnaugh-Veitch-Maps Chapter 4: Combinational

More information

COURSE COUNSELING (FOR YEARS 3 & 4 IN )

COURSE COUNSELING (FOR YEARS 3 & 4 IN ) COURSE COUNSELING (FOR YEARS 3 & 4 IN 2017-18) Department of Information Engineering April 19, 2017 OUTLINE IERG & MIEG Curricula Major required & IE elective courses New IE courses IE courses offered

More information

CS 377 Database Systems. Li Xiong Department of Mathematics and Computer Science Emory University

CS 377 Database Systems. Li Xiong Department of Mathematics and Computer Science Emory University CS 377 Database Systems Database Programming in PHP Li Xiong Department of Mathematics and Computer Science Emory University Outline A Simple PHP Example Overview of Basic Features of PHP Overview of PHP

More information

MOSAIC A modeling and code generation tool. Gregor Tolksdorf, M.Sc. Faculty of Process Sciences CAPE-OPEN 2013 Annual Meeting

MOSAIC A modeling and code generation tool. Gregor Tolksdorf, M.Sc. Faculty of Process Sciences CAPE-OPEN 2013 Annual Meeting MOSAIC A modeling and code generation tool Gregor Tolksdorf, M.Sc. Faculty of Process Sciences CAPE-OPEN 2013 Annual Meeting Modular MOdel SpecificAtIon on DoCumentation Level - Application in a Web Based

More information

Dr Richard Greenaway

Dr Richard Greenaway SCHOOL OF PHYSICS, ASTRONOMY & MATHEMATICS 4PAM1008 MATLAB 1 Introduction to MATLAB Dr Richard Greenaway 1 Introduction to MATLAB 1.1 What is MATLAB? MATLAB is a high-level technical computing language

More information

correlated to the Michigan High School Mathematics Content Expectations

correlated to the Michigan High School Mathematics Content Expectations correlated to the Michigan High School Mathematics Content Expectations McDougal Littell Algebra 1 Geometry Algebra 2 2007 correlated to the STRAND 1: QUANTITATIVE LITERACY AND LOGIC (L) STANDARD L1: REASONING

More information

Assessment for all units is ongoing and continuous consisting of tests, assignments and reports. Most units have a final two-hour examination.

Assessment for all units is ongoing and continuous consisting of tests, assignments and reports. Most units have a final two-hour examination. Diploma of Computing Course Outline (T3, 2017) Campus Intake CRICOS Course Duration Teaching Methods Assessment Course Structure Units Melbourne Burwood Campus / Jakarta Campus, Indonesia March, June,

More information

A Small Permutation Group Engine by: Gregory Kip. COMS W4115 Programming Languages and Translators Prof. Stephen Edwards

A Small Permutation Group Engine by: Gregory Kip. COMS W4115 Programming Languages and Translators Prof. Stephen Edwards µperm A Small Permutation Group Engine by: Gregory Kip COMS W4115 Programming Languages and Translators Prof. Stephen Edwards Abstract Given the abstract character of much of modern physics and mathematics,

More information

Importing the Gnu Multiple Precision Package (GMP) into Lisp, and implications for Functional Programming

Importing the Gnu Multiple Precision Package (GMP) into Lisp, and implications for Functional Programming Importing the Gnu Multiple Precision Package (GMP) into Lisp, and implications for Functional Programming Richard J. Fateman University of California at Berkeley August 26, 2003 Abstract Advocating the

More information

Algebra 2 Semester 2 Final Exam Study Outline Semester 2 Final Exam Study Tips and Information

Algebra 2 Semester 2 Final Exam Study Outline Semester 2 Final Exam Study Tips and Information Algebra 2 Semester 2 Final Exam Study Outline 2013 Semester 2 Final Exam Study Tips and Information The final exam is CUMULATIVE and will include all concepts taught from Chapter 1 through Chapter 13.

More information

Introduction to floating point arithmetic

Introduction to floating point arithmetic Introduction to floating point arithmetic Matthias Petschow and Paolo Bientinesi AICES, RWTH Aachen petschow@aices.rwth-aachen.de October 24th, 2013 Aachen, Germany Matthias Petschow (AICES, RWTH Aachen)

More information

EXPLORE MATHEMATICS TEST

EXPLORE MATHEMATICS TEST EXPLORE MATHEMATICS TEST Table 4: The College Readiness The describe what students who score in the specified score ranges are likely to know and to be able to do. The help teachers identify ways of enhancing

More information

JAVA PROGRAMMING. Unit-3 :Creating Gui Using The Abstract Windowing Toolkit:

JAVA PROGRAMMING. Unit-3 :Creating Gui Using The Abstract Windowing Toolkit: JAVA PROGRAMMING UNIT-1: Introduction To Java, Getting Started With Java, Applets And Application, Creating A Java Application, Creating A Java Applets, Object Oriented Programming In Java, Object And

More information

The MAPLE BOOK FRANK GARVAN CHAPMAN & HALL/CRC. A CRC Press Company Boca Raton London New York Washington, D.C.

The MAPLE BOOK FRANK GARVAN CHAPMAN & HALL/CRC. A CRC Press Company Boca Raton London New York Washington, D.C. The MAPLE BOOK FRANK GARVAN CHAPMAN & HALL/CRC A CRC Press Company Boca Raton London New York Washington, D.C. CONTENTS 1. Getting Started 1 1.1 Starting a MAPLE session 1 1.2 Different versions of MAPLE

More information

EE292: Fundamentals of ECE

EE292: Fundamentals of ECE EE292: Fundamentals of ECE Fall 2012 TTh 10:00-11:15 SEB 1242 Lecture 22 121115 http://www.ee.unlv.edu/~b1morris/ee292/ 2 Outline Review Binary Number Representation Binary Arithmetic Combinatorial Logic

More information

CS321 Introduction To Numerical Methods

CS321 Introduction To Numerical Methods CS3 Introduction To Numerical Methods Fuhua (Frank) Cheng Department of Computer Science University of Kentucky Lexington KY 456-46 - - Table of Contents Errors and Number Representations 3 Error Types

More information

Math 162b Syllabus p-adic Galois Representations

Math 162b Syllabus p-adic Galois Representations Math 162b Syllabus p-adic Galois Representations Andrei Jorza 2012-01-03 Contents 1 Local Class Field Theory 1.1 Local fields 1.2 Newton polygons 1.3 Ramification of local fields 1.4 Main results of local

More information

SECOND SEMESTER BCA : Syllabus Copy

SECOND SEMESTER BCA : Syllabus Copy BCA203T: DATA STRUCTURES SECOND SEMESTER BCA : Syllabus Copy Unit-I Introduction and Overview: Definition, Elementary data organization, Data Structures, data structures operations, Abstract data types,

More information