Polynomial + Fast Fourier Transform

Slides:



Advertisements
Similar presentations
Fast Fourier Transform for speeding up the multiplication of polynomials an Algorithm Visualization Alexandru Cioaca.
Advertisements

Polynomial and FFT. Topics 1. Problem 2. Representation of polynomials 3. The DFT and FFT 4. Efficient FFT implementations 5. Conclusion.
Instructor: Shengyu Zhang 1. Example 1: Merge sort 2.
Fast Fourier Transform Lecture 6 Spoken Language Processing Prof. Andrew Rosenberg.
FFT1 The Fast Fourier Transform. FFT2 Outline and Reading Polynomial Multiplication Problem Primitive Roots of Unity (§10.4.1) The Discrete Fourier Transform.
EECS 20 Chapter 10 Part 11 Fourier Transform In the last several chapters we Viewed periodic functions in terms of frequency components (Fourier series)
CSE 421 Algorithms Richard Anderson Lecture 15 Fast Fourier Transform.
FFT(Fast Fourier Transform). p2. FFT Coefficient representation: How to evaluate A(x 0 )?
FFT1 The Fast Fourier Transform by Jorge M. Trabal.
Princeton University COS 423 Theory of Algorithms Spring 2002 Kevin Wayne Fast Fourier Transform Jean Baptiste Joseph Fourier ( ) These lecture.
Reconfigurable Computing S. Reda, Brown University Reconfigurable Computing (EN2911X, Fall07) Lecture 16: Application-Driven Hardware Acceleration (1/4)
CSE 421 Algorithms Richard Anderson Lecture 13 Divide and Conquer.
Introduction to Algorithms
ON MULTIVARIATE POLYNOMIAL INTERPOLATION
The Fourier series A large class of phenomena can be described as periodic in nature: waves, sounds, light, radio, water waves etc. It is natural to attempt.
1 CSE 417: Algorithms and Computational Complexity Winter 2001 Lecture 14 Instructor: Paul Beame.
Fast Fourier Transform Irina Bobkova. Overview I. Polynomials II. The DFT and FFT III. Efficient implementations IV. Some problems.
Great Theoretical Ideas in Computer Science.
1 Chapter 5 Divide and Conquer Slides by Kevin Wayne. Copyright © 2005 Pearson-Addison Wesley. All rights reserved.
FFT1 The Fast Fourier Transform. FFT2 Outline and Reading Polynomial Multiplication Problem Primitive Roots of Unity (§10.4.1) The Discrete Fourier Transform.
5.6 Convolution and FFT. 2 Fast Fourier Transform: Applications Applications. n Optics, acoustics, quantum physics, telecommunications, control systems,
The Fast Fourier Transform
Chapter 3 Polynomial and Rational Functions Copyright © 2014, 2010, 2007 Pearson Education, Inc Zeros of Polynomial Functions.
Karatsuba’s Algorithm for Integer Multiplication
Applied Symbolic Computation1 Applied Symbolic Computation (CS 300) Karatsuba’s Algorithm for Integer Multiplication Jeremy R. Johnson.
The Fast Fourier Transform and Applications to Multiplication
Inverse DFT. Frequency to time domain Sometimes calculations are easier in the frequency domain then later convert the results back to the time domain.
Zeros of Polynomials 2.5.
Section 5.5 The Real Zeros of a Polynomial Function.
1 Fast Polynomial and Integer Multiplication Jeremy R. Johnson.
8 th Grade Study Guide System of Equations - Pythagorean Theorem - Laws of Exponents Scientific Notation - Solving Equations.
Chapter 3 Polynomial and Rational Functions Copyright © 2014, 2010, 2007 Pearson Education, Inc Zeros of Polynomial Functions.
Applied Symbolic Computation1 Applied Symbolic Computation (CS 567) The Fast Fourier Transform (FFT) and Convolution Jeremy R. Johnson TexPoint fonts used.
May 9, 2001Applied Symbolic Computation1 Applied Symbolic Computation (CS 680/480) Lecture 6: Multiplication, Interpolation, and the Chinese Remainder.
Chapter 2 Divide-and-Conquer algorithms
College Algebra Chapter 3 Polynomial and Rational Functions
DIGITAL SIGNAL PROCESSING ELECTRONICS
Chapter 2 Divide-and-Conquer algorithms
Data Structures and Algorithms (AT70. 02) Comp. Sc. and Inf. Mgmt
Solving Polynomial Functions
Lesson 7.2: Finding Complex Solutions of Polynomial Equations
The Rational Zero Theorem
Applied Symbolic Computation
September 4, 1997 Applied Symbolic Computation (CS 300) Fast Polynomial and Integer Multiplication Jeremy R. Johnson.
Applied Symbolic Computation
4.4 Real Zeros of Polynomial Functions
Finding Zeros of Polynomials
Copyright © 2014, 2010, 2007 Pearson Education, Inc.
Polynomials and the FFT(UNIT-3)
Fast Fourier Transform (FFT) (Section 4.11)
Applied Symbolic Computation
DFT and FFT By using the complex roots of unity, we can evaluate and interpolate a polynomial in O(n lg n) An example, here are the solutions to 8 =
Unit-2 Divide and Conquer
RS – Reed Solomon List Decoding.
September 4, 1997 Applied Symbolic Computation (CS 300) Fast Polynomial and Integer Multiplication Jeremy R. Johnson.
The Fast Fourier Transform
Advanced Algorithms Analysis and Design
Sampling the Fourier Transform
Applied Symbolic Computation
Applied Symbolic Computation
September 4, 1997 Applied Symbolic Computation (CS 567) Fast Polynomial and Integer Multiplication Jeremy R. Johnson.
The Fundamental Theorem of Algebra And Zeros of Polynomials
Applied Symbolic Computation
The Rational Zero Theorem
Applied Symbolic Computation
Discrete Fourier Transform
Discrete Fourier Transform
The Fast Fourier Transform
Applied Symbolic Computation
Fast Polynomial and Integer Multiplication
Presentation transcript:

Polynomial + Fast Fourier Transform Michael Tsai 2017/06/13

Polynomials Coefficients: Degree: highest order term with nonzero coefficient (k if highest nonzero term is ) Degree-bound: any integer strictly greater than the degree

Coefficient Representation Vector Using it: Evaluation: Addition: Horner’s rule: O(n) O(n) +

Prob.: Polynomial Multiplication Example: …

Prob.: Polynomial Multiplication Degree(C)=degree(A)+degree(B) Degree bound: ! Problem: can we reduce this time complexity?

Point-Value Representation Degree-bound: n Computing a point-value representation: Calculate each using Horner’s rule takes Thus calculate all n values take If we choose the points wisely, we can reduce this to !

Interpolation Interpolation is the inverse operation of evaluation Interpolation is well-defined when the interpolating polynomial have a degree-bound == given number of point-value pairs Theorem: For any set of n point-value pairs such that all the values are distinct, there is a unique polynomial A(x) of degree-bound n such that for . (see p. 902 in Cormen for the proof)

Point-Value Representation Evaluation Degree-bound: n Interpolation Using it: Addition: since , A: B: C:

Point-Value Representation: Multiplication Multiplication: since , Problem! We need 2n point-value pairs so that C(x) is well- defined! A: n pairs B: n pairs C: n pairs

Point-Value Representation: Multiplication Multiplication: since , Solution: Extend A and B to 2n point-value pairs (add n zero coefficient high-order terms) C(x) is now well-defined with 2n point-value pairs A: 2n pairs B: 2n pairs C: 2n pairs

Can we improve evaluation and interpolation time to ?

Complex Roots of Unity A complex n-th root of unity is a complex number such that Exponential of a complex number: There are exactly n complex n-th roots of unity:

Example Principle n-th root of unity: n complex n-th roots of unity:

Discrete Fourier Transform Evaluate A(x) of degree-bound n at The vector is the discrete Fourier Transform (DFT) of coefficient vector still

Physical Meaning of DFT Inverse DFT Weight of that frequency Signal at different frequencies

Fast Fourier Transform Taking advantage of the special properties of the complex roots of unity, we can compute DFT in ! Assumption: n is a power of 2. Split A(x) into two parts:

Fast Fourier Transform (ㄅ) How do we evaluate A(x) at ? Evaluate and at Combine the result using (ㄅ)

What is Divide-and-Conquer? When dealing with a problem: Divide the problem into smaller, but same type of, problems If the problem is small enough to solve (Conquer), then solve it Else recursively call itself to solve smaller sub-problems Combine the solutions of smaller sub-problems into the solution of the original, larger, problem Base case Recursive case

Fast Fourier Transform (ㄅ) How do we evaluate A(x) at ? Evaluate and at Combine the result using (ㄅ) Divide and Conquer 2 n/2-sized problems Combine the sub-problem solutions

Pseudo-code Divide: 2x n/2 Conquer Evaluate at Combine

Can we improve evaluation and interpolation time to ? How about interpolation?? (p. 912 on Cormen)