POLY : A new polynomial data structure for Maple.

Size: px
Start display at page:

Download "POLY : A new polynomial data structure for Maple."

Transcription

1 : A new polynomial data structure for Maple. Center for Experimental and Constructive Mathematics Simon Fraser University British Columbia CANADA ASCM 2012, Beijing, October 26-28, 2012 This is joint work with Roman Pearce.

2 Talk Outline Polynomial data structures in Maple and Singular are slow. Our new data structure

3 Talk Outline Polynomial data structures in Maple and Singular are slow. Our new data structure Johnson s polynomial multiplication using a heap from Our parallelization of it.

4 Talk Outline Polynomial data structures in Maple and Singular are slow. Our new data structure Johnson s polynomial multiplication using a heap from Our parallelization of it. Maple 16 integration of. A multiplication and factorization benchmark.

5 Talk Outline Polynomial data structures in Maple and Singular are slow. Our new data structure Johnson s polynomial multiplication using a heap from Our parallelization of it. Maple 16 integration of. A multiplication and factorization benchmark. Maple 17 integration of. New timings for same benchmark.

6 Talk Outline Polynomial data structures in Maple and Singular are slow. Our new data structure Johnson s polynomial multiplication using a heap from Our parallelization of it. Maple 16 integration of. A multiplication and factorization benchmark. Maple 17 integration of. New timings for same benchmark. Notes on integration into Maple 17 kernel.

7 Talk Outline Polynomial data structures in Maple and Singular are slow. Our new data structure Johnson s polynomial multiplication using a heap from Our parallelization of it. Maple 16 integration of. A multiplication and factorization benchmark. Maple 17 integration of. New timings for same benchmark. Notes on integration into Maple 17 kernel. Status of Maple 17 integration.

8 Representations for 9 xy 3 z 4 y 3 z 2 6 xy 2 z 8 x 3 5. PROD 7 x 1 y 3 z 1 Maple 16 PROD 5 y 3 z PROD 7 x 2 1 y 2 z 1 PROD 3 x 3 SUM

9 Representations for 9 xy 3 z 4 y 3 z 2 6 xy 2 z 8 x 3 5. PROD 7 x 1 y 3 z 1 Maple 16 PROD 5 y 3 z PROD 7 x 2 1 y 2 z 1 PROD 3 x 3 SUM Singular x y z Memory access is not sequential. Monomial multiplication costs O(100) cycles.

10 Our representation 9 xy 3 z 4 y 3 z 2 6 xy 2 z 8 x 3 5. SEQ 4 x y z Monomial encoding for graded lex order with x>y >z Encodes x i y j z k in a single word d i j k where d = i+j+k. Advantages

11 Our representation 9 xy 3 z 4 y 3 z 2 6 xy 2 z 8 x 3 5. SEQ 4 x y z Monomial encoding for graded lex order with x>y >z Encodes x i y j z k in a single word d i j k where d = i+j+k. Advantages It s more compact (2 words per term instead of 9). Memory access is sequential. Fewer objects to clutter tables. Monomial > and cost one instruction.

12 Parallel polynomial multiplication and division using heaps. Let f = f 1 + f f n and g = g 1 + g g m. Compute f g = f 1 g + f 2 g + + f n g. Naive merge: O(mn 2 ) comparisons. Johnson (1974) simultaneous n-ary merge (heap): O(mn log n).

13 Parallel polynomial multiplication and division using heaps. Let f = f 1 + f f n and g = g 1 + g g m. Compute f g = f 1 g + f 2 g + + f n g. Naive merge: O(mn 2 ) comparisons. Johnson (1974) simultaneous n-ary merge (heap): O(mn log n). [MM, RP (2009)] parallel multiplication. [MM, RP (2010)] parallel division. Global Heap Local Heaps f g 4 Target architecture: Intel Core i7 (quad core)

14 Old multiplication and factorization benchmark. Intel Core i GHz (4 cores) Times in seconds Maple Maple 16 Magma Singular Mathem multiply 13 1 core 4 cores atica 7 p 1 := f 1(f 1 + 1) p 4 := f 4(f 4 + 1) factor Hensel lifting is mostly polynomial multiplication! p terms p terms f 1 = (1 + x + y + z) f 4 = (1 + x + y + z + t) terms terms Parallel speedup for f 4 (f 4 + 1) is 1.81 /.632 = Why?

15 Maple 16 Integration of To expand sums f g Maple calls expand/bigprod(f,g) if #f > 2 and #g > 2 and #f #g > expand/bigprod := proc(a,b) # multiply two large sums if type(a,polynom(integer)) and type(b,polynom(integer)) then x := indets(a) union indets(b); k := nops(x); A := sdmp:-import(a, plex(op(x)), pack=k); B := sdmp:-import(b, plex(op(x)), pack=k); C := sdmp:-multiply(a,b); return sdmp:-export(c); else... expand/bigdiv := proc(a,b,q) # divide two large sums... x := indets(a) union indets(b); k := nops(x)+1; A := sdmp:-import(a, grlex(op(x)), pack=k); B := sdmp:-import(b, grlex(op(x)), pack=k);...

16 Make the default representation in Maple. If we can pack all monomials into one word use SEQ 4 x y z O(1) O(n) O(n + t) degree(f); lcoeff(f); indets(f); has(f,z); type(f,polynom(integer)); degree(f,x); expand(x*t); diff(f,x); For f with t terms in n variables.

17 Almost everything is fast. command Maple 16 Maple 17 speedup notes coeff(f, x, 20) s s 420x terms easy to locate coeffs(f, x) s s 8x reorder exponents and radix frontend(g, [f ]) s s O(n) looks at variables only degree(f, x) s s 24x stop early using monomial de diff(f, x) s s 30x terms remain sorted eval(f, x = 6) s s 21x use Horner form recursively expand(2 x f ) s s 18x terms remain sorted indets(f ) s s O(1) first word in dag op(f ) s s 0.26x has to construct old structur for t in f do s s 0.26x has to construct old structur subs(x = y, f ) s s 15x combine exponents, sort, me taylor(f, x, 50) s s 12x get coefficients in one pass type(f, polynom) s s O(n) type check variables only For f with n = 3 variables and t = 10 6 terms created by f := expand(mul(randpoly(v,degree=100,dense),v=[x,y,z])):

18 New multiplication and factorization benchmark Intel Core i GHz (4 cores) Times in seconds Maple 16 Maple 17 Magma Singular multiply 1 core 4 cores 1 core 4 cores p 1 := f 1(f 1 + 1) p 4 := f 4(f 4 + 1) factor Singular s factorization improved! p terms p terms f 1 = (1 + x + y + z) f 4 = (1 + x + y + z + t) terms terms Parallel speedup for f 4 (f 4 + 1) is 1.730/0.508 = 3.41.

19 Profile for factor(p1); Profile for factor(p1); Real time from 2.63s to 1.11s real. Maple 16 New Maple function #calls time time% time time% coeftayl s s expand s s factor/diophant s s divide s s 4.56 factor s s 1.41 factor/hensel s s 6.22 factor/unifactor s s 3.57 total: s % 1.206s % The coeftayl(f,x=a,k); command is defined by coeff(taylor(f,x=a,k+1),x,k); and is computed via eval(diff(f,x$k),x=a) / k! which is 4x faster.

20 Notes on the new integration for Maple 17. Given a polynomial f (x 1, x 2,..., x n ), we store f using if (1) f is expanded and has integer coefficients, (2) d > 1 and t > 1 where d = deg f and t = #terms, (3) we can pack all monomials of f into one 64 bit word, i.e. if d < 2 b where b = 64 n+1 Otherwise we use the old sum-of-products representation.

21 Notes on the new integration for Maple 17. Given a polynomial f (x 1, x 2,..., x n ), we store f using if (1) f is expanded and has integer coefficients, (2) d > 1 and t > 1 where d = deg f and t = #terms, (3) we can pack all monomials of f into one 64 bit word, i.e. if d < 2 b where b = 64 n+1 Otherwise we use the old sum-of-products representation. The representation is invisible to the Maple user. Conversions are automatic.

22 Notes on the new integration for Maple 17. Given a polynomial f (x 1, x 2,..., x n ), we store f using if (1) f is expanded and has integer coefficients, (2) d > 1 and t > 1 where d = deg f and t = #terms, (3) we can pack all monomials of f into one 64 bit word, i.e. if d < 2 b where b = 64 n+1 Otherwise we use the old sum-of-products representation. The representation is invisible to the Maple user. Conversions are automatic. polynomials will be displayed in sorted order.

23 Notes on the new integration for Maple 17. Given a polynomial f (x 1, x 2,..., x n ), we store f using if (1) f is expanded and has integer coefficients, (2) d > 1 and t > 1 where d = deg f and t = #terms, (3) we can pack all monomials of f into one 64 bit word, i.e. if d < 2 b where b = 64 n+1 Otherwise we use the old sum-of-products representation. The representation is invisible to the Maple user. Conversions are automatic. polynomials will be displayed in sorted order. Packing is fixed by n = #variables.

24 Notes on the new integration for Maple 17. Given a polynomial f (x 1, x 2,..., x n ), we store f using if (1) f is expanded and has integer coefficients, (2) d > 1 and t > 1 where d = deg f and t = #terms, (3) we can pack all monomials of f into one 64 bit word, i.e. if d < 2 b where b = 64 n+1 Otherwise we use the old sum-of-products representation. The representation is invisible to the Maple user. Conversions are automatic. polynomials will be displayed in sorted order. Packing is fixed by n = #variables. If n = 8, (3) = we use b = 64/9 = 7 bits per exponent field hence restricts d < 128.

25 Current Work and Paper Content We are trying to get it ready for Maple 17.

26 Current Work and Paper Content We are trying to get it ready for Maple 17. Avoid operations like indets(f,type) which unpack.

27 Current Work and Paper Content We are trying to get it ready for Maple 17. Avoid operations like indets(f,type) which unpack. Some external C libraries need support

28 Current Work and Paper Content We are trying to get it ready for Maple 17. Avoid operations like indets(f,type) which unpack. Some external C libraries need support The different ordering has exposed hidden bugs. The paper gives details on

29 Current Work and Paper Content We are trying to get it ready for Maple 17. Avoid operations like indets(f,type) which unpack. Some external C libraries need support The different ordering has exposed hidden bugs. The paper gives details on Why we chose a graded ordering instead of lex order.

30 Current Work and Paper Content We are trying to get it ready for Maple 17. Avoid operations like indets(f,type) which unpack. Some external C libraries need support The different ordering has exposed hidden bugs. The paper gives details on Why we chose a graded ordering instead of lex order. How we repack polynomials efficiently e.g. for coeff(f, x, k).

31 Current Work and Paper Content We are trying to get it ready for Maple 17. Avoid operations like indets(f,type) which unpack. Some external C libraries need support The different ordering has exposed hidden bugs. The paper gives details on Why we chose a graded ordering instead of lex order. How we repack polynomials efficiently e.g. for coeff(f, x, k). A determinant benchmark showing a factor of 50 speedup.

32 Current Work and Paper Content We are trying to get it ready for Maple 17. Avoid operations like indets(f,type) which unpack. Some external C libraries need support The different ordering has exposed hidden bugs. The paper gives details on Why we chose a graded ordering instead of lex order. How we repack polynomials efficiently e.g. for coeff(f, x, k). A determinant benchmark showing a factor of 50 speedup. Thank you for attending my talk.

POLY : A new polynomial data structure for Maple 17 that improves parallel speedup.

POLY : A new polynomial data structure for Maple 17 that improves parallel speedup. : A new polynomial data structure for Maple 7 that improves parallel speedup. Department of Mathematics, Simon Fraser University British Columbia, CANADA Parallel Computer Algebra Applications ACA 22,

More information

What s the best data structure for multivariate polynomials in a world of 64 bit multicore computers?

What s the best data structure for multivariate polynomials in a world of 64 bit multicore computers? What s the best data structure for multivariate polynomials in a world of 64 bit multicore computers? Michael Monagan Center for Experimental and Constructive Mathematics Simon Fraser University British

More information

POLY : A new polynomial data structure for Maple 17 that improves parallel speedup.

POLY : A new polynomial data structure for Maple 17 that improves parallel speedup. : A new polynomial data structure for Maple 17 that improves parallel speedup. Centre for Experimental and Constructive Mathematics Simon Fraser University. Maplesoft presentation, August 14th, 2012 This

More information

Sparse Polynomial Multiplication and Division in Maple 14

Sparse Polynomial Multiplication and Division in Maple 14 Sparse Polynomial Multiplication and Division in Maple 4 Michael Monagan and Roman Pearce Department of Mathematics, Simon Fraser University Burnaby B.C. V5A S6, Canada October 5, 9 Abstract We report

More information

Polynomial multiplication and division using heap.

Polynomial multiplication and division using heap. Polynomial multiplication and division using heap. Michael Monagan and Roman Pearce Department of Mathematics, Simon Fraser University. Abstract We report on new code for sparse multivariate polynomial

More information

Sparse Polynomial Division Using a Heap

Sparse Polynomial Division Using a Heap Sparse Polynomial Division Using a Heap Michael Monagan Department of Mathematics, Simon Fraser University Burnaby B.C. V5A 1S6, Canada Roman Pearce Department of Mathematics, Simon Fraser University Burnaby

More information

Sparse Polynomial Division Using a Heap

Sparse Polynomial Division Using a Heap Sparse Polynomial Division Using a Heap Michael Monagan Department of Mathematics, Simon Fraser University Burnaby B.C. V5A 1S6, Canada Roman Pearce Department of Mathematics, Simon Fraser University Burnaby

More information

Dense Arithmetic over Finite Fields with CUMODP

Dense Arithmetic over Finite Fields with CUMODP Dense Arithmetic over Finite Fields with CUMODP Sardar Anisul Haque 1 Xin Li 2 Farnam Mansouri 1 Marc Moreno Maza 1 Wei Pan 3 Ning Xie 1 1 University of Western Ontario, Canada 2 Universidad Carlos III,

More information

Anatomy of SINGULAR talk at p. 1

Anatomy of SINGULAR talk at p. 1 Anatomy of SINGULAR talk at MaGiX@LIX 2011- p. 1 Anatomy of SINGULAR talk at MaGiX@LIX 2011 - Hans Schönemann hannes@mathematik.uni-kl.de Department of Mathematics University of Kaiserslautern Anatomy

More information

Computing Characteristic Polynomials of Matrices of Structured Polynomials

Computing Characteristic Polynomials of Matrices of Structured Polynomials Computing Characteristic Polynomials of Matrices of Structured Polynomials Marshall Law and Michael Monagan Department of Mathematics Simon Fraser University Burnaby, British Columbia, Canada mylaw@sfu.ca

More information

Exact Arithmetic on a Computer

Exact Arithmetic on a Computer Exact Arithmetic on a Computer Symbolic Computation and Computer Algebra William J. Turner Department of Mathematics & Computer Science Wabash College Crawfordsville, IN 47933 Tuesday 21 September 2010

More information

Giac and GeoGebra: improved Gröbner basis computations

Giac and GeoGebra: improved Gröbner basis computations Giac and GeoGebra: improved Gröbner basis computations Z. Kovács, B. Parisse JKU Linz, University of Grenoble I November 25, 2013 Two parts talk 1 GeoGebra (Z. Kovács) 2 (B. Parisse) History of used CAS

More information

Unit 13: Polynomials and Exponents

Unit 13: Polynomials and Exponents Section 13.1: Polynomials Section 13.2: Operations on Polynomials Section 13.3: Properties of Exponents Section 13.4: Multiplication of Polynomials Section 13.5: Applications from Geometry Section 13.6:

More information

Parallel Sparse Polynomial Division Using Heaps

Parallel Sparse Polynomial Division Using Heaps Parallel Sparse Polynomial Division Using Heaps Michael Monagan Department of Mathematics Simon Fraser University Burnaby, B.C. V5A S6, CANADA. mmonagan@cecm.sfu.ca Roman Pearce Department of Mathematics

More information

Optimizing MPC for robust and scalable integer and floating-point arithmetic

Optimizing MPC for robust and scalable integer and floating-point arithmetic Optimizing MPC for robust and scalable integer and floating-point arithmetic Liisi Kerik * Peeter Laud * Jaak Randmets * * Cybernetica AS University of Tartu, Institute of Computer Science January 30,

More information

Polynomial one or more monomials added or subtracted. (i.e. : 5x or 6xy-3 or 6xy - 5x + 3 or

Polynomial one or more monomials added or subtracted. (i.e. : 5x or 6xy-3 or 6xy - 5x + 3 or Polynomials Necessary Terms for Success Welcome back! We will now tackle the world of polynomials. Before we get started with performing operations or using polynomials for applications, we will need some

More information

Towards High Performance Multivariate Factorization. Michael Monagan. This is joint work with Baris Tuncer.

Towards High Performance Multivariate Factorization. Michael Monagan. This is joint work with Baris Tuncer. Towards High Performance Multivariate Factorization Michael Monagan Center for Experimental and Constructive Mathematics Simon Fraser University British Columbia This is joint work with Baris Tuncer. The

More information

Algorithms and Their Complexity

Algorithms and Their Complexity CSCE 222 Discrete Structures for Computing David Kebo Houngninou Algorithms and Their Complexity Chapter 3 Algorithm An algorithm is a finite sequence of steps that solves a problem. Computational complexity

More information

Towards High Performance Multivariate Factorization. Michael Monagan. This is joint work with Baris Tuncer.

Towards High Performance Multivariate Factorization. Michael Monagan. This is joint work with Baris Tuncer. Towards High Performance Multivariate Factorization Michael Monagan Center for Experimental and Constructive Mathematics Simon Fraser University British Columbia This is joint work with Baris Tuncer. To

More information

WORKING WITH MULTIVARIATE POLYNOMIALS IN MAPLE

WORKING WITH MULTIVARIATE POLYNOMIALS IN MAPLE WORKING WITH MULTIVARIATE POLYNOMIALS IN MAPLE JEFFREY B. FARR AND ROMAN PEARCE Abstract. We comment on the implementation of various algorithms in multivariate polynomial theory. Specifically, we describe

More information

Toward High Performance Matrix Multiplication for Exact Computation

Toward High Performance Matrix Multiplication for Exact Computation Toward High Performance Matrix Multiplication for Exact Computation Pascal Giorgi Joint work with Romain Lebreton (U. Waterloo) Funded by the French ANR project HPAC Séminaire CASYS - LJK, April 2014 Motivations

More information

Lecture 11. Advanced Dividers

Lecture 11. Advanced Dividers Lecture 11 Advanced Dividers Required Reading Behrooz Parhami, Computer Arithmetic: Algorithms and Hardware Design Chapter 15 Variation in Dividers 15.3, Combinational and Array Dividers Chapter 16, Division

More information

Between Sparse and Dense Arithmetic

Between Sparse and Dense Arithmetic Between Sparse and Dense Arithmetic Daniel S. Roche Computer Science Department United States Naval Academy NARC Seminar November 28, 2012 The Problem People want to compute with really big numbers and

More information

Math Lecture 18 Notes

Math Lecture 18 Notes Math 1010 - Lecture 18 Notes Dylan Zwick Fall 2009 In our last lecture we talked about how we can add, subtract, and multiply polynomials, and we figured out that, basically, if you can add, subtract,

More information

Chapter 5: Exponents and Polynomials

Chapter 5: Exponents and Polynomials Chapter 5: Exponents and Polynomials 5.1 Multiplication with Exponents and Scientific Notation 5.2 Division with Exponents 5.3 Operations with Monomials 5.4 Addition and Subtraction of Polynomials 5.5

More information

Name: Chapter 7: Exponents and Polynomials

Name: Chapter 7: Exponents and Polynomials Name: Chapter 7: Exponents and Polynomials 7-1: Integer Exponents Objectives: Evaluate expressions containing zero and integer exponents. Simplify expressions containing zero and integer exponents. You

More information

16.41 NCPOLY: Non commutative polynomial ideals

16.41 NCPOLY: Non commutative polynomial ideals 644 CHAPTER 16. USER CONTRIBUTED PACKAGES 16.41 NCPOLY: Non commutative polynomial ideals This package allows the user to set up automatically a consistent environment for computing in an algebra where

More information

McBits: Fast code-based cryptography

McBits: Fast code-based cryptography McBits: Fast code-based cryptography Peter Schwabe Radboud University Nijmegen, The Netherlands Joint work with Daniel Bernstein, Tung Chou December 17, 2013 IMA International Conference on Cryptography

More information

QUADRATIC PROGRAMMING?

QUADRATIC PROGRAMMING? QUADRATIC PROGRAMMING? WILLIAM Y. SIT Department of Mathematics, The City College of The City University of New York, New York, NY 10031, USA E-mail: wyscc@cunyvm.cuny.edu This is a talk on how to program

More information

POLYNOMIAL EXPRESSIONS PART 1

POLYNOMIAL EXPRESSIONS PART 1 POLYNOMIAL EXPRESSIONS PART 1 A polynomial is an expression that is a sum of one or more terms. Each term consists of one or more variables multiplied by a coefficient. Coefficients can be negative, so

More information

Northwest High School s Algebra 1

Northwest High School s Algebra 1 Northwest High School s Algebra 1 Summer Review Packet 2015 DUE THE FIRST DAY OF SCHOOL Student Name This packet has been designed to help you review various mathematical topics that will be necessary

More information

Current Advances. Open Source Gröbner Basis Algorithms

Current Advances. Open Source Gröbner Basis Algorithms Current Advances in Open Source Gröbner Basis Algorithms My name is Christian Eder I am from the University of Kaiserslautern 3 years ago Christian Eder, Jean-Charles Faugère A survey on signature-based

More information

Lesson 3: Polynomials and Exponents, Part 1

Lesson 3: Polynomials and Exponents, Part 1 Lesson 2: Introduction to Variables Assessment Lesson 3: Polynomials and Exponents, Part 1 When working with algebraic expressions, variables raised to a power play a major role. In this lesson, we look

More information

An Efficient Evolutionary Algorithm for Solving Incrementally Structured Problems

An Efficient Evolutionary Algorithm for Solving Incrementally Structured Problems An Efficient Evolutionary Algorithm for Solving Incrementally Structured Problems Jason Ansel Maciej Pacula Saman Amarasinghe Una-May O Reilly MIT - CSAIL July 14, 2011 Jason Ansel (MIT) PetaBricks July

More information

Unit 2: Polynomials Guided Notes

Unit 2: Polynomials Guided Notes Unit 2: Polynomials Guided Notes Name Period **If found, please return to Mrs. Brandley s room, M-8.** 1 Self-Assessment The following are the concepts you should know by the end of Unit 1. Periodically

More information

x 9 or x > 10 Name: Class: Date: 1 How many natural numbers are between 1.5 and 4.5 on the number line?

x 9 or x > 10 Name: Class: Date: 1 How many natural numbers are between 1.5 and 4.5 on the number line? 1 How many natural numbers are between 1.5 and 4.5 on the number line? 2 How many composite numbers are between 7 and 13 on the number line? 3 How many prime numbers are between 7 and 20 on the number

More information

Computer Algebra and Computer Algebra Systems L algèbre computationnelle et systèmes d algèbre computationnelle (Org: Michael Monagan (SFU))

Computer Algebra and Computer Algebra Systems L algèbre computationnelle et systèmes d algèbre computationnelle (Org: Michael Monagan (SFU)) Computer Algebra and Computer Algebra Systems L algèbre computationnelle et systèmes d algèbre computationnelle (Org: Michael Monagan (SFU)) OLEG GOLUBITSKY, Ontario Research Centre for Computer Algebra,

More information

Short Division of Long Integers. (joint work with David Harvey)

Short Division of Long Integers. (joint work with David Harvey) Short Division of Long Integers (joint work with David Harvey) Paul Zimmermann October 6, 2011 The problem to be solved Divide efficiently a p-bit floating-point number by another p-bit f-p number in the

More information

Partial Differential Equations

Partial Differential Equations Partial Differential Equations Partial Derivatives with diff Partial derivatives of an expression can be calculated using diff command. The structure of diff is diff(a, x1, x,..., xn) diff computes the

More information

Chapter 1 Divide and Conquer Polynomial Multiplication Algorithm Theory WS 2015/16 Fabian Kuhn

Chapter 1 Divide and Conquer Polynomial Multiplication Algorithm Theory WS 2015/16 Fabian Kuhn Chapter 1 Divide and Conquer Polynomial Multiplication Algorithm Theory WS 2015/16 Fabian Kuhn Formulation of the D&C principle Divide-and-conquer method for solving a problem instance of size n: 1. Divide

More information

Chapter 1 Divide and Conquer Algorithm Theory WS 2016/17 Fabian Kuhn

Chapter 1 Divide and Conquer Algorithm Theory WS 2016/17 Fabian Kuhn Chapter 1 Divide and Conquer Algorithm Theory WS 2016/17 Fabian Kuhn Formulation of the D&C principle Divide-and-conquer method for solving a problem instance of size n: 1. Divide n c: Solve the problem

More information

Double Integrals using Riemann Sums

Double Integrals using Riemann Sums Double Integrals using Riemann Sums Introduction and Goals: The goal of this lab is to become more familiar with Riemann sums both as a definition for the double integral and as an approximation method

More information

Permutations and Polynomials Sarah Kitchen February 7, 2006

Permutations and Polynomials Sarah Kitchen February 7, 2006 Permutations and Polynomials Sarah Kitchen February 7, 2006 Suppose you are given the equations x + y + z = a and 1 x + 1 y + 1 z = 1 a, and are asked to prove that one of x,y, and z is equal to a. We

More information

Grade 9 Mathematics Unit #2 Patterns & Relations Sub-Unit #1 Polynomials

Grade 9 Mathematics Unit #2 Patterns & Relations Sub-Unit #1 Polynomials Grade 9 Mathematics Unit #2 Patterns & Relations Sub-Unit #1 Polynomials Lesson Topic I Can 1 Definitions Define Polynomials Identify Polynomials Identify different parts of a polynomial Identify monomials,

More information

In-place Arithmetic for Univariate Polynomials over an Algebraic Number Field

In-place Arithmetic for Univariate Polynomials over an Algebraic Number Field In-place Arithmetic for Univariate Polynomials over an Algebraic Number Field Seyed Mohammad Mahdi Javadi 1, Michael Monagan 2 1 School of Computing Science, Simon Fraser University, Burnaby, B.C., V5A

More information

Advanced code-based cryptography. Daniel J. Bernstein University of Illinois at Chicago & Technische Universiteit Eindhoven

Advanced code-based cryptography. Daniel J. Bernstein University of Illinois at Chicago & Technische Universiteit Eindhoven Advanced code-based cryptography Daniel J. Bernstein University of Illinois at Chicago & Technische Universiteit Eindhoven Lattice-basis reduction Define L = (0; 24)Z + (1; 17)Z = {(b; 24a + 17b) : a;

More information

Solving Third Order Linear Differential Equations in Terms of Second Order Equations

Solving Third Order Linear Differential Equations in Terms of Second Order Equations Solving Third Order Linear Differential Equations in Terms of Second Order Equations Mark van Hoeij (Florida State University) ISSAC 2007 Talk presented by: George Labahn (University of Waterloo) Notations.

More information

Lesson 2: Introduction to Variables

Lesson 2: Introduction to Variables Lesson 2: Introduction to Variables Topics and Objectives: Evaluating Algebraic Expressions Some Vocabulary o Variable o Term o Coefficient o Constant o Factor Like Terms o Identifying Like Terms o Combining

More information

A field trips costs $800 for the charter bus plus $10 per student for x students. The cost per student is represented by: 10x x

A field trips costs $800 for the charter bus plus $10 per student for x students. The cost per student is represented by: 10x x LEARNING STRATEGIES: Activate Prior Knowledge, Shared Reading, Think/Pair/Share, Note Taking, Group Presentation, Interactive Word Wall A field trips costs $800 for the charter bus plus $10 per student

More information

Northwest High School s Algebra 1. Summer Review Packet

Northwest High School s Algebra 1. Summer Review Packet Northwest High School s Algebra 1 Summer Review Packet This packet is optional! It will NOT be collected for a grade next school year! This packet has been designed to help you review various mathematical

More information

Cache Complexity and Multicore Implementation for Univariate Real Root Isolation

Cache Complexity and Multicore Implementation for Univariate Real Root Isolation Cache Complexity and Multicore Implementation for Univariate Real Root Isolation Changbo Chen, Marc Moreno Maza and Yuzhen Xie University of Western Ontario, London, Ontario, Canada E-mail: cchen5,moreno,yxie@csd.uwo.ca

More information

Groebner Bases, Toric Ideals and Integer Programming: An Application to Economics. Tan Tran Junior Major-Economics& Mathematics

Groebner Bases, Toric Ideals and Integer Programming: An Application to Economics. Tan Tran Junior Major-Economics& Mathematics Groebner Bases, Toric Ideals and Integer Programming: An Application to Economics Tan Tran Junior Major-Economics& Mathematics History Groebner bases were developed by Buchberger in 1965, who later named

More information

Experience in Factoring Large Integers Using Quadratic Sieve

Experience in Factoring Large Integers Using Quadratic Sieve Experience in Factoring Large Integers Using Quadratic Sieve D. J. Guan Department of Computer Science, National Sun Yat-Sen University, Kaohsiung, Taiwan 80424 guan@cse.nsysu.edu.tw April 19, 2005 Abstract

More information

9. Datapath Design. Jacob Abraham. Department of Electrical and Computer Engineering The University of Texas at Austin VLSI Design Fall 2017

9. Datapath Design. Jacob Abraham. Department of Electrical and Computer Engineering The University of Texas at Austin VLSI Design Fall 2017 9. Datapath Design Jacob Abraham Department of Electrical and Computer Engineering The University of Texas at Austin VLSI Design Fall 2017 October 2, 2017 ECE Department, University of Texas at Austin

More information

CHAPTER 1 POLYNOMIALS

CHAPTER 1 POLYNOMIALS 1 CHAPTER 1 POLYNOMIALS 1.1 Removing Nested Symbols of Grouping Simplify. 1. 4x + 3( x ) + 4( x + 1). ( ) 3x + 4 5 x 3 + x 3. 3 5( y 4) + 6 y ( y + 3) 4. 3 n ( n + 5) 4 ( n + 8) 5. ( x + 5) x + 3( x 6)

More information

CSE 200 Lecture Notes Turing machine vs. RAM machine vs. circuits

CSE 200 Lecture Notes Turing machine vs. RAM machine vs. circuits CSE 200 Lecture Notes Turing machine vs. RAM machine vs. circuits Chris Calabro January 13, 2016 1 RAM model There are many possible, roughly equivalent RAM models. Below we will define one in the fashion

More information

Accuplacer Review Workshop. Elementary Algebra Part II. Week Three. Includes internet links to instructional videos for additional resources:

Accuplacer Review Workshop. Elementary Algebra Part II. Week Three. Includes internet links to instructional videos for additional resources: Accuplacer Review Workshop Elementary Algebra Part II Week Three Includes internet links to instructional videos for additional resources: http://www.mathispower4u.com (Arithmetic Video Library) http://www.purplemath.com

More information

Unit 2: Polynomials Guided Notes

Unit 2: Polynomials Guided Notes Unit 2: Polynomials Guided Notes Name Period **If found, please return to Mrs. Brandley s room, M 8.** Self Assessment The following are the concepts you should know by the end of Unit 1. Periodically

More information

Multiplication of polynomials

Multiplication of polynomials Multiplication of polynomials M. Gastineau IMCCE - Observatoire de Paris - CNRS UMR828 77, avenue Denfert Rochereau 7514 PARIS FRANCE gastineau@imcce.fr Advanced School on Specific Algebraic Manipulators,

More information

Solving Sparse Rational Linear Systems. Pascal Giorgi. University of Waterloo (Canada) / University of Perpignan (France) joint work with

Solving Sparse Rational Linear Systems. Pascal Giorgi. University of Waterloo (Canada) / University of Perpignan (France) joint work with Solving Sparse Rational Linear Systems Pascal Giorgi University of Waterloo (Canada) / University of Perpignan (France) joint work with A. Storjohann, M. Giesbrecht (University of Waterloo), W. Eberly

More information

{ independent variable some property or restriction about independent variable } where the vertical line is read such that.

{ independent variable some property or restriction about independent variable } where the vertical line is read such that. Page 1 of 5 Introduction to Review Materials One key to Algebra success is identifying the type of work necessary to answer a specific question. First you need to identify whether you are dealing with

More information

Continued fractions and number systems: applications to correctly-rounded implementations of elementary functions and modular arithmetic.

Continued fractions and number systems: applications to correctly-rounded implementations of elementary functions and modular arithmetic. Continued fractions and number systems: applications to correctly-rounded implementations of elementary functions and modular arithmetic. Mourad Gouicem PEQUAN Team, LIP6/UPMC Nancy, France May 28 th 2013

More information

Hardware/Software Co-Design

Hardware/Software Co-Design 1 / 45 Hardware/Software Co-Design Parallel Patterns III Miaoqing Huang University of Arkansas Fall 2011 2 / 45 Outline 1 2 3 / 45 Outline 1 2 What is segmented scan? Scan + Barriers/Flags associated with

More information

Logic BIST. Sungho Kang Yonsei University

Logic BIST. Sungho Kang Yonsei University Logic BIST Sungho Kang Yonsei University Outline Introduction Basics Issues Weighted Random Pattern Generation BIST Architectures Deterministic BIST Conclusion 2 Built In Self Test Test/ Normal Input Pattern

More information

Exponents and Polynomials. (5) Page 459 #15 43 Second Column; Page 466 #6 30 Fourth Column

Exponents and Polynomials. (5) Page 459 #15 43 Second Column; Page 466 #6 30 Fourth Column Algebra Name: Date: Period: # Exponents and Polynomials (1) Page 453 #22 59 Left (2) Page 453 #25 62 Right (3) Page 459 #5 29 Odd (4) Page 459 #14 42 First Column; Page 466 #3 27 First Column (5) Page

More information

Quantum Computer Simulation Using CUDA (Quantum Fourier Transform Algorithm)

Quantum Computer Simulation Using CUDA (Quantum Fourier Transform Algorithm) Quantum Computer Simulation Using CUDA (Quantum Fourier Transform Algorithm) Alexander Smith & Khashayar Khavari Department of Electrical and Computer Engineering University of Toronto April 15, 2009 Alexander

More information

The Kolakoski Sequence and Some Fast Algorithms, Part 2

The Kolakoski Sequence and Some Fast Algorithms, Part 2 The Kolakoski Sequence and Some Fast Algorithms, Part 2 Richard P. Brent Australian National University and University of Newcastle 1 October 2017 Joint work with Judy-anne Osborn Copyright c 2017, R.

More information

Integer programming for the MAP problem in Markov random fields

Integer programming for the MAP problem in Markov random fields Integer programming for the MAP problem in Markov random fields James Cussens, University of York HIIT, 2015-04-17 James Cussens, University of York MIP for MRF MAP HIIT, 2015-04-17 1 / 21 Markov random

More information

EE260: Digital Design, Spring n Digital Computers. n Number Systems. n Representations. n Conversions. n Arithmetic Operations.

EE260: Digital Design, Spring n Digital Computers. n Number Systems. n Representations. n Conversions. n Arithmetic Operations. EE 260: Introduction to Digital Design Number Systems Yao Zheng Department of Electrical Engineering University of Hawaiʻi at Mānoa Overview n Digital Computers n Number Systems n Representations n Conversions

More information

Final Exam, Linear Algebra, Fall, 2003, W. Stephen Wilson

Final Exam, Linear Algebra, Fall, 2003, W. Stephen Wilson Final Exam, Linear Algebra, Fall, 2003, W. Stephen Wilson Name: TA Name and section: NO CALCULATORS, SHOW ALL WORK, NO OTHER PAPERS ON DESK. There is very little actual work to be done on this exam if

More information

Faster arithmetic for number-theoretic transforms

Faster arithmetic for number-theoretic transforms University of New South Wales 7th October 2011, Macquarie University Plan for talk 1. Review number-theoretic transform (NTT) 2. Discuss typical butterfly algorithm 3. Improvements to butterfly algorithm

More information

Understanding and Implementing F5

Understanding and Implementing F5 Understanding and Implementing F5 John Perry john.perry@usm.edu University of Southern Mississippi Understanding and Implementing F5 p.1 Overview Understanding F5 Description Criteria Proofs Implementing

More information

CSC2515 Assignment #2

CSC2515 Assignment #2 CSC2515 Assignment #2 Due: Nov.4, 2pm at the START of class Worth: 18% Late assignments not accepted. 1 Pseudo-Bayesian Linear Regression (3%) In this question you will dabble in Bayesian statistics and

More information

Northwest High School s Algebra 1

Northwest High School s Algebra 1 Northwest High School s Algebra 1 Summer Review Packet 2011 DUE WEDNESDAY, SEPTEMBER 2, 2011 Student Name This packet has been designed to help you review various mathematical topics that will be necessary

More information

Unit 2: Polynomials Guided Notes

Unit 2: Polynomials Guided Notes Unit 2: Polynomials Guided Notes Name Period **If found, please return to Mrs. Brandley s room, M 8.** Self Assessment The following are the concepts you should know by the end of Unit 1. Periodically

More information

GPU acceleration of Newton s method for large systems of polynomial equations in double double and quad double arithmetic

GPU acceleration of Newton s method for large systems of polynomial equations in double double and quad double arithmetic GPU acceleration of Newton s method for large systems of polynomial equations in double double and quad double arithmetic Jan Verschelde joint work with Xiangcheng Yu University of Illinois at Chicago

More information

Decoding linear codes via systems solving: complexity issues

Decoding linear codes via systems solving: complexity issues Decoding linear codes via systems solving: complexity issues Stanislav Bulygin (joint work with Ruud Pellikaan) University of Kaiserslautern June 19, 2008 Outline Outline of the talk Introduction: codes

More information

CS173 Running Time and Big-O. Tandy Warnow

CS173 Running Time and Big-O. Tandy Warnow CS173 Running Time and Big-O Tandy Warnow CS 173 Running Times and Big-O analysis Tandy Warnow Today s material We will cover: Running time analysis Review of running time analysis of Bubblesort Review

More information

Calculating Frobenius Numbers with Boolean Toeplitz Matrix Multiplication

Calculating Frobenius Numbers with Boolean Toeplitz Matrix Multiplication Calculating Frobenius Numbers with Boolean Toeplitz Matrix Multiplication For Dr. Cull, CS 523, March 17, 2009 Christopher Bogart bogart@eecs.oregonstate.edu ABSTRACT I consider a class of algorithms that

More information

A parallel implementation for polynomial multiplication modulo a prime.

A parallel implementation for polynomial multiplication modulo a prime. A parallel implementation for polynomial multiplication modulo a prime. ABSTRACT Marshall Law Department of Mathematics Simon Fraser University Burnaby, B.C. Canada. mylaw@sfu.ca. We present a parallel

More information

Discrete Mathematics and Probability Theory Summer 2014 James Cook Note 5

Discrete Mathematics and Probability Theory Summer 2014 James Cook Note 5 CS 70 Discrete Mathematics and Probability Theory Summer 2014 James Cook Note 5 Modular Arithmetic In several settings, such as error-correcting codes and cryptography, we sometimes wish to work over a

More information

Optimisation and Operations Research

Optimisation and Operations Research Optimisation and Operations Research Lecture 12: Algorithm Analysis and Complexity Matthew Roughan http://www.maths.adelaide.edu.au/matthew.roughan/ Lecture_notes/OORII/

More information

Parallel Integer Polynomial Multiplication Changbo Chen, Svyatoslav Parallel Integer Covanov, Polynomial FarnamMultiplication

Parallel Integer Polynomial Multiplication Changbo Chen, Svyatoslav Parallel Integer Covanov, Polynomial FarnamMultiplication Parallel Integer Polynomial Multiplication Parallel Integer Polynomial Multiplication Changbo Chen 1 Svyatoslav Covanov 2,3 Farnam Mansouri 2 Marc Moreno Maza 2 Ning Xie 2 Yuzhen Xie 2 1 Chinese Academy

More information

Math 101 Study Session Spring 2016 Test 4 Chapter 10, Chapter 11 Chapter 12 Section 1, and Chapter 12 Section 2

Math 101 Study Session Spring 2016 Test 4 Chapter 10, Chapter 11 Chapter 12 Section 1, and Chapter 12 Section 2 Math 101 Study Session Spring 2016 Test 4 Chapter 10, Chapter 11 Chapter 12 Section 1, and Chapter 12 Section 2 April 11, 2016 Chapter 10 Section 1: Addition and Subtraction of Polynomials A monomial is

More information

THE DIVISION THEOREM IN Z AND R[T ]

THE DIVISION THEOREM IN Z AND R[T ] THE DIVISION THEOREM IN Z AND R[T ] KEITH CONRAD 1. Introduction In both Z and R[T ], we can carry out a process of division with remainder. Theorem 1.1. For any integers a and b, with b nonzero, there

More information

Efficient algorithms for symmetric tensor contractions

Efficient algorithms for symmetric tensor contractions Efficient algorithms for symmetric tensor contractions Edgar Solomonik 1 Department of EECS, UC Berkeley Oct 22, 2013 1 / 42 Edgar Solomonik Symmetric tensor contractions 1/ 42 Motivation The goal is to

More information

Classroom Tips and Techniques: Series Expansions Robert J. Lopez Emeritus Professor of Mathematics and Maple Fellow Maplesoft

Classroom Tips and Techniques: Series Expansions Robert J. Lopez Emeritus Professor of Mathematics and Maple Fellow Maplesoft Introduction Classroom Tips and Techniques: Series Expansions Robert J. Lopez Emeritus Professor of Mathematics and Maple Fellow Maplesoft Maple has the ability to provide various series expansions and

More information

MATH 115, SUMMER 2012 LECTURE 12

MATH 115, SUMMER 2012 LECTURE 12 MATH 115, SUMMER 2012 LECTURE 12 JAMES MCIVOR - last time - we used hensel s lemma to go from roots of polynomial equations mod p to roots mod p 2, mod p 3, etc. - from there we can use CRT to construct

More information

Fastfood Approximating Kernel Expansions in Loglinear Time. Quoc Le, Tamas Sarlos, and Alex Smola Presenter: Shuai Zheng (Kyle)

Fastfood Approximating Kernel Expansions in Loglinear Time. Quoc Le, Tamas Sarlos, and Alex Smola Presenter: Shuai Zheng (Kyle) Fastfood Approximating Kernel Expansions in Loglinear Time Quoc Le, Tamas Sarlos, and Alex Smola Presenter: Shuai Zheng (Kyle) Large Scale Problem: ImageNet Challenge Large scale data Number of training

More information

Parallel Polynomial Evaluation

Parallel Polynomial Evaluation Parallel Polynomial Evaluation Jan Verschelde joint work with Genady Yoffe University of Illinois at Chicago Department of Mathematics, Statistics, and Computer Science http://www.math.uic.edu/ jan jan@math.uic.edu

More information

Simplifying Rational Expressions and Functions

Simplifying Rational Expressions and Functions Department of Mathematics Grossmont College October 15, 2012 Recall: The Number Types Definition The set of whole numbers, ={0, 1, 2, 3, 4,...} is the set of natural numbers unioned with zero, written

More information

Rewriting Polynomials

Rewriting Polynomials Rewriting Polynomials 1 Roots and Eigenvalues the companion matrix of a polynomial the ideal membership problem 2 Automatic Geometric Theorem Proving the circle theorem of Appolonius 3 The Division Algorithm

More information

Thanks to: University of Illinois at Chicago NSF DMS Alfred P. Sloan Foundation

Thanks to: University of Illinois at Chicago NSF DMS Alfred P. Sloan Foundation Building circuits for integer factorization D. J. Bernstein Thanks to: University of Illinois at Chicago NSF DMS 0140542 Alfred P. Sloan Foundation I want to work for NSA as an independent contractor.

More information

Growth functions of braid monoids and generation of random braids

Growth functions of braid monoids and generation of random braids Growth functions of braid monoids and generation of random braids Universidad de Sevilla Joint with Volker Gebhardt Introduction Random braids Most authors working in braid-cryptography or computational

More information

A polynomial is an algebraic expression that has many terms connected by only the operations of +, -, and of variables.

A polynomial is an algebraic expression that has many terms connected by only the operations of +, -, and of variables. A polynomial is an algebraic expression that has many terms connected by only the operations of +, -, and of variables. 2x + 5 5 x 7x +19 5x 2-7x + 19 x 2 1 x + 2 2x 3 y 4 z x + 2 2x The terms are the

More information

Scalable and Power-Efficient Data Mining Kernels

Scalable and Power-Efficient Data Mining Kernels Scalable and Power-Efficient Data Mining Kernels Alok Choudhary, John G. Searle Professor Dept. of Electrical Engineering and Computer Science and Professor, Kellogg School of Management Director of the

More information

Binary Decision Diagrams and Symbolic Model Checking

Binary Decision Diagrams and Symbolic Model Checking Binary Decision Diagrams and Symbolic Model Checking Randy Bryant Ed Clarke Ken McMillan Allen Emerson CMU CMU Cadence U Texas http://www.cs.cmu.edu/~bryant Binary Decision Diagrams Restricted Form of

More information

The tangent FFT. D. J. Bernstein University of Illinois at Chicago

The tangent FFT. D. J. Bernstein University of Illinois at Chicago The tangent FFT D. J. Bernstein University of Illinois at Chicago Advertisement SPEED: Software Performance Enhancement for Encryption and Decryption A workshop on software speeds for secret-key cryptography

More information

SECTION 1.4 PolyNomiAls feet. Figure 1. A = s 2 = (2x) 2 = 4x 2 A = 2 (2x) 3 _ 2 = 1 _ = 3 _. A = lw = x 1. = x

SECTION 1.4 PolyNomiAls feet. Figure 1. A = s 2 = (2x) 2 = 4x 2 A = 2 (2x) 3 _ 2 = 1 _ = 3 _. A = lw = x 1. = x SECTION 1.4 PolyNomiAls 4 1 learning ObjeCTIveS In this section, you will: Identify the degree and leading coefficient of polynomials. Add and subtract polynomials. Multiply polynomials. Use FOIL to multiply

More information

Monday Tuesday Wednesday Thursday Friday 1 2. Pre-Planning. Formative 1 Baseline Window

Monday Tuesday Wednesday Thursday Friday 1 2. Pre-Planning. Formative 1 Baseline Window August 2013 1 2 5 6 7 8 9 12 13 14 15 16 Pre-Planning 19 20 21 22 23 Formative 1 Baseline Window Unit 1 Core Instructional Benchmarks: MA.912.A.1.1: Know equivalent forms of real numbers, MA.912.A.1.4:

More information