FFT: Fast Polynomial Multiplications

Size: px
Start display at page:

Download "FFT: Fast Polynomial Multiplications"

Transcription

1 FFT: Fast Polynomial Multiplications Jie Wang University of Massachusetts Lowell Department of Computer Science J. Wang (UMass Lowell) FFT: Fast Polynomial Multiplications 1 / 20

2 Overview So far we have learned five basic algorithm design techniques: (1) sorting and searching; (2) divide-and-conquer; (3) greedy selection; (4) dynamic programming, and (5) linear programming. Another common technique is to use math tricks (actually DP and LP are in this category). Fast Fourier transform for computing polynomial multiplications is a typical math trick. J. Wang (UMass Lowell) FFT: Fast Polynomial Multiplications 2 / 20

3 Polynomials General form: n 1 A(x) = a 0 x 0 + a 1 x + a n 1 x n 1 = a j x j. A(x) has degree k if its highest nonzero coefficient is a k, denoted by degree(a) = k. The degree of a polynomial of degree-bound n may be any integer between 0 and n 1. Unless otherwise stated, all polynomials we will consider have degree-bound n. j=0 J. Wang (UMass Lowell) FFT: Fast Polynomial Multiplications 3 / 20

4 Evaluation and Summation Point evaluation (Horner s rule): A(x 0 ) = a 0 + x 0 (a 1 + x 0 (a x 0 (a n 2 + x 0 (a n 1 )) )). Runtime of point evaluation: Θ(n). Summation: n 1 A(x) + B(x) = (a j + b j )x j. Runtime of summation: Θ(n). j=0 J. Wang (UMass Lowell) FFT: Fast Polynomial Multiplications 4 / 20

5 Multiplication and Convolution Multiplication: C(x) = A(x)B(x), where C(x) has degree-bound 2n 1, C(x) = c j = 2n 2 j=0 c j x j j a k b j k. k=0 c = (c 1, c 2,..., c 2n 2 ) is called the convolution of a = (a 0, a 1,..., a n 1 ) and b = (b 1, b 2,..., b n 1 ), denoted by c = a b. Runtime: Θ(n 2 ). Note: Since C(x) belongs to polynomials of degree-bound 2n, for computational convenience, we will treat C(x) as a polynomial of degree bound 2n (rather than 2n 1). J. Wang (UMass Lowell) FFT: Fast Polynomial Multiplications 5 / 20

6 Representations Coefficient representation: A polynomial of degree-bound n can be represented by (a 0, a 1,..., a n 1 ). Point-value representation: {(x 0, y 0 ),..., (x n 1, y n 1 )}, where y i = A(x i ) and x i x j if i j. Given a polynomial, computing a point-value representation is straightforward and the runtime is Θ(n 2 ). J. Wang (UMass Lowell) FFT: Fast Polynomial Multiplications 6 / 20

7 Interpolation Interpolation: The process from point-value representation to coefficient representation. Lagrange s formula: For any set {(x 0, y 0 ),..., (x n 1, y n 1 )} of n point-value pairs with pairwise different x k, there is a unique polynomial A(x) of degree-bound n such that y k = A(x k ) for k = 0,..., n 1, where n 1 j k A(x) = y (x x j) k j k (x k x j ). k=0 This indicates the uniqueness of interpolating polynomials. J. Wang (UMass Lowell) FFT: Fast Polynomial Multiplications 7 / 20

8 Point-value Representations and Operations Suppose Addition: A :{(x 0, y 0 ),..., (x n 1, y n 1 )} B :{(x 0, y 0),..., (x n 1, y n 1)}. C(x) = A(x) + B(x) : {(x 0, y 0 + y 0),..., (x n 1, y n 1 + y n 1)}. Multiplication needs extended point-value representations on 2n points: Then A :{(x 0, y 0 ),..., (x 2n 1, y 2n 1 )} B :{(x 0, y 0),..., (x 2n 1, y 2n 1)}. C(x) = A(x)B(x) : {(x 0, y 0 y 0),..., (x 2n 1, y 2n 1 y 2n 1)}. J. Wang (UMass Lowell) FFT: Fast Polynomial Multiplications 8 / 20

9 Multiplications J. Wang (UMass Lowell) FFT: Fast Polynomial Multiplications 9 / 20

10 Discrete and Fast Fourier Transforms (DFT, FFT) Complex root of unity: Let ωn, 0 ωn, 1..., ωn n 1 ω n = 1, where be complex roots of Recall that e iu = cos(u) + i sin(u). ω k n = e 2πik/n, k = 0, 1,..., n 1. J. Wang (UMass Lowell) FFT: Fast Polynomial Multiplications 10 / 20

11 Lemmas Lemma 30.3 (Cancellation lemma) ω dk dn = ωk n for any integers n 0, k 0, and d > 0. Proof. ω dk dn = (e2πi/dn ) dk = (e 2πi/n ) k = ω k n. Corollary ω n/2 n = ω 2 = 1. Lemma 30.5 (Halving lemma) If n > 0 is even, then (ω k+n/2 n ) 2 = (ω k n) 2. Proof. By Corollary 30.4 that ωn n/2 = ωn, k and so (ω k+n/2 ω k+n/2 n = ω 2 = 1, we have n ) 2 = (ωn) k 2. J. Wang (UMass Lowell) FFT: Fast Polynomial Multiplications 11 / 20

12 Summation Lemma Summation lemma n 1 (ωn) k j = 0 j=0 for any integer n > 0 and any integer k 0 with k not divisible by n. Proof. n 1 (ωn) k j = (ωk n) n 1 ωn k 1 j=0 = (ωn n) k 1 ω k n 1 = (1)n 1 ω k n 1 = 0. J. Wang (UMass Lowell) FFT: Fast Polynomial Multiplications 12 / 20

13 The DFT Let n 1 A(x) = a j x j, j=0 n 1 y k = A(ωn) k = a j ωn kj. y = (y 0, y 1,..., y n 1 ) is the DFT of a = (a 0, a 1,..., a n 1 ), denoted by y = DFT n (a). j=0 J. Wang (UMass Lowell) FFT: Fast Polynomial Multiplications 13 / 20

14 The FFT Assume that n is a power of 2. Divide-and conquer. Rewrite A(x) as A(x) = A [0] (x 2 ) + xa [1] (x 2 ), where A [0] (x) = a 0 + a 2 x + a 4 x a n 2 x n/2 1, A [1] (x) = a 1 + a 3 x + a 5 x a n 1 x n/2 1. Only need to evaluate two half-size polynomials A [0] (x) and A [1] (x) at (ω 0 n) 2, (ω 1 n) 2,..., (ω n 1 n ) 2, and combine the results. J. Wang (UMass Lowell) FFT: Fast Polynomial Multiplications 14 / 20

15 An Important Observation By the halving lemma, there are only n/2 distinct values in (ωn) 0 2, (ωn) 1 2,..., (ωn n 1 ) 2, where (ω 0 n) 2 = (ω n/2 n ) 2, (ω 1 n) 2 = (ω 1+n/2 n ) 2,..., (ωn n/2 1 ) 2 = (ωn n 1 ) 2. J. Wang (UMass Lowell) FFT: Fast Polynomial Multiplications 15 / 20

16 Recursive FFT Runtime: T (n) = 2T (n/2) + Θ(n) = Θ(n log n). J. Wang (UMass Lowell) FFT: Fast Polynomial Multiplications 16 / 20

17 Line 11 For y 0, y 1,..., y n/2 1, line 11 yields y k = y [0] k + ω k n y [1] k = A [0] (ω k n/2 ) + ωk n A [1] (ω k n/2 ) = A [0] (ω 2k n ) + ω k n A [1] (ω 2k n ) = A(ω k n). by the cancellation lemma J. Wang (UMass Lowell) FFT: Fast Polynomial Multiplications 17 / 20

18 Line 12 For y n/2, y n/2+1,..., y n 1, line 12 yields y k+n/2 = y [0] k ωn k y [1] k = y [0] k + ω k+n/2 n y [1] k = A [0] (ωn 2k ) + ωn k+n/2 A [1] (ωn 2k ) since ω k+n/2 n = ω k n by the cancellation lemma = A [0] (ωn 2k+n ) + ωn k+n/2 A [1] (ωn 2k+n ) since ωn 2k+n = ωn 2k = A(ωn k+n/2 ). J. Wang (UMass Lowell) FFT: Fast Polynomial Multiplications 18 / 20

19 Interpolation Rewrite y = DFT n (a) as The (j, k) entry of the inverse of the Vandermonde matrix V n is ωn kj /n. Proof. n 1 [Vn 1 V n ] jj = a = DFT 1 n (y). k=0 (ω kj/n n n 1 (ωn kj ) = k=0 ω k(j j) n /n = { 1, if j = j 0, otherwise.. J. Wang (UMass Lowell) FFT: Fast Polynomial Multiplications 19 / 20

20 Coefficients For j = 0, 1,..., n 1, a j = 1 n n 1 y k ωn kj. k=0 Modify recursive FFT to replace a with y and ω n with ωn 1, we can computer DFT 1 n in Θ(n log n) time. This means that we can transform the coefficient representation to the point-value representation in O(n log n) time, and so is the other direction. Theorem 30.8 (Convolution theorem) For any two vectors a and b of length n, where n is a power of 2, a b = DFT 1 2n (DFT 2n(a) DFT 2n (b)), where a and b are padded with 0s to length 2n and denotes the componentwise product of two 2n-element vectors. J. Wang (UMass Lowell) FFT: Fast Polynomial Multiplications 20 / 20

The Fast Fourier Transform: A Brief Overview. with Applications. Petros Kondylis. Petros Kondylis. December 4, 2014

The Fast Fourier Transform: A Brief Overview. with Applications. Petros Kondylis. Petros Kondylis. December 4, 2014 December 4, 2014 Timeline Researcher Date Length of Sequence Application CF Gauss 1805 Any Composite Integer Interpolation of orbits of celestial bodies F Carlini 1828 12 Harmonic Analysis of Barometric

More information

The Fast Fourier Transform. Andreas Klappenecker

The Fast Fourier Transform. Andreas Klappenecker The Fast Fourier Transform Andreas Klappenecker Motivation There are few algorithms that had more impact on modern society than the fast Fourier transform and its relatives. The applications of the fast

More information

Fast Convolution; Strassen s Method

Fast Convolution; Strassen s Method Fast Convolution; Strassen s Method 1 Fast Convolution reduction to subquadratic time polynomial evaluation at complex roots of unity interpolation via evaluation at complex roots of unity 2 The Master

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

Divide and Conquer algorithms

Divide and Conquer algorithms Divide and Conquer algorithms Another general method for constructing algorithms is given by the Divide and Conquer strategy. We assume that we have a problem with input that can be split into parts in

More information

CSE 421 Algorithms. T(n) = at(n/b) + n c. Closest Pair Problem. Divide and Conquer Algorithms. What you really need to know about recurrences

CSE 421 Algorithms. T(n) = at(n/b) + n c. Closest Pair Problem. Divide and Conquer Algorithms. What you really need to know about recurrences CSE 421 Algorithms Richard Anderson Lecture 13 Divide and Conquer What you really need to know about recurrences Work per level changes geometrically with the level Geometrically increasing (x > 1) The

More information

5.6 Convolution and FFT

5.6 Convolution and FFT 5.6 Convolution and FFT Fast Fourier Transform: Applications Applications. Optics, acoustics, quantum physics, telecommunications, control systems, signal processing, speech recognition, data compression,

More information

CSE 548: Analysis of Algorithms. Lecture 4 ( Divide-and-Conquer Algorithms: Polynomial Multiplication )

CSE 548: Analysis of Algorithms. Lecture 4 ( Divide-and-Conquer Algorithms: Polynomial Multiplication ) CSE 548: Analysis of Algorithms Lecture 4 ( Divide-and-Conquer Algorithms: Polynomial Multiplication ) Rezaul A. Chowdhury Department of Computer Science SUNY Stony Brook Spring 2015 Coefficient Representation

More information

CS483 Design and Analysis of Algorithms

CS483 Design and Analysis of Algorithms CS483 Design and Analysis of Algorithms Lecture 6-8 Divide and Conquer Algorithms Instructor: Fei Li lifei@cs.gmu.edu with subject: CS483 Office hours: STII, Room 443, Friday 4:00pm - 6:00pm or by appointments

More information

DIVIDE AND CONQUER II

DIVIDE AND CONQUER II DIVIDE AND CONQUER II master theorem integer multiplication matrix multiplication convolution and FFT Lecture slides by Kevin Wayne Copyright 2005 Pearson-Addison Wesley http://www.cs.princeton.edu/~wayne/kleinberg-tardos

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

Algorithm Design and Analysis

Algorithm Design and Analysis Algorithm Design and Analysis LECTURE 14 Divide and Conquer Fast Fourier Transform Sofya Raskhodnikova 10/7/2016 S. Raskhodnikova; based on slides by K. Wayne. 5.6 Convolution and FFT Fast Fourier Transform:

More information

Divide and Conquer. Maximum/minimum. Median finding. CS125 Lecture 4 Fall 2016

Divide and Conquer. Maximum/minimum. Median finding. CS125 Lecture 4 Fall 2016 CS125 Lecture 4 Fall 2016 Divide and Conquer We have seen one general paradigm for finding algorithms: the greedy approach. We now consider another general paradigm, known as divide and conquer. We have

More information

Algorithms and data structures

Algorithms and data structures Algorithms and data structures Amin Coja-Oghlan LFCS Complex numbers Roots of polynomials A polynomial of degree d is a function of the form p(x) = d a i x i with a d 0. i=0 There are at most d numbers

More information

Chapter 5 Divide and Conquer

Chapter 5 Divide and Conquer CMPT 705: Design and Analysis of Algorithms Spring 008 Chapter 5 Divide and Conquer Lecturer: Binay Bhattacharya Scribe: Chris Nell 5.1 Introduction Given a problem P with input size n, P (n), we define

More information

Divide and Conquer: Polynomial Multiplication Version of October 1 / 7, 24201

Divide and Conquer: Polynomial Multiplication Version of October 1 / 7, 24201 Divide and Conquer: Polynomial Multiplication Version of October 7, 2014 Divide and Conquer: Polynomial Multiplication Version of October 1 / 7, 24201 Outline Outline: Introduction The polynomial multiplication

More information

Design and Analysis of Algorithms

Design and Analysis of Algorithms Design and Analysis of Algorithms CSE 5311 Lecture 5 Divide and Conquer: Fast Fourier Transform Junzhou Huang, Ph.D. Department of Computer Science and Engineering CSE5311 Design and Analysis of Algorithms

More information

Lecture 20: Discrete Fourier Transform and FFT

Lecture 20: Discrete Fourier Transform and FFT EE518 Digital Signal Processing University of Washington Autumn 2001 Dept of Electrical Engineering Lecture 20: Discrete Fourier Transform and FFT Dec 10, 2001 Prof: J Bilmes TA:

More information

Fast Fourier Transform

Fast Fourier Transform Why Fourier Transform? Fast Fourier Transform Jordi Cortadella and Jordi Petit Department of Computer Science Polynomials: coefficient representation Divide & Conquer Dept. CS, UPC Polynomials: point-value

More information

Fast Polynomial Multiplication

Fast Polynomial Multiplication Fast Polynomial Multiplication Marc Moreno Maza CS 9652, October 4, 2017 Plan Primitive roots of unity The discrete Fourier transform Convolution of polynomials The fast Fourier transform Fast convolution

More information

The divide-and-conquer strategy solves a problem by: 1. Breaking it into subproblems that are themselves smaller instances of the same type of problem

The divide-and-conquer strategy solves a problem by: 1. Breaking it into subproblems that are themselves smaller instances of the same type of problem Chapter 2. Divide-and-conquer algorithms The divide-and-conquer strategy solves a problem by: 1. Breaking it into subproblems that are themselves smaller instances of the same type of problem. 2. Recursively

More information

How to Multiply. 5.5 Integer Multiplication. Complex Multiplication. Integer Arithmetic. Complex multiplication. (a + bi) (c + di) = x + yi.

How to Multiply. 5.5 Integer Multiplication. Complex Multiplication. Integer Arithmetic. Complex multiplication. (a + bi) (c + di) = x + yi. How to ultiply Slides by Kevin Wayne. Copyright 5 Pearson-Addison Wesley. All rights reserved. integers, matrices, and polynomials Complex ultiplication Complex multiplication. a + bi) c + di) = x + yi.

More information

Multiplying huge integers using Fourier transforms

Multiplying huge integers using Fourier transforms Fourier transforms October 25, 2007 820348901038490238478324 1739423249728934932894??? integers occurs in many fields of Computational Science: Cryptography Number theory... Traditional approaches to

More information

Parallel Recursion: Powerlists. Greg Plaxton Theory in Programming Practice, Fall 2005 Department of Computer Science University of Texas at Austin

Parallel Recursion: Powerlists. Greg Plaxton Theory in Programming Practice, Fall 2005 Department of Computer Science University of Texas at Austin Parallel Recursion: Powerlists Greg Plaxton Theory in Programming Practice, Fall 2005 Department of Computer Science University of Texas at Austin Overview Definition of a powerlist Basic operations on

More information

Scientific Computing: An Introductory Survey

Scientific Computing: An Introductory Survey Scientific Computing: An Introductory Survey Chapter 12 Prof. Michael T. Heath Department of Computer Science University of Illinois at Urbana-Champaign Copyright c 2002. Reproduction permitted for noncommercial,

More information

The divide-and-conquer strategy solves a problem by: Chapter 2. Divide-and-conquer algorithms. Multiplication

The divide-and-conquer strategy solves a problem by: Chapter 2. Divide-and-conquer algorithms. Multiplication The divide-and-conquer strategy solves a problem by: Chapter 2 Divide-and-conquer algorithms 1 Breaking it into subproblems that are themselves smaller instances of the same type of problem 2 Recursively

More information

Let A(x) and B(x) be two polynomials of degree n 1:

Let A(x) and B(x) be two polynomials of degree n 1: MI-EVY (2011/2012) J. Holub: 4. DFT, FFT ad Patter Matchig p. 2/42 Operatios o polyomials MI-EVY (2011/2012) J. Holub: 4. DFT, FFT ad Patter Matchig p. 4/42 Efficiet Patter Matchig (MI-EVY) 4. DFT, FFT

More information

Mid-term Exam Answers and Final Exam Study Guide CIS 675 Summer 2010

Mid-term Exam Answers and Final Exam Study Guide CIS 675 Summer 2010 Mid-term Exam Answers and Final Exam Study Guide CIS 675 Summer 2010 Midterm Problem 1: Recall that for two functions g : N N + and h : N N +, h = Θ(g) iff for some positive integer N and positive real

More information

Solving Quadratic Equations

Solving Quadratic Equations Solving Quadratic Equations MATH 101 College Algebra J. Robert Buchanan Department of Mathematics Summer 2012 Objectives In this lesson we will learn to: solve quadratic equations by factoring, solve quadratic

More information

Parallel Numerical Algorithms

Parallel Numerical Algorithms Parallel Numerical Algorithms Chapter 13 Prof. Michael T. Heath Department of Computer Science University of Illinois at Urbana-Champaign CS 554 / CSE 512 Michael T. Heath Parallel Numerical Algorithms

More information

Frequency Domain Finite Field Arithmetic for Elliptic Curve Cryptography

Frequency Domain Finite Field Arithmetic for Elliptic Curve Cryptography Frequency Domain Finite Field Arithmetic for Elliptic Curve Cryptography Selçuk Baktır, Berk Sunar {selcuk,sunar}@wpi.edu Department of Electrical & Computer Engineering Worcester Polytechnic Institute

More information

4.3 The Discrete Fourier Transform (DFT) and the Fast Fourier Transform (FFT)

4.3 The Discrete Fourier Transform (DFT) and the Fast Fourier Transform (FFT) CHAPTER. TIME-FREQUECY AALYSIS: FOURIER TRASFORMS AD WAVELETS.3 The Discrete Fourier Transform (DFT and the Fast Fourier Transform (FFT.3.1 Introduction In this section, we discuss some of the mathematics

More information

Maximum Flow. Jie Wang. University of Massachusetts Lowell Department of Computer Science. J. Wang (UMass Lowell) Maximum Flow 1 / 27

Maximum Flow. Jie Wang. University of Massachusetts Lowell Department of Computer Science. J. Wang (UMass Lowell) Maximum Flow 1 / 27 Maximum Flow Jie Wang University of Massachusetts Lowell Department of Computer Science J. Wang (UMass Lowell) Maximum Flow 1 / 27 Flow Networks A flow network is a weighted digraph G = (V, E), where the

More information

CS711008Z Algorithm Design and Analysis

CS711008Z Algorithm Design and Analysis CS711008Z Algorithm Design and Analysis Lecture 5 FFT and Divide and Conquer Dongbo Bu Institute of Computing Technology Chinese Academy of Sciences, Beijing, China 1 / 56 Outline DFT: evaluate a polynomial

More information

Legendre s Equation. PHYS Southern Illinois University. October 18, 2016

Legendre s Equation. PHYS Southern Illinois University. October 18, 2016 Legendre s Equation PHYS 500 - Southern Illinois University October 18, 2016 PHYS 500 - Southern Illinois University Legendre s Equation October 18, 2016 1 / 11 Legendre s Equation Recall We are trying

More information

Inverses. Stephen Boyd. EE103 Stanford University. October 28, 2017

Inverses. Stephen Boyd. EE103 Stanford University. October 28, 2017 Inverses Stephen Boyd EE103 Stanford University October 28, 2017 Outline Left and right inverses Inverse Solving linear equations Examples Pseudo-inverse Left and right inverses 2 Left inverses a number

More information

DIVIDE AND CONQUER II

DIVIDE AND CONQUER II DIVIDE AND CONQUER II master theorem integer multiplication matrix multiplication convolution and FFT SECTION 5.6 Fourier analysis Fourier theorem. [Fourier, Dirichlet, Riemann] Any sufficiently smooth)

More information

Algorithms and Data Structures Strassen s Algorithm. ADS (2017/18) Lecture 4 slide 1

Algorithms and Data Structures Strassen s Algorithm. ADS (2017/18) Lecture 4 slide 1 Algorithms and Data Structures Strassen s Algorithm ADS (2017/18) Lecture 4 slide 1 Tutorials Start in week (week 3) Tutorial allocations are linked from the course webpage http://www.inf.ed.ac.uk/teaching/courses/ads/

More information

CS168: The Modern Algorithmic Toolbox Lecture #11: The Fourier Transform and Convolution

CS168: The Modern Algorithmic Toolbox Lecture #11: The Fourier Transform and Convolution CS168: The Modern Algorithmic Toolbox Lecture #11: The Fourier Transform and Convolution Tim Roughgarden & Gregory Valiant May 8, 2015 1 Intro Thus far, we have seen a number of different approaches to

More information

DISCRETE FOURIER TRANSFORM

DISCRETE FOURIER TRANSFORM DISCRETE FOURIER TRANSFORM 1. Introduction The sampled discrete-time fourier transform (DTFT) of a finite length, discrete-time signal is known as the discrete Fourier transform (DFT). The DFT contains

More information

Ch. 7.6 Squares, Squaring & Parabolas

Ch. 7.6 Squares, Squaring & Parabolas Ch. 7.6 Squares, Squaring & Parabolas Learning Intentions: Learn about the squaring & square root function. Graph parabolas. Compare the squaring function with other functions. Relate the squaring function

More information

Zero estimates for polynomials inspired by Hilbert s seventh problem

Zero estimates for polynomials inspired by Hilbert s seventh problem Radboud University Faculty of Science Institute for Mathematics, Astrophysics and Particle Physics Zero estimates for polynomials inspired by Hilbert s seventh problem Author: Janet Flikkema s4457242 Supervisor:

More information

Divide and Conquer. Andreas Klappenecker

Divide and Conquer. Andreas Klappenecker Divide and Conquer Andreas Klappenecker The Divide and Conquer Paradigm The divide and conquer paradigm is important general technique for designing algorithms. In general, it follows the steps: - divide

More information

Tutorials. Algorithms and Data Structures Strassen s Algorithm. The Master Theorem for solving recurrences. The Master Theorem (cont d)

Tutorials. Algorithms and Data Structures Strassen s Algorithm. The Master Theorem for solving recurrences. The Master Theorem (cont d) DS 2018/19 Lecture 4 slide 3 DS 2018/19 Lecture 4 slide 4 Tutorials lgorithms and Data Structures Strassen s lgorithm Start in week week 3 Tutorial allocations are linked from the course webpage http://www.inf.ed.ac.uk/teaching/courses/ads/

More information

Equations in Quadratic Form

Equations in Quadratic Form Equations in Quadratic Form MATH 101 College Algebra J. Robert Buchanan Department of Mathematics Summer 2012 Objectives In this lesson we will learn to: make substitutions that allow equations to be written

More information

Optimizing the Dimensional Method for Performing Multidimensional, Multiprocessor, Out-of-Core FFTs

Optimizing the Dimensional Method for Performing Multidimensional, Multiprocessor, Out-of-Core FFTs Dartmouth College Computer Science Technical Report TR2001-402 Optimizing the Dimensional Method for Performing Multidimensional, Multiprocessor, Out-of-Core FFTs Jeremy T Fineman Dartmouth College Department

More information

NAME (1 pt): SID (1 pt): TA (1 pt): Name of Neighbor to your left (1 pt): Name of Neighbor to your right (1 pt):

NAME (1 pt): SID (1 pt): TA (1 pt): Name of Neighbor to your left (1 pt): Name of Neighbor to your right (1 pt): CS 170 First Midterm 26 Feb 2010 NAME (1 pt): SID (1 pt): TA (1 pt): Name of Neighbor to your left (1 pt): Name of Neighbor to your right (1 pt): Instructions: This is a closed book, closed calculator,

More information

Interpolation on the unit circle

Interpolation on the unit circle Lecture 2: The Fast Discrete Fourier Transform Interpolation on the unit circle So far, we have considered interpolation of functions at nodes on the real line. When we model periodic phenomena, it is

More information

Linear Programming. Jie Wang. University of Massachusetts Lowell Department of Computer Science. J. Wang (UMass Lowell) Linear Programming 1 / 47

Linear Programming. Jie Wang. University of Massachusetts Lowell Department of Computer Science. J. Wang (UMass Lowell) Linear Programming 1 / 47 Linear Programming Jie Wang University of Massachusetts Lowell Department of Computer Science J. Wang (UMass Lowell) Linear Programming 1 / 47 Linear function: f (x 1, x 2,..., x n ) = n a i x i, i=1 where

More information

Lecture 2: Divide and conquer and Dynamic programming

Lecture 2: Divide and conquer and Dynamic programming Chapter 2 Lecture 2: Divide and conquer and Dynamic programming 2.1 Divide and Conquer Idea: - divide the problem into subproblems in linear time - solve subproblems recursively - combine the results in

More information

Introduction to Algorithms 6.046J/18.401J/SMA5503

Introduction to Algorithms 6.046J/18.401J/SMA5503 Introduction to Algorithms 6.046J/8.40J/SMA5503 Lecture 3 Prof. Piotr Indyk The divide-and-conquer design paradigm. Divide the problem (instance) into subproblems. 2. Conquer the subproblems by solving

More information

Speedy Maths. David McQuillan

Speedy Maths. David McQuillan Speedy Maths David McQuillan Basic Arithmetic What one needs to be able to do Addition and Subtraction Multiplication and Division Comparison For a number of order 2 n n ~ 100 is general multi precision

More information

The Master Theorem for solving recurrences. Algorithms and Data Structures Strassen s Algorithm. Tutorials. The Master Theorem (cont d)

The Master Theorem for solving recurrences. Algorithms and Data Structures Strassen s Algorithm. Tutorials. The Master Theorem (cont d) The Master Theorem for solving recurrences lgorithms and Data Structures Strassen s lgorithm 23rd September, 2014 Theorem Let n 0 N, k N 0 and a, b R with a > 0 and b > 1, and let T : N R satisfy the following

More information

Computational Methods CMSC/AMSC/MAPL 460

Computational Methods CMSC/AMSC/MAPL 460 Computational Methods CMSC/AMSC/MAPL 460 Fourier transform Balaji Vasan Srinivasan Dept of Computer Science Several slides from Prof Healy s course at UMD Last time: Fourier analysis F(t) = A 0 /2 + A

More information

Chapter 4. Remember: F will always stand for a field.

Chapter 4. Remember: F will always stand for a field. Chapter 4 Remember: F will always stand for a field. 4.1 10. Take f(x) = x F [x]. Could there be a polynomial g(x) F [x] such that f(x)g(x) = 1 F? Could f(x) be a unit? 19. Compare with Problem #21(c).

More information

Section 5.2 Solving Recurrence Relations

Section 5.2 Solving Recurrence Relations Section 5.2 Solving Recurrence Relations If a g(n) = f (a g(0),a g(1),..., a g(n 1) ) find a closed form or an expression for a g(n). Recall: nth degree polynomials have n roots: a n x n + a n 1 x n 1

More information

Integer multiplication with generalized Fermat primes

Integer multiplication with generalized Fermat primes Integer multiplication with generalized Fermat primes CARAMEL Team, LORIA, University of Lorraine Supervised by: Emmanuel Thomé and Jérémie Detrey Journées nationales du Calcul Formel 2015 (Cluny) November

More information

Math 4310 Solutions to homework 7 Due 10/27/16

Math 4310 Solutions to homework 7 Due 10/27/16 Math 4310 Solutions to homework 7 Due 10/27/16 1. Find the gcd of x 3 + x 2 + x + 1 and x 5 + 2x 3 + x 2 + x + 1 in Rx. Use the Euclidean algorithm: x 5 + 2x 3 + x 2 + x + 1 = (x 3 + x 2 + x + 1)(x 2 x

More information

Practical Session #3 - Recursions

Practical Session #3 - Recursions Practical Session #3 - Recursions Substitution method Guess the form of the solution and prove it by induction Iteration Method Convert the recurrence into a summation and solve it Tightly bound a recurrence

More information

The Fast Fourier Transform

The Fast Fourier Transform The Fast Fourier Transform 1 Motivation: digital signal processing The fast Fourier transform (FFT) is the workhorse of digital signal processing To understand how it is used, consider any signal: any

More information

Computationally, diagonal matrices are the easiest to work with. With this idea in mind, we introduce similarity:

Computationally, diagonal matrices are the easiest to work with. With this idea in mind, we introduce similarity: Diagonalization We have seen that diagonal and triangular matrices are much easier to work with than are most matrices For example, determinants and eigenvalues are easy to compute, and multiplication

More information

MULTISECTION METHOD AND FURTHER FORMULAE FOR π. De-Yin Zheng

MULTISECTION METHOD AND FURTHER FORMULAE FOR π. De-Yin Zheng Indian J. pure appl. Math., 39(: 37-55, April 008 c Printed in India. MULTISECTION METHOD AND FURTHER FORMULAE FOR π De-Yin Zheng Department of Mathematics, Hangzhou Normal University, Hangzhou 30036,

More information

UNIVERSITY OF CALIFORNIA Department of Electrical Engineering and Computer Sciences Computer Science Division. Prof. R. Fateman

UNIVERSITY OF CALIFORNIA Department of Electrical Engineering and Computer Sciences Computer Science Division. Prof. R. Fateman UNIVERSITY OF CALIFORNIA Department of Electrical Engineering and Computer Sciences Computer Science Division CS 282 Spring, 2000 Prof. R. Fateman The (finite field) Fast Fourier Transform 0. Introduction

More information

CP Algebra 2. Unit 3B: Polynomials. Name: Period:

CP Algebra 2. Unit 3B: Polynomials. Name: Period: CP Algebra 2 Unit 3B: Polynomials Name: Period: Learning Targets 10. I can use the fundamental theorem of algebra to find the expected number of roots. Solving Polynomials 11. I can solve polynomials by

More information

AP Calculus Chapter 9: Infinite Series

AP Calculus Chapter 9: Infinite Series AP Calculus Chapter 9: Infinite Series 9. Sequences a, a 2, a 3, a 4, a 5,... Sequence: A function whose domain is the set of positive integers n = 2 3 4 a n = a a 2 a 3 a 4 terms of the sequence Begin

More information

A hyperfactorial divisibility Darij Grinberg *long version*

A hyperfactorial divisibility Darij Grinberg *long version* A hyperfactorial divisibility Darij Grinberg *long version* Let us define a function H : N N by n H n k! for every n N Our goal is to prove the following theorem: Theorem 0 MacMahon We have H b + c H c

More information

Data Structures and Algorithms Chapter 3

Data Structures and Algorithms Chapter 3 Data Structures and Algorithms Chapter 3 1. Divide and conquer 2. Merge sort, repeated substitutions 3. Tiling 4. Recurrences Recurrences Running times of algorithms with recursive calls can be described

More information

23. The Finite Fourier Transform and the Fast Fourier Transform Algorithm

23. The Finite Fourier Transform and the Fast Fourier Transform Algorithm 23. The Finite Fourier Transform and the Fast Fourier Transform Algorithm 23.1 Introduction: Fourier Series Early in the Nineteenth Century, Fourier studied sound and oscillatory motion and conceived of

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

Sequential Fast Fourier Transform (PSC ) Sequential FFT

Sequential Fast Fourier Transform (PSC ) Sequential FFT Sequential Fast Fourier Transform (PSC 3.1 3.2) 1 / 18 Applications of Fourier analysis Fourier analysis studies the decomposition of functions into their frequency components. Piano Concerto no. 9 by

More information

Exam in Numerical Methods (MA2501)

Exam in Numerical Methods (MA2501) Norwegian University of Science and Technology Department of Mathematical Sciences Page 1 of 7 MA251 Numeriske Metoder Olivier Verdier (contact: 48 95 2 66) Exam in Numerical Methods (MA251) 211-5-25,

More information

APPLIED SIGNAL PROCESSING

APPLIED SIGNAL PROCESSING APPLIED SIGNAL PROCESSING DIGITAL FILTERS Digital filters are discrete-time linear systems { x[n] } G { y[n] } Impulse response: y[n] = h[0]x[n] + h[1]x[n 1] + 2 DIGITAL FILTER TYPES FIR (Finite Impulse

More information

DIVIDE AND CONQUER II

DIVIDE AND CONQUER II DIVIDE AND CONQUER II master theorem integer multiplication matrix multiplication convolution and FFT DIVIDE AND CONQUER II master theorem integer multiplication matrix multiplication convolution and FFT

More information

Chapter 23. Fast Fourier Transform Introduction. By Sariel Har-Peled, November 28, Version: 0.11

Chapter 23. Fast Fourier Transform Introduction. By Sariel Har-Peled, November 28, Version: 0.11 Chapter 23 Fast Fourier Transform By Sariel Har-Peled, November 28, 208 Version: 0 But now, reflecting further, there begins to creep into his breast a touch of fellow-feeling for his imitators For it

More information

Section VI.33. Finite Fields

Section VI.33. Finite Fields VI.33 Finite Fields 1 Section VI.33. Finite Fields Note. In this section, finite fields are completely classified. For every prime p and n N, there is exactly one (up to isomorphism) field of order p n,

More information

Approximation theory

Approximation theory Approximation theory Xiaojing Ye, Math & Stat, Georgia State University Spring 2019 Numerical Analysis II Xiaojing Ye, Math & Stat, Georgia State University 1 1 1.3 6 8.8 2 3.5 7 10.1 Least 3squares 4.2

More information

Algebra Review 2. 1 Fields. A field is an extension of the concept of a group.

Algebra Review 2. 1 Fields. A field is an extension of the concept of a group. Algebra Review 2 1 Fields A field is an extension of the concept of a group. Definition 1. A field (F, +,, 0 F, 1 F ) is a set F together with two binary operations (+, ) on F such that the following conditions

More information

Two hours. To be provided by Examinations Office: Mathematical Formula Tables. THE UNIVERSITY OF MANCHESTER. 29 May :45 11:45

Two hours. To be provided by Examinations Office: Mathematical Formula Tables. THE UNIVERSITY OF MANCHESTER. 29 May :45 11:45 Two hours MATH20602 To be provided by Examinations Office: Mathematical Formula Tables. THE UNIVERSITY OF MANCHESTER NUMERICAL ANALYSIS 1 29 May 2015 9:45 11:45 Answer THREE of the FOUR questions. If more

More information

Jim Lambers MAT 610 Summer Session Lecture 1 Notes

Jim Lambers MAT 610 Summer Session Lecture 1 Notes Jim Lambers MAT 60 Summer Session 2009-0 Lecture Notes Introduction This course is about numerical linear algebra, which is the study of the approximate solution of fundamental problems from linear algebra

More information

Sequential Fast Fourier Transform

Sequential Fast Fourier Transform Sequential Fast Fourier Transform Departement Computerwetenschappen Room 03.018 (Celestijnenlaan 200A) albert-jan.yzelman@cs.kuleuven.be Includes material from slides by Prof. dr. Rob H. Bisseling Applications

More information

SECTION 9.2: ARITHMETIC SEQUENCES and PARTIAL SUMS

SECTION 9.2: ARITHMETIC SEQUENCES and PARTIAL SUMS (Chapter 9: Discrete Math) 9.11 SECTION 9.2: ARITHMETIC SEQUENCES and PARTIAL SUMS PART A: WHAT IS AN ARITHMETIC SEQUENCE? The following appears to be an example of an arithmetic (stress on the me ) sequence:

More information

Data Structures and Algorithms Chapter 3

Data Structures and Algorithms Chapter 3 1 Data Structures and Algorithms Chapter 3 Werner Nutt 2 Acknowledgments The course follows the book Introduction to Algorithms, by Cormen, Leiserson, Rivest and Stein, MIT Press [CLRST]. Many examples

More information

1.2. Indices. Introduction. Prerequisites. Learning Outcomes

1.2. Indices. Introduction. Prerequisites. Learning Outcomes Indices 1.2 Introduction Indices, or powers, provide a convenient notation when we need to multiply a number by itself several times. In this Section we explain how indices are written, and state the rules

More information

MA3232 Summary 5. d y1 dy1. MATLAB has a number of built-in functions for solving stiff systems of ODEs. There are ode15s, ode23s, ode23t, ode23tb.

MA3232 Summary 5. d y1 dy1. MATLAB has a number of built-in functions for solving stiff systems of ODEs. There are ode15s, ode23s, ode23t, ode23tb. umerical solutions of higher order ODE We can convert a high order ODE into a system of first order ODEs and then apply RK method to solve it. Stiff ODEs Stiffness is a special problem that can arise in

More information

Compensation. June 29, Arizona State University. Edge Detection from Nonuniform Data via. Convolutional Gridding with Density.

Compensation. June 29, Arizona State University. Edge Detection from Nonuniform Data via. Convolutional Gridding with Density. Arizona State University June 29, 2012 Overview gridding with density compensation is a common method for function reconstruction nonuniform Fourier data. It is computationally inexpensive compared with

More information

NATIONAL UNIVERSITY OF SINGAPORE CS3230 DESIGN AND ANALYSIS OF ALGORITHMS SEMESTER II: Time Allowed 2 Hours

NATIONAL UNIVERSITY OF SINGAPORE CS3230 DESIGN AND ANALYSIS OF ALGORITHMS SEMESTER II: Time Allowed 2 Hours NATIONAL UNIVERSITY OF SINGAPORE CS3230 DESIGN AND ANALYSIS OF ALGORITHMS SEMESTER II: 2017 2018 Time Allowed 2 Hours INSTRUCTIONS TO STUDENTS 1. This assessment consists of Eight (8) questions and comprises

More information

Discrete Fourier Transform

Discrete Fourier Transform Discrete Fourier Transform Valentina Hubeika, Jan Černocký DCGM FIT BUT Brno, {ihubeika,cernocky}@fit.vutbr.cz Diskrete Fourier transform (DFT) We have just one problem with DFS that needs to be solved.

More information

Linear Algebra and Matrix Inversion

Linear Algebra and Matrix Inversion Jim Lambers MAT 46/56 Spring Semester 29- Lecture 2 Notes These notes correspond to Section 63 in the text Linear Algebra and Matrix Inversion Vector Spaces and Linear Transformations Matrices are much

More information

NOTES ON OCT 9, 2012

NOTES ON OCT 9, 2012 NOTES ON OCT 9, 0 MIKE ZABROCKI Exercises: I said that I would solve problems that people asked me about in class. I am going to put the solutions to these (the ones that people asked about so that you

More information

Space- and Time-Efficient Polynomial Multiplication

Space- and Time-Efficient Polynomial Multiplication Space- and Time-Efficient Polynomial Multiplication Daniel S. Roche Symbolic Computation Group School of Computer Science University of Waterloo ISSAC 2009 Seoul, Korea 30 July 2009 Univariate Polynomial

More information

Section 7.2 Solving Linear Recurrence Relations

Section 7.2 Solving Linear Recurrence Relations Section 7.2 Solving Linear Recurrence Relations If a g(n) = f (a g(0),a g(1),..., a g(n 1) ) find a closed form or an expression for a g(n). Recall: nth degree polynomials have n roots: a n x n + a n 1

More information

Divide and Conquer. Andreas Klappenecker. [based on slides by Prof. Welch]

Divide and Conquer. Andreas Klappenecker. [based on slides by Prof. Welch] Divide and Conquer Andreas Klappenecker [based on slides by Prof. Welch] Divide and Conquer Paradigm An important general technique for designing algorithms: divide problem into subproblems recursively

More information

CPSC 518 Introduction to Computer Algebra Schönhage and Strassen s Algorithm for Integer Multiplication

CPSC 518 Introduction to Computer Algebra Schönhage and Strassen s Algorithm for Integer Multiplication CPSC 518 Introduction to Computer Algebra Schönhage and Strassen s Algorithm for Integer Multiplication March, 2006 1 Introduction We have now seen that the Fast Fourier Transform can be applied to perform

More information

1 The linear algebra of linear programs (March 15 and 22, 2015)

1 The linear algebra of linear programs (March 15 and 22, 2015) 1 The linear algebra of linear programs (March 15 and 22, 2015) Many optimization problems can be formulated as linear programs. The main features of a linear program are the following: Variables are real

More information

R.5 Factoring Polynomials 1

R.5 Factoring Polynomials 1 R.5 Factoring Polynomials 1 Chapter R. Review R.5. Factoring Polynomials Note. It is assumed that you know the properties of addition and multiplication as explained in Section R.1. If you are not comfortable

More information

Notes on Systems of Linear Congruences

Notes on Systems of Linear Congruences MATH 324 Summer 2012 Elementary Number Theory Notes on Systems of Linear Congruences In this note we will discuss systems of linear congruences where the moduli are all different. Definition. Given the

More information

Toeplitz matrices. Niranjan U N. May 12, NITK, Surathkal. Definition Toeplitz theory Computational aspects References

Toeplitz matrices. Niranjan U N. May 12, NITK, Surathkal. Definition Toeplitz theory Computational aspects References Toeplitz matrices Niranjan U N NITK, Surathkal May 12, 2010 Niranjan U N (NITK, Surathkal) Linear Algebra May 12, 2010 1 / 15 1 Definition Toeplitz matrix Circulant matrix 2 Toeplitz theory Boundedness

More information

COMP 382: Reasoning about algorithms

COMP 382: Reasoning about algorithms Fall 2014 Unit 4: Basics of complexity analysis Correctness and efficiency So far, we have talked about correctness and termination of algorithms What about efficiency? Running time of an algorithm For

More information

18.310A Final exam practice questions

18.310A Final exam practice questions 18.310A Final exam practice questions This is a collection of practice questions, gathered randomly from previous exams and quizzes. They may not be representative of what will be on the final. In particular,

More information

Fall 2011, EE123 Digital Signal Processing

Fall 2011, EE123 Digital Signal Processing Lecture 6 Miki Lustig, UCB September 11, 2012 Miki Lustig, UCB DFT and Sampling the DTFT X (e jω ) = e j4ω sin2 (5ω/2) sin 2 (ω/2) 5 x[n] 25 X(e jω ) 4 20 3 15 2 1 0 10 5 1 0 5 10 15 n 0 0 2 4 6 ω 5 reconstructed

More information