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

Size: px
Start display at page:

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

Transcription

1 : 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, Sofia, Bulgaria June 25-28, 22 This is joint work with Roman Pearce.

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

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

4 Talk Outline Polynomial data structures in Maple and Singular are slow. Our data structure. Johnson s polynomial multiplication using a heap from 973. Our parallelization of it. A multiplication and factorization benchmark in Maple 6. Why is parallel speedup poor? Solution and new timings.

5 Talk Outline Polynomial data structures in Maple and Singular are slow. Our data structure. Johnson s polynomial multiplication using a heap from 973. Our parallelization of it. A multiplication and factorization benchmark in Maple 6. Why is parallel speedup poor? Solution and new timings. Notes on integration into Maple kernel for Maple 7. Conclusion

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

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

8 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

9 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. Memory access is sequential. Fewer objects to clutter tables. Monomial > and cost one instruction.

10 Multiplication using a binary heap. Let f = f + f f n and g = g + g g m. Compute f g = f g + f 2 g + + f n g. Johnson, 974, does a simultaneous n-ary merge using a heap.

11 Multiplication using a binary heap. Let f = f + f f n and g = g + g g m. Compute f g = f g + f 2 g + + f n g. Johnson, 974, does a simultaneous n-ary merge using a heap. add f 2 g f g +... f g2 Heap f x f 2 x f 3 x fn x ( g + g 2 + g g m) ( g + g 2 + g g m) ( g + g 2 + g g m). ( g + g 2 + g g m ) Heap n = O(nm log n) comparisons. Can pick n m. Algorithm outputs f g in descending order.

12 Target Parallel Architecture Intel Core i7, quad core, shared memory.

13 Parallel Multiplication Algorithm Global Heap Local Heaps 2 3 f g One heap per core. Add (merge) results in global heap. 4

14 Parallel Multiplication Algorithm Global Heap Local Heaps 2 3 f g One heap per core. Add (merge) results in global heap. 4 Threads write to a finite circular buffer. N r w r mod N w mod N Threads try to acquire global heap as buffer fills up to balance load.

15 Old multiplication and factorization benchmark. Intel Core i GHz (4 cores) Times in seconds Maple Maple 6 Magma Singular Mathem multiply 3 core 4 cores atica 7 p := f (f + ) p 3 := f 3(f 3 + ) p 4 := f 4(f 4 + ) factor Hensel lifting is mostly polynomial multiplication!! p 234 terms p terms p terms f = ( + x + y + z) 2 + f 3 = ( + x + y + z) 3 + f 4 = ( + x + y + z + t) terms 5456 terms 626 terms The Maple timings are for expand(f*(f+)) and factor(p).

16 Maple Integration To expand sums f g Maple calls expand/bigprod(f,g) if #f > 2 and #g > 2 and #f #g > 5. 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)+; A := sdmp:-import(a, grlex(op(x)), pack=k); B := sdmp:-import(b, grlex(op(x)), pack=k);...

17 Almost everything is slow. PROD 7 x y 3 z PROD 5 y 3 z 2 PROD 7 x y 2 z PROD 3 x 3 SUM Many operations cost O(nt). [ n = #variables, t = #terms ] E.g. indets(f); degree(f,x); coeff(f,x,i); Some operations add sorting cost of O(t.25 ). E.g. diff(f,x); expand(x*f); taylor(f,x,d);

18 Make the default representation in Maple. If we can pack all monomials into one word use SEQ 4 x y z O() 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.

19 Almost everything is fast. command Maple 6 Maple 7 speedup notes coeff(f, x, 2) 2.4 s.5 s 42x terms easy to locate coeffs(f, x).979 s.9 s 8x reorder exponents and radix frontend(g, [f ]) 3.73 s. s O(n) looks at variables only degree(f, x).73 s.3 s 24x stop early using monomial de diff(f, x).956 s.3 s 3x terms remain sorted eval(f, x = 6) 3.76 s.75 s 2x use Horner form recursively expand(2 x f ).9 s.66 s 8x terms remain sorted indets(f ).6 s. s O() first word in dag subs(x = y, f ).6 s.76 s 5x combine exponents, sort, me taylor(f, x, 5).668 s.55 s 2x get coefficients in one pass type(f, polynom).29 s. s O(n) type check variables only For f with n = 3 variables and t = 6 terms created by f := expand(mul(randpoly(v,degree=,dense),v=[x,y,z])):

20 New multiplication and factorization benchmark. Intel Core i GHz (4 cores) Times in seconds Maple 6 Maple 7 Magma Singular multiply core 4 cores core 4 cores p := f (f + ) p 3 := f 3(f 3 + ) p 4 := f 4(f 4 + ) factor Hensel lifting is mostly polynomial multiplication. p 234 terms p terms p terms f = ( + x + y + z) 2 + f 3 = ( + x + y + z) 3 + f 4 = ( + x + y + z + t) terms 5456 terms 626 terms More benchmarks and details available in preprint.

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

22 Notes on the new integration for Maple 7. Let f R[x, x 2,..., x n ] with deg xi f >. We store f using if (i) f has integer coefficients (ii) d > and t > where d = deg f and t = #terms. (iii) we can pack all monomials of f into one 64 bit word, i.e. if d < 2 b where b = 64 n+ Otherwise we use the old sum-of-products representation.

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

24 Conclusion We will not get good parallel speedup using these PROD 7 x y 3 z PROD 5 y 3 z 2 PROD 7 x y 2 z PROD 3 x 3 SUM x y z Thank you for attending my talk.

POLY : A new polynomial data structure for Maple.

POLY : A new polynomial data structure for Maple. : 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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Lesson 3 Algebraic expression: - the result obtained by applying operations (+, -,, ) to a collection of numbers and/or variables o

Lesson 3 Algebraic expression: - the result obtained by applying operations (+, -,, ) to a collection of numbers and/or variables o Lesson 3 Algebraic expression: - the result obtained by applying operations (+, -,, ) to a collection of numbers and/or variables o o ( 1)(9) 3 ( 1) 3 9 1 Evaluate the second expression at the left, if

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

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

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

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

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

Teaching Commutative Algebra and Algebraic Geometry. Geometry using Computer Algebra Systems

Teaching Commutative Algebra and Algebraic Geometry. Geometry using Computer Algebra Systems Teaching Commutative Algebra and Algebraic Geometry using Computer Algebra Systems Department of Mathematics, Simon Fraser University British Columbia, CANADA Computer Algebra in Education ACA 2012, Sofia,

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

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

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

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

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

Grade 11/12 Math Circles Fall Nov. 5 Recurrences, Part 2

Grade 11/12 Math Circles Fall Nov. 5 Recurrences, Part 2 1 Faculty of Mathematics Waterloo, Ontario Centre for Education in Mathematics and Computing Grade 11/12 Math Circles Fall 2014 - Nov. 5 Recurrences, Part 2 Running time of algorithms In computer science,

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

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

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

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

Continuing discussion of CRC s, especially looking at two-bit errors

Continuing discussion of CRC s, especially looking at two-bit errors Continuing discussion of CRC s, especially looking at two-bit errors The definition of primitive binary polynomials Brute force checking for primitivity A theorem giving a better test for primitivity Fast

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

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

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

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

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

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

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

Error Correction Review

Error Correction Review Error Correction Review A single overall parity-check equation detects single errors. Hamming codes used m equations to correct one error in 2 m 1 bits. We can use nonbinary equations if we create symbols

More information

Hybrid CPU/GPU Acceleration of Detection of 2-SNP Epistatic Interactions in GWAS

Hybrid CPU/GPU Acceleration of Detection of 2-SNP Epistatic Interactions in GWAS Hybrid CPU/GPU Acceleration of Detection of 2-SNP Epistatic Interactions in GWAS Jorge González-Domínguez*, Bertil Schmidt*, Jan C. Kässens**, Lars Wienbrandt** *Parallel and Distributed Architectures

More information

review To find the coefficient of all the terms in 15ab + 60bc 17ca: Coefficient of ab = 15 Coefficient of bc = 60 Coefficient of ca = -17

review To find the coefficient of all the terms in 15ab + 60bc 17ca: Coefficient of ab = 15 Coefficient of bc = 60 Coefficient of ca = -17 1. Revision Recall basic terms of algebraic expressions like Variable, Constant, Term, Coefficient, Polynomial etc. The coefficients of the terms in 4x 2 5xy + 6y 2 are Coefficient of 4x 2 is 4 Coefficient

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

A Blackbox Polynomial System Solver on Parallel Shared Memory Computers

A Blackbox Polynomial System Solver on Parallel Shared Memory Computers A Blackbox Polynomial System Solver on Parallel Shared Memory Computers Jan Verschelde University of Illinois at Chicago Department of Mathematics, Statistics, and Computer Science The 20th Workshop on

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

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

Highly-scalable branch and bound for maximum monomial agreement

Highly-scalable branch and bound for maximum monomial agreement Highly-scalable branch and bound for maximum monomial agreement Jonathan Eckstein (Rutgers) William Hart Cynthia A. Phillips Sandia National Laboratories Sandia National Laboratories is a multi-program

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

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

part 2: detecting smoothness part 3: the number-field sieve

part 2: detecting smoothness part 3: the number-field sieve Integer factorization, part 1: the Q sieve Integer factorization, part 2: detecting smoothness Integer factorization, part 3: the number-field sieve D. J. Bernstein Problem: Factor 611. The Q sieve forms

More information

Welcome to Math Video Lessons. Stanley Ocken. Department of Mathematics The City College of New York Fall 2013

Welcome to Math Video Lessons. Stanley Ocken. Department of Mathematics The City College of New York Fall 2013 Welcome to Math 19500 Video Lessons Prof. Department of Mathematics The City College of New York Fall 2013 An important feature of the following Beamer slide presentations is that you, the reader, move

More information

Elliptic Curve Discrete Logarithm Problem

Elliptic Curve Discrete Logarithm Problem Elliptic Curve Discrete Logarithm Problem Vanessa VITSE Université de Versailles Saint-Quentin, Laboratoire PRISM October 19, 2009 Vanessa VITSE (UVSQ) Elliptic Curve Discrete Logarithm Problem October

More information

A-2. Polynomials and Factoring. Section A-2 1

A-2. Polynomials and Factoring. Section A-2 1 A- Polynomials and Factoring Section A- 1 What you ll learn about Adding, Subtracting, and Multiplying Polynomials Special Products Factoring Polynomials Using Special Products Factoring Trinomials Factoring

More information

Algebra. Practice Pack

Algebra. Practice Pack Algebra Practice Pack WALCH PUBLISHING Table of Contents Unit 1: Algebra Basics Practice 1 What Are Negative and Positive Numbers?... 1 Practice 2 Larger and Smaller Numbers................ 2 Practice

More information

Lecture 8: ES 102 Functions, Searching and Sorting

Lecture 8: ES 102 Functions, Searching and Sorting Lecture 8: ES 102 Functions, Searching and Sorting Introduction to Computing IIT Gandhinagar, India Oct 9th, 2013 Shivakumar,Bireswar (IIT Gandhinagar) Lecture 7 Oct 9th, 2013 1 / 16 Revising Functions

More information

Module 1: Analyzing the Efficiency of Algorithms

Module 1: Analyzing the Efficiency of Algorithms Module 1: Analyzing the Efficiency of Algorithms Dr. Natarajan Meghanathan Professor of Computer Science Jackson State University Jackson, MS 39217 E-mail: natarajan.meghanathan@jsums.edu What is an Algorithm?

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

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

Optimizing and Parallelizing Brown s Modular GCD Algorithm

Optimizing and Parallelizing Brown s Modular GCD Algorithm Optimizing and Parallelizing Brown s Modular GCD Algorithm Matthew Gibson, Michael Monagan October 7, 2014 1 Introduction Consider the multivariate polynomial problem over the integers; that is, Gcd(A,

More information

csci 210: Data Structures Program Analysis

csci 210: Data Structures Program Analysis csci 210: Data Structures Program Analysis 1 Summary Summary analysis of algorithms asymptotic analysis big-o big-omega big-theta asymptotic notation commonly used functions discrete math refresher READING:

More information

Prerequisites. Introduction CHAPTER OUTLINE

Prerequisites. Introduction CHAPTER OUTLINE Prerequisites 1 Figure 1 Credit: Andreas Kambanls CHAPTER OUTLINE 1.1 Real Numbers: Algebra Essentials 1.2 Exponents and Scientific Notation 1.3 Radicals and Rational Expressions 1.4 Polynomials 1.5 Factoring

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

Reteach Simplifying Algebraic Expressions

Reteach Simplifying Algebraic Expressions 1-4 Simplifying Algebraic Expressions To evaluate an algebraic expression you substitute numbers for variables. Then follow the order of operations. Here is a sentence that can help you remember the order

More information

( ) is called the dependent variable because its

( ) is called the dependent variable because its page 1 of 16 CLASS NOTES: 3 8 thru 4 3 and 11 7 Functions, Exponents and Polynomials 3 8: Function Notation A function is a correspondence between two sets, the domain (x) and the range (y). An example

More information

5.1 Monomials. Algebra 2

5.1 Monomials. Algebra 2 . Monomials Algebra Goal : A..: Add, subtract, multiply, and simplify polynomials and rational expressions (e.g., multiply (x ) ( x + ); simplify 9x x. x Goal : Write numbers in scientific notation. Scientific

More information

Combining Like Terms in Polynomials

Combining Like Terms in Polynomials Section 1 6: Combining Like Terms in Polynomials Polynomials A polynomial is an expression that has two or more terms each separated by a + or sign. If the expression has only one term it is called a monomial.

More information

RINGS: SUMMARY OF MATERIAL

RINGS: SUMMARY OF MATERIAL RINGS: SUMMARY OF MATERIAL BRIAN OSSERMAN This is a summary of terms used and main results proved in the subject of rings, from Chapters 11-13 of Artin. Definitions not included here may be considered

More information

Cryptography Lecture 3. Pseudorandom generators LFSRs

Cryptography Lecture 3. Pseudorandom generators LFSRs Cryptography Lecture 3 Pseudorandom generators LFSRs Remember One Time Pad is ideal With OTP you need the same transmission capacity via an already secure channel for the key as you can then secure via

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

Algorithms (II) Yu Yu. Shanghai Jiaotong University

Algorithms (II) Yu Yu. Shanghai Jiaotong University Algorithms (II) Yu Yu Shanghai Jiaotong University Chapter 1. Algorithms with Numbers Two seemingly similar problems Factoring: Given a number N, express it as a product of its prime factors. Primality:

More information

Lecture 2: Metrics to Evaluate Systems

Lecture 2: Metrics to Evaluate Systems Lecture 2: Metrics to Evaluate Systems Topics: Metrics: power, reliability, cost, benchmark suites, performance equation, summarizing performance with AM, GM, HM Sign up for the class mailing list! Video

More information

SPARSE POLYNOMIAL INTERPOLATION AND THE FAST EUCLIDEAN ALGORITHM

SPARSE POLYNOMIAL INTERPOLATION AND THE FAST EUCLIDEAN ALGORITHM SPARSE POLYNOMIAL INTERPOLATION AND THE FAST EUCLIDEAN ALGORITHM by Soo H. Go B.Math., University of Waterloo, 2006 a Thesis submitted in partial fulfillment of the requirements for the degree of Master

More information

INF2270 Spring Philipp Häfliger. Lecture 8: Superscalar CPUs, Course Summary/Repetition (1/2)

INF2270 Spring Philipp Häfliger. Lecture 8: Superscalar CPUs, Course Summary/Repetition (1/2) INF2270 Spring 2010 Philipp Häfliger Summary/Repetition (1/2) content From Scalar to Superscalar Lecture Summary and Brief Repetition Binary numbers Boolean Algebra Combinational Logic Circuits Encoder/Decoder

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

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

IMMERSE 2008: Assignment 4

IMMERSE 2008: Assignment 4 IMMERSE 2008: Assignment 4 4.) Let A be a ring and set R = A[x,...,x n ]. For each let R a = A x a...xa. Prove that is an -graded ring. a = (a,...,a ) R = a R a Proof: It is necessary to show that (a)

More information

Algorithms for Solving Linear Differential Equations with Rational Function Coefficients

Algorithms for Solving Linear Differential Equations with Rational Function Coefficients Algorithms for Solving Linear Differential Equations with Rational Function Coefficients Erdal Imamoglu Department of Mathematics Florida State University May 25, 2017 1 / 37 1 Introduction 2 Formal Solutions,

More information

Calcul d indice et courbes algébriques : de meilleures récoltes

Calcul d indice et courbes algébriques : de meilleures récoltes Calcul d indice et courbes algébriques : de meilleures récoltes Alexandre Wallet ENS de Lyon, Laboratoire LIP, Equipe AriC Alexandre Wallet De meilleures récoltes dans le calcul d indice 1 / 35 Today:

More information

CS 179: GPU Programming. Lecture 9 / Homework 3

CS 179: GPU Programming. Lecture 9 / Homework 3 CS 179: GPU Programming Lecture 9 / Homework 3 Recap Some algorithms are less obviously parallelizable : Reduction Sorts FFT (and certain recursive algorithms) Parallel FFT structure (radix-2) Bit-reversed

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

Three-partition Flow Cover Inequalities for Constant Capacity Fixed-charge Network Flow Problems

Three-partition Flow Cover Inequalities for Constant Capacity Fixed-charge Network Flow Problems Three-partition Flow Cover Inequalities for Constant Capacity Fixed-charge Network Flow Problems Alper Atamtürk, Andrés Gómez Department of Industrial Engineering & Operations Research, University of California,

More information

A quasi polynomial algorithm for discrete logarithm in small characteristic

A quasi polynomial algorithm for discrete logarithm in small characteristic CCA seminary January 10, 2014 A quasi polynomial algorithm for discrete logarithm in small characteristic Razvan Barbulescu 1 Pierrick Gaudry 2 Antoine Joux 3 Emmanuel Thomé 2 LIX, École Polytechnique

More information

Binary Multipliers. Reading: Study Chapter 3. The key trick of multiplication is memorizing a digit-to-digit table Everything else was just adding

Binary Multipliers. Reading: Study Chapter 3. The key trick of multiplication is memorizing a digit-to-digit table Everything else was just adding Binary Multipliers The key trick of multiplication is memorizing a digit-to-digit table Everything else was just adding 2 3 4 5 6 7 8 9 2 3 4 5 6 7 8 9 2 2 4 6 8 2 4 6 8 3 3 6 9 2 5 8 2 24 27 4 4 8 2 6

More information

Chapter 6. Polynomials

Chapter 6. Polynomials Chapter 6 Polynomials How to Play the Stock Market 6.1 Monomials: Multiplication and Division 6.2 Polynomials 6.3 Addition and Subtraction of Polynomials 6.4 Multiplication of Polynomials Chapter Review

More information

I CAN classify polynomials by degree and by the number of terms.

I CAN classify polynomials by degree and by the number of terms. 13-1 Polynomials I CAN classify polynomials by degree and by the number of terms. 13-1 Polynomials Insert Lesson Title Here Vocabulary monomial polynomial binomial trinomial degree of a polynomial 13-1

More information

The Complexity of Optimization Problems

The Complexity of Optimization Problems The Complexity of Optimization Problems Summary Lecture 1 - Complexity of algorithms and problems - Complexity classes: P and NP - Reducibility - Karp reducibility - Turing reducibility Uniform and logarithmic

More information

csci 210: Data Structures Program Analysis

csci 210: Data Structures Program Analysis csci 210: Data Structures Program Analysis Summary Topics commonly used functions analysis of algorithms experimental asymptotic notation asymptotic analysis big-o big-omega big-theta READING: GT textbook

More information

How do computers represent numbers?

How do computers represent numbers? How do computers represent numbers? Tips & Tricks Week 1 Topics in Scientific Computing QMUL Semester A 2017/18 1/10 What does digital mean? The term DIGITAL refers to any device that operates on discrete

More information

Commutative Rings and Fields

Commutative Rings and Fields Commutative Rings and Fields 1-22-2017 Different algebraic systems are used in linear algebra. The most important are commutative rings with identity and fields. Definition. A ring is a set R with two

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

Revisiting Finite Field Multiplication Using Dickson Bases

Revisiting Finite Field Multiplication Using Dickson Bases Revisiting Finite Field Multiplication Using Dickson Bases Bijan Ansari and M. Anwar Hasan Department of Electrical and Computer Engineering University of Waterloo, Waterloo, Ontario, Canada {bansari,

More information