# Introduction to Algorithms - PowerPoint PPT Presentation

PPT – Introduction to Algorithms PowerPoint presentation | free to download - id: 70d0cb-OTFhN

The Adobe Flash plugin is needed to view this content

Get the plugin now

View by Category
Title:

## Introduction to Algorithms

Description:

### Introduction to Algorithms Polynomials and the FFT My T. Thai _at_ UF Polynomials A polynomial in the variable x: Polynomial addition Polynomial multiplication ... – PowerPoint PPT presentation

Number of Views:71
Avg rating:3.0/5.0
Slides: 22
Provided by: MYTRATHAI
Category:
Tags:
Transcript and Presenter's Notes

Title: Introduction to Algorithms

1
Introduction to Algorithms
• Polynomials and the FFT
• My T. Thai _at_ UF

2
Polynomials
• A polynomial in the variable x
• Polynomial multiplication
• where

3
Representing polynomials
• A coefficient representation of a polynomial
d of degree bound n is a
vector of coefficients
• Horners rule to compute A(x0)
• Time O(n)
• Given a , b
• Sum c a b, takes O(n) time
• Product c (convolution of a and b),
takes O(n2) time

4
Representing polynomials
• A point-value representation of a polynomial A(x)
of degree-bound n is a set of n point-value pairs
d
• All of the xk are distinct

Proof
Da y D
gt a D-1y
Vandermonde matrix
5
Operations in point-value representation
• A
• B
• C
• Multiplication
• Extend A, B to 2n points
• Product

6
Fast multiplication of polynomials in coefficient
form
• Evaluation coefficient representation ?
point-value representation
• Interpolation point-value representation
?coefficient form of a polynomial

7
Compute evaluation and interpolation
• Evaluation using Horner method takes O(n2) gt
not good
• Interpolation computing inversion of Vandermonde
matrix takes O(n3) time gt not good
• How to complete evaluation and interpolation in
O(n log n) time?
• Choose evaluation points complex roots of unity
• Use Discrete Fourier Transform for evaluation
• Use inverse Discrete Fourier Transform for
interpolation

8
Complex roots of unity
• A complex nth root of unity is a complex number
such that
• There are exactly n complex nth roots of unity
• Principal nth root of unity
• All other complex nth roots of
• unity are powers of

9
Properties of unitys Complex roots
• Proof

10
Halving lemma
• Proof
• Cancellation lemma

11
Summation lemma
• Proof
• Note
• k is not divisible by n
• only when k
• is divisible by n

12
Discrete Fourier Transform
• Given
• The values of A at evaluation points
• Vector is
discrete Fourier transform (DFT) of the
coefficient vector d
. Denote

13
Fast Fourier Transform
• Divide A into two polynomials based on the
even-indexed and odd-indexed coefficients
• Combine
• Evaluation points of A0 and A1
• are actually the n/2th roots of unity

14
Fast Fourier Transform
• Time

15
Inversion of Vandermonde matrix
• Proof

16
Interpolation at the complex roots of unity
• Compute by modifying FFT algorithm
• Switch the roles of a and y
• Replace
• Divide each element by n

17
FFT and Polynomial mutiplication
18
Efficient FFT implementations
• Line 10 12 change the loop to compute
only once storing it in t ( Butterfly operation)

Butterfly operation
19
Structure of RECURSIVE-FFT
• Each RECURSIVE-FFT invocation makes two recursive
calls
• Arrange the elements of a into the order in which
they appear in the leaves ( take log n for each
element)
• Compute bottom up

20
An iterative FFT implementation
Time
21
A parallel FFT circuit