Fast Fourier Transform

Size: px
Start display at page:

Download "Fast Fourier Transform"

Transcription

1 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 representation Fundamental Theorem (Gauss): A degree n polynomial with complex coefficients has exactly n complex roots. Corollary: A degree n 1 polymonial A(x) is uniquely identified by its evaluation at n distinct values of x. Divide & Conquer Dept. CS, UPC 3 Divide & Conquer Dept. CS, UPC

2 Polynomials: point-value representation Conversion between both representations representation addition multiplication evaluation coefficient O(n) O(n ) O(n) point-value O(n) O(n) O(n ) evaluation a 0, a 1,, a n 1 Coefficient representation interpolation x 0, y 0,, x n 1, y n 1 Point-value representation Could we have an efficient algorithm to move from coefficient to point-value representation and vice versa? Divide & Conquer Dept. CS, UPC 5 From coefficients to point-values Divide & Conquer Dept. CS, UPC 6 Credits: based on the intuitive explanation by Dasgupta, Papadimitriou and Vazinari, Algorithms, McGraw-Hill, 008. We want to evaluate A(x) at n different points. Let us choose them to be positive-negative pairs: ±x 0, ±x 1,, ±x Τ n 1 The computations for A(x i ) and A( x i ) overlap a lot. Split the polynomial into odd and even powers 3 + x + 6x + x 3 + x + 10x 5 = 3 + 6x + x + x + x + 10x The terms in parenthesis are polynomials in x : A x = A e x + xa o (x ) Divide & Conquer Dept. CS, UPC 7 Divide & Conquer Dept. CS, UPC 8

3 The calculations needed for A x i computing A x i. A x i = A e x i + x i A o x i A x i = A e x i x i A o x i Evaluating A x at n paired points ±x 0, ±x 1,, ±x nτ 1 can be reused for reduces to evaluating A e x and A o (x) at just n/ points: x 0,, x n/ 1 Evaluate: A x degree n 1 Evaluate: A e x and A o (x) degree n/ 1 +x 0 x 0 +x 1 x 1 +x n/ 1 x n/ 1 x 0 x 1 If we could recurse, we would get a running time: But can we recurse? x n/ 1 T n = T n/ + O n = O(n log n) Divide & Conquer Dept. CS, UPC 9 Divide & Conquer Dept. CS, UPC 10 Evaluate: A x degree n 1 +x 0 x 0 +x 1 x 1 +x n/ 1 x n/ i i + i i + i i +x 0 x 0 +x 1 x 1 +x x +x 3 x 3 Evaluate: A e x and A o (x) degree n/ 1 x 0 x 1 x n/ 1 x 0 x 1 x +i x i The problem:? We need x 0 and x 1 to be a plus-minus pair. But a square cannot be negative! x 0 x +1 1 x Note: i = ± i i = ± 1 (1 i) Divide & Conquer Dept. CS, UPC 11 Divide & Conquer Dept. CS, UPC 1

4 Complex numbers: review Complex numbers: multiplication Imaginary b z = a + bi z = r(cos θ + i sin θ) = re iθ Polar coordinates: (r, θ) (r, θ ) (r 1, θ 1 ) r Length: r = a + b r 1, θ 1 r, θ = (r 1 r, θ 1 + θ ) θ a Real Angle θ 0,π : cos θ = a r, sin θ = b r θ can always be reduced modulo π (r 1 r, θ 1 + θ ) For any z = r, θ : Some examples: z = (r, θ + π), since 1 = 1, π Number 1 i 5 + 5i Polar coords (1, π) (1, π/) (5, Τ π ) If z is on the unit circle, then z n = (1, nθ) Divide & Conquer Dept. CS, UPC 13 Complex numbers: the nth roots of unity Divide & Conquer Dept. CS, UPC 1 Divide-and-conquer step Solutions to the equation z n = 1 (n = 16) π/n Solutions are z = 1, θ, for θ a multiple of π/n Angle π/n All roots are plus-minus paired: π n + π 1, θ = (1, θ + π) Evaluate A(x) at nth roots of unity Evaluate A e (x) and A o x at nτ nd roots of unity Divide & Conquer Dept. CS, UPC 15 Divide & Conquer Dept. CS, UPC 16

5 Divide-and-conquer steps Roots of unity for n = 8 +i i + i 1 +1 i + i i Divide & Conquer Dept. CS, UPC 17 Fast Fourier Transform Divide & Conquer Dept. CS, UPC 18 Fast Fourier Transform: example with n = function FFT(A,ω) Inputs: A = (a 0, a 1,, a n 1 ), for n a power of ω: A primitive nth root of unity Output: A 1, A ω, A ω,, A ω n 1 if ω=1: return A function FFT((a 0, a 1, a, a 3 ),ω) A e (ω 0 ), A e (ω ) = FFT( a 0, a, ω ) A o ω 0, A o (ω ) = FFT( a 1, a 3, ω ) ω 0 = 1 ω 1 = i ω = 1 ω 3 = i A e ω 0, A e ω,, A e (ω n ) = FFT(A e, ω ) A o ω 0, A o ω,, A o (ω n ) = FFT(A o, ω ) for k = 0 to n 1: A ω k = A e ω k + ω k A o (ω k ) return A 1, A ω, A ω,, A(ω n 1 ) A ω 0 = A e ω 0 + ω 0 A o ω 0 A ω 1 = A e ω + ω 1 A o ω A ω = A e ω + ω A o ω = A e ω 0 ω 0 A o ω 0 A ω 3 = A e ω 6 + ω 3 A o ω 6 = A e ω ω 1 A o ω return A 1, A ω, A ω, A(ω 3 ) Divide & Conquer Dept. CS, UPC 19 Divide & Conquer Dept. CS, UPC 0

6 Fast Fourier Transform function FFT(a,ω) Inputs: a = (a 0, a 1,, a n 1 ), for n a power of ω: A primitive nth root of unity Output: a 1, a ω, a ω,, a ω n 1 if ω=1: return a s 0, s 1,, s nτ 1 = FFT( a 0, a,, a n, ω ) s 0, s 1,, s nτ 1 = FFT( a 1, a 3,, a n 1, ω ) for k = 0 to nτ 1: r k = s k + ω k s k r k+ nτ = s k ω k s k return (r 0, r 1,, r n 1 ) FFT: asymptotic complexity The runtime of the FFT can be expressed as: T n = T Τ n + O n Using the master theorem we conclude: Runtime FFT n = O(n log n) Gilbert Strang (MIT, 199): the most important numerical algorithm of our lifetime. Reference: Cooley, James W., and John W. Tukey, 1965, An algorithm for the machine calculation of complex Fourier series, Math. Comput. 19: Divide & Conquer Dept. CS, UPC 1 Unfolding the FFT Divide & Conquer Dept. CS, UPC Unfolding the FFT (butterfly diagram) 000 a 0 A(ω 0 ) 000 a 0 a a n FFT nτ + ω k r k a a a 6 6 A(ω 1 ) A(ω ) A(ω 3 ) a 1 a 3 a n 1 FFT nτ ω k+ nτ r k+ nτ Divide & Conquer Dept. CS, UPC a a a a A(ω ) A(ω 5 ) A(ω 6 ) A(ω 7 ) Divide & Conquer Dept. CS, UPC

7 Why is it called a butterfly diagram? Conversion between both representations representation addition multiplication evaluation coefficient O(n) O(n ) O(n) point-value O(n) O(n) O(n ) a 0, a 1,, a n 1 Coefficient representation values = FFT( coefficients, ω) evaluation O(n log n) interpolation x 0, y 0,, x n 1, y n 1 Point-value representation Divide & Conquer Dept. CS, UPC 5 From point-values to coefficients Divide & Conquer Dept. CS, UPC 6 From point-values to coefficients Divide & Conquer Dept. CS, UPC 7 Divide & Conquer Dept. CS, UPC 8

8 Conversion between both representations Polynomial multiplication Input: Coefficients of two polynomials A(x) and B(x), of degree d A and d B, respectively. Let d = d A + d B. representation addition multiplication evaluation coefficient O(n) O(n ) O(n) point-value O(n) O(n) O(n ) values = FFT( coefficients, ω) evaluation Output: The product C = A B. 1. Selection: Pick ω = (1, πτn), such that n d + 1 and n is a power of two.. Evaluation (FFT): Compute A 1, A ω, A ω,, A ω n 1. Compute B 1, B ω, B ω,, B ω n 1. a 0, a 1,, a n 1 Coefficient representation O(n log n) interpolation x 0, y 0,, x n 1, y n 1 Point-value representation 3. Multiplication: Compute C ω k = A ω k B(ω k ), for all k = 0,, n 1. coefficients = 1 n FFT( values, ω 1 ). Interpolation (inverse FFT): Recover C x = c 0 + c 1 x + c x + + c d x d. Divide & Conquer Dept. CS, UPC 9 FFT application in Signal Processing Divide & Conquer Dept. CS, UPC 30 Distinguishing instruments Same note (frequency). Different timbre (spectral envelope). Converting a signal: time domain frequency domain Divide & Conquer Dept. CS, UPC 31 Divide & Conquer Dept. CS, UPC 3

9 Speech Spectrogram Tone: distance between sidelobes (vocal cords). Sound: spectral envelope. Pronouncing veintisiete Divide & Conquer Dept. CS, UPC 33 Exercises Divide & Conquer Dept. CS, UPC 3 1. Consider the polynomials 1 + x x + x 3 and 1 + x : Choose an appropriate power of two to execute the FFT for the polynomial multiplication. Find the value of ω. Give the result of the FFT for x 1 (no need to execute the FFT).. Consider the polynomials 1 + x + x and 1 + x: Choose an appropriate power of two to execute the FFT. Find the value of ω. Calculate their point-value representation using the FFT (execute the FFT algorithm manually). Calculate the product of the point-value representations. Execute the inverse FFT to obtain the coefficients of the product. Divide & Conquer Dept. CS, UPC 35

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

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

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

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

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

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

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

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

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

FFT: Fast Polynomial Multiplications

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

More information

Divide & Conquer. Jordi Cortadella and Jordi Petit Department of Computer Science

Divide & Conquer. Jordi Cortadella and Jordi Petit Department of Computer Science Divide & Conquer Jordi Cortadella and Jordi Petit Department of Computer Science Divide-and-conquer algorithms Strategy: Divide the problem into smaller subproblems of the same type of problem Solve the

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

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

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

Divide-and-conquer algorithms

Divide-and-conquer algorithms 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

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

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

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

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

Divide & Conquer. Jordi Cortadella and Jordi Petit Department of Computer Science

Divide & Conquer. Jordi Cortadella and Jordi Petit Department of Computer Science Divide & Conquer Jordi Cortadella and Jordi Petit Department of Computer Science Divide-and-conquer algorithms Strategy: Divide the problem into smaller subproblems of the same type of problem Solve the

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

ω 0 = 2π/T 0 is called the fundamental angular frequency and ω 2 = 2ω 0 is called the

ω 0 = 2π/T 0 is called the fundamental angular frequency and ω 2 = 2ω 0 is called the he ime-frequency Concept []. Review of Fourier Series Consider the following set of time functions {3A sin t, A sin t}. We can represent these functions in different ways by plotting the amplitude versus

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

Fast Fourier Transform

Fast Fourier Transform Fast Fourier Transform December 8, 2016 FFT JPEG RGB Y C B C R (luma (brightness), chroma 2 (color)) chroma resolution is reduced image is split in blocks 8 8 pixels JPEG RGB Y C B C R (luma (brightness),

More information

CS S Lecture 5 January 29, 2019

CS S Lecture 5 January 29, 2019 CS 6363.005.19S Lecture 5 January 29, 2019 Main topics are #divide-and-conquer with #fast_fourier_transforms. Prelude Homework 1 is due Tuesday, February 5th. I hope you ve at least looked at it by now!

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

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

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

Tutorial 2 - Learning about the Discrete Fourier Transform

Tutorial 2 - Learning about the Discrete Fourier Transform Tutorial - Learning about the Discrete Fourier Transform This tutorial will be about the Discrete Fourier Transform basis, or the DFT basis in short. What is a basis? If we google define basis, we get:

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

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

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

EDISP (NWL3) (English) Digital Signal Processing DFT Windowing, FFT. October 19, 2016

EDISP (NWL3) (English) Digital Signal Processing DFT Windowing, FFT. October 19, 2016 EDISP (NWL3) (English) Digital Signal Processing DFT Windowing, FFT October 19, 2016 DFT resolution 1 N-point DFT frequency sampled at θ k = 2πk N, so the resolution is f s/n If we want more, we use N

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

An Illustrated Introduction to the Truncated Fourier Transform

An Illustrated Introduction to the Truncated Fourier Transform An Illustrated Introduction to the Truncated Fourier Transform arxiv:1602.04562v2 [cs.sc] 17 Feb 2016 Paul Vrbik. School of Mathematical and Physical Sciences The University of Newcastle Callaghan, Australia

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

Section X.55. Cyclotomic Extensions

Section X.55. Cyclotomic Extensions X.55 Cyclotomic Extensions 1 Section X.55. Cyclotomic Extensions Note. In this section we return to a consideration of roots of unity and consider again the cyclic group of roots of unity as encountered

More information

In Z: x + 3 = 2 3x = 2 x = 1 No solution In Q: 3x = 2 x 2 = 2. x = 2 No solution. In R: x 2 = 2 x = 0 x = ± 2 No solution Z Q.

In Z: x + 3 = 2 3x = 2 x = 1 No solution In Q: 3x = 2 x 2 = 2. x = 2 No solution. In R: x 2 = 2 x = 0 x = ± 2 No solution Z Q. THE UNIVERSITY OF NEW SOUTH WALES SCHOOL OF MATHEMATICS AND STATISTICS MATH 1141 HIGHER MATHEMATICS 1A ALGEBRA. Section 1: - Complex Numbers. 1. The Number Systems. Let us begin by trying to solve various

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

1 Complex Numbers. 1.1 Sums and Products

1 Complex Numbers. 1.1 Sums and Products 1 Complex Numbers 1.1 Sums Products Definition: The complex plane, denoted C is the set of all ordered pairs (x, y) with x, y R, where Re z = x is called the real part Imz = y is called the imaginary part.

More information

HMMT February 2018 February 10, 2018

HMMT February 2018 February 10, 2018 HMMT February 018 February 10, 018 Algebra and Number Theory 1. For some real number c, the graphs of the equation y = x 0 + x + 18 and the line y = x + c intersect at exactly one point. What is c? 18

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

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

Transform Representation of Signals

Transform Representation of Signals C H A P T E R 3 Transform Representation of Signals and LTI Systems As you have seen in your prior studies of signals and systems, and as emphasized in the review in Chapter 2, transforms play a central

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

The Hilbert Transform

The Hilbert Transform The Hilbert Transform David Hilbert 1 ABSTRACT: In this presentation, the basic theoretical background of the Hilbert Transform is introduced. Using this transform, normal real-valued time domain functions

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

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

2. Polynomials. 19 points. 3/3/3/3/3/4 Clearly indicate your correctly formatted answer: this is what is to be graded. No need to justify!

2. Polynomials. 19 points. 3/3/3/3/3/4 Clearly indicate your correctly formatted answer: this is what is to be graded. No need to justify! 1. Short Modular Arithmetic/RSA. 16 points: 3/3/3/3/4 For each question, please answer in the correct format. When an expression is asked for, it may simply be a number, or an expression involving variables

More information

An Introduction and Analysis of the Fast Fourier Transform. Thao Nguyen Mentor: Professor Ron Buckmire

An Introduction and Analysis of the Fast Fourier Transform. Thao Nguyen Mentor: Professor Ron Buckmire An Introduction and Analysis of the Fast Fourier Transform Thao Nguyen Mentor: Professor Ron Buckmire Outline 1. Outline of the Talk 2. Continuous Fourier Transform (CFT) Visualization of the CFT Mathematical

More information

CSE 548: (Design and) Analysis of Algorithms

CSE 548: (Design and) Analysis of Algorithms Warmup Sorting Selection Closest pair Multiplication FFT 1 / 81 CSE 548: (Design and) Analysis of Algorithms Divide-and-conquer Algorithms R Sekar Warmup Sorting Selection Closest pair Multiplication FFT

More information

1. Given the public RSA encryption key (e, n) = (5, 35), find the corresponding decryption key (d, n).

1. Given the public RSA encryption key (e, n) = (5, 35), find the corresponding decryption key (d, n). MATH 135: Randomized Exam Practice Problems These are the warm-up exercises and recommended problems taken from all the extra practice sets presented in random order. The challenge problems have not been

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

How to Solve Linear Differential Equations

How to Solve Linear Differential Equations How to Solve Linear Differential Equations Definition: Euler Base Atom, Euler Solution Atom Independence of Atoms Construction of the General Solution from a List of Distinct Atoms Euler s Theorems Euler

More information

The Fast Fourier Transform

The Fast Fourier Transform The Fast Fourier Transform A Mathematical Perspective Todd D. Mateer Contents Chapter 1. Introduction 3 Chapter 2. Polynomials 17 1. Basic operations 17 2. The Remainder Theorem and Synthetic Division

More information

Circulant Matrices. Ashley Lorenz

Circulant Matrices. Ashley Lorenz irculant Matrices Ashley Lorenz Abstract irculant matrices are a special type of Toeplitz matrix and have unique properties. irculant matrices are applicable to many areas of math and science, such as

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

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

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

C. Complex Numbers. 1. Complex arithmetic.

C. Complex Numbers. 1. Complex arithmetic. C. Complex Numbers. Complex arithmetic. Most people think that complex numbers arose from attempts to solve quadratic equations, but actually it was in connection with cubic equations they first appeared.

More information

8. Complex Numbers. sums and products. basic algebraic properties. complex conjugates. exponential form. principal arguments. roots of complex numbers

8. Complex Numbers. sums and products. basic algebraic properties. complex conjugates. exponential form. principal arguments. roots of complex numbers EE202 - EE MATH II 8. Complex Numbers Jitkomut Songsiri sums and products basic algebraic properties complex conjugates exponential form principal arguments roots of complex numbers regions in the complex

More information

Lecture 5. Complex Numbers and Euler s Formula

Lecture 5. Complex Numbers and Euler s Formula Lecture 5. Complex Numbers and Euler s Formula University of British Columbia, Vancouver Yue-Xian Li March 017 1 Main purpose: To introduce some basic knowledge of complex numbers to students so that they

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

Fast and Small: Multiplying Polynomials without Extra Space

Fast and Small: Multiplying Polynomials without Extra Space Fast and Small: Multiplying Polynomials without Extra Space Daniel S. Roche Symbolic Computation Group School of Computer Science University of Waterloo CECM Day SFU, Vancouver, 24 July 2009 Preliminaries

More information

Queens College, CUNY, Department of Computer Science Numerical Methods CSCI 361 / 761 Spring 2018 Instructor: Dr. Sateesh Mane.

Queens College, CUNY, Department of Computer Science Numerical Methods CSCI 361 / 761 Spring 2018 Instructor: Dr. Sateesh Mane. Queens College, CUNY, Department of Computer Science Numerical Methods CSCI 361 / 761 Spring 018 Instructor: Dr. Sateesh Mane c Sateesh R. Mane 018 30 Lecture 30 April 7, 018 Fourier Series In this lecture,

More information

In this chapter we study several functions that are useful in calculus and other areas of mathematics.

In this chapter we study several functions that are useful in calculus and other areas of mathematics. Calculus 5 7 Special functions In this chapter we study several functions that are useful in calculus and other areas of mathematics. 7. Hyperbolic trigonometric functions The functions we study in this

More information

STEP Support Programme. Hints and Partial Solutions for Assignment 17

STEP Support Programme. Hints and Partial Solutions for Assignment 17 STEP Support Programme Hints and Partial Solutions for Assignment 7 Warm-up You need to be quite careful with these proofs to ensure that you are not assuming something that should not be assumed. For

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

3 What You Should Know About Complex Numbers

3 What You Should Know About Complex Numbers 3 What You Should Know About Complex Numbers Life is complex it has a real part, and an imaginary part Andrew Koenig. Complex numbers are an extension of the more familiar world of real numbers that make

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

Radar Systems Engineering Lecture 3 Review of Signals, Systems and Digital Signal Processing

Radar Systems Engineering Lecture 3 Review of Signals, Systems and Digital Signal Processing Radar Systems Engineering Lecture Review of Signals, Systems and Digital Signal Processing Dr. Robert M. O Donnell Guest Lecturer Radar Systems Course Review Signals, Systems & DSP // Block Diagram of

More information

MA2501 Numerical Methods Spring 2015

MA2501 Numerical Methods Spring 2015 Norwegian University of Science and Technology Department of Mathematics MA5 Numerical Methods Spring 5 Solutions to exercise set 9 Find approximate values of the following integrals using the adaptive

More information

The O () notation. Definition: Let f(n), g(n) be functions of the natural (or real)

The O () notation. Definition: Let f(n), g(n) be functions of the natural (or real) The O () notation When analyzing the runtime of an algorithm, we want to consider the time required for large n. We also want to ignore constant factors (which often stem from tricks and do not indicate

More information

E The Fast Fourier Transform

E The Fast Fourier Transform Fourier Transform Methods in Finance By Umberto Cherubini Giovanni Della Lunga Sabrina Mulinacci Pietro Rossi Copyright 2010 John Wiley & Sons Ltd E The Fast Fourier Transform E.1 DISCRETE FOURIER TRASFORM

More information

Solving Linear and Rational Inequalities Algebraically. Definition 22.1 Two inequalities are equivalent if they have the same solution set.

Solving Linear and Rational Inequalities Algebraically. Definition 22.1 Two inequalities are equivalent if they have the same solution set. Inequalities Concepts: Equivalent Inequalities Solving Linear and Rational Inequalities Algebraically Approximating Solutions to Inequalities Graphically (Section 4.4).1 Equivalent Inequalities Definition.1

More information

Kartsuba s Algorithm and Linear Time Selection

Kartsuba s Algorithm and Linear Time Selection CS 374: Algorithms & Models of Computation, Fall 2015 Kartsuba s Algorithm and Linear Time Selection Lecture 09 September 22, 2015 Chandra & Manoj (UIUC) CS374 1 Fall 2015 1 / 32 Part I Fast Multiplication

More information

ENGIN 211, Engineering Math. Complex Numbers

ENGIN 211, Engineering Math. Complex Numbers ENGIN 211, Engineering Math Complex Numbers 1 Imaginary Number and the Symbol J Consider the solutions for this quadratic equation: x 2 + 1 = 0 x = ± 1 1 is called the imaginary number, and we use the

More information

Transforms and Orthogonal Bases

Transforms and Orthogonal Bases Orthogonal Bases Transforms and Orthogonal Bases We now turn back to linear algebra to understand transforms, which map signals between different domains Recall that signals can be interpreted as vectors

More information

Lecture 1 Complex Numbers. 1 The field of complex numbers. 1.1 Arithmetic operations. 1.2 Field structure of C. MATH-GA Complex Variables

Lecture 1 Complex Numbers. 1 The field of complex numbers. 1.1 Arithmetic operations. 1.2 Field structure of C. MATH-GA Complex Variables Lecture Complex Numbers MATH-GA 245.00 Complex Variables The field of complex numbers. Arithmetic operations The field C of complex numbers is obtained by adjoining the imaginary unit i to the field R

More information

Fourier Series and Fourier Transforms

Fourier Series and Fourier Transforms Fourier Series and Fourier Transforms EECS2 (6.082), MIT Fall 2006 Lectures 2 and 3 Fourier Series From your differential equations course, 18.03, you know Fourier s expression representing a T -periodic

More information

MAT01A1: Complex Numbers (Appendix H)

MAT01A1: Complex Numbers (Appendix H) MAT01A1: Complex Numbers (Appendix H) Dr Craig 14 February 2018 Announcements: e-quiz 1 is live. Deadline is Wed 21 Feb at 23h59. e-quiz 2 (App. A, D, E, H) opens tonight at 19h00. Deadline is Thu 22 Feb

More information

COMS E F15. Lecture 22: Linearity Testing Sparse Fourier Transform

COMS E F15. Lecture 22: Linearity Testing Sparse Fourier Transform COMS E6998-9 F15 Lecture 22: Linearity Testing Sparse Fourier Transform 1 Administrivia, Plan Thu: no class. Happy Thanksgiving! Tue, Dec 1 st : Sergei Vassilvitskii (Google Research) on MapReduce model

More information

Even faster integer multiplication

Even faster integer multiplication Even faster integer multiplication DAVID HARVEY School of Mathematics and Statistics University of New South Wales Sydney NSW 2052 Australia Email: d.harvey@unsw.edu.au JORIS VAN DER HOEVEN a, GRÉGOIRE

More information

Iterative Matching Pursuit and its Applications in Adaptive Time-Frequency Analysis

Iterative Matching Pursuit and its Applications in Adaptive Time-Frequency Analysis Iterative Matching Pursuit and its Applications in Adaptive Time-Frequency Analysis Zuoqiang Shi Mathematical Sciences Center, Tsinghua University Joint wor with Prof. Thomas Y. Hou and Sparsity, Jan 9,

More information

CSE 421. Dynamic Programming Shortest Paths with Negative Weights Yin Tat Lee

CSE 421. Dynamic Programming Shortest Paths with Negative Weights Yin Tat Lee CSE 421 Dynamic Programming Shortest Paths with Negative Weights Yin Tat Lee 1 Shortest Paths with Neg Edge Weights Given a weighted directed graph G = V, E and a source vertex s, where the weight of edge

More information

Lecture 3: Divide and Conquer: Fast Fourier Transform

Lecture 3: Divide and Conquer: Fast Fourier Transform Lecture 3: Divide ad Coquer: Fast Fourier Trasform Polyomial Operatios vs. Represetatios Divide ad Coquer Algorithm Collapsig Samples / Roots of Uity FFT, IFFT, ad Polyomial Multiplicatio Polyomial operatios

More information

Overview of Complex Numbers

Overview of Complex Numbers Overview of Complex Numbers Definition 1 The complex number z is defined as: z = a+bi, where a, b are real numbers and i = 1. General notes about z = a + bi Engineers typically use j instead of i. Examples

More information

Algebra 2 Khan Academy Video Correlations By SpringBoard Activity

Algebra 2 Khan Academy Video Correlations By SpringBoard Activity SB Activity Activity 1 Creating Equations 1-1 Learning Targets: Create an equation in one variable from a real-world context. Solve an equation in one variable. 1-2 Learning Targets: Create equations in

More information

Algorithms and Data Structures

Algorithms and Data Structures Charles A. Wuethrich Bauhaus-University Weimar - CogVis/MMC June 1, 2017 1/44 Space reduction mechanisms Range searching Elementary Algorithms (2D) Raster Methods Shell sort Divide and conquer Quicksort

More information

PROBLEM SET 3: PROOF TECHNIQUES

PROBLEM SET 3: PROOF TECHNIQUES PROBLEM SET 3: PROOF TECHNIQUES CS 198-087: INTRODUCTION TO MATHEMATICAL THINKING UC BERKELEY EECS FALL 2018 This homework is due on Monday, September 24th, at 6:30PM, on Gradescope. As usual, this homework

More information

Algebra 2 Khan Academy Video Correlations By SpringBoard Activity

Algebra 2 Khan Academy Video Correlations By SpringBoard Activity SB Activity Activity 1 Creating Equations 1-1 Learning Targets: Create an equation in one variable from a real-world context. Solve an equation in one variable. 1-2 Learning Targets: Create equations in

More information

Applications of Linear Prediction

Applications of Linear Prediction SGN-4006 Audio and Speech Processing Applications of Linear Prediction Slides for this lecture are based on those created by Katariina Mahkonen for TUT course Puheenkäsittelyn menetelmät in Spring 03.

More information

The Fibonacci sequence modulo π, chaos and some rational recursive equations

The Fibonacci sequence modulo π, chaos and some rational recursive equations J. Math. Anal. Appl. 310 (2005) 506 517 www.elsevier.com/locate/jmaa The Fibonacci sequence modulo π chaos and some rational recursive equations Mohamed Ben H. Rhouma Department of Mathematics and Statistics

More information

Differential Equations

Differential Equations Electricity and Magnetism I (P331) M. R. Shepherd October 14, 2008 Differential Equations The purpose of this note is to provide some supplementary background on differential equations. The problems discussed

More information

Since x + we get x² + 2x = 4, or simplifying it, x² = 4. Therefore, x² + = 4 2 = 2. Ans. (C)

Since x + we get x² + 2x = 4, or simplifying it, x² = 4. Therefore, x² + = 4 2 = 2. Ans. (C) SAT II - Math Level 2 Test #01 Solution 1. x + = 2, then x² + = Since x + = 2, by squaring both side of the equation, (A) - (B) 0 (C) 2 (D) 4 (E) -2 we get x² + 2x 1 + 1 = 4, or simplifying it, x² + 2

More information

A Non-sparse Tutorial on Sparse FFTs

A Non-sparse Tutorial on Sparse FFTs A Non-sparse Tutorial on Sparse FFTs Mark Iwen Michigan State University April 8, 214 M.A. Iwen (MSU) Fast Sparse FFTs April 8, 214 1 / 34 Problem Setup Recover f : [, 2π] C consisting of k trigonometric

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 and Recurrence Relations: Notes on Chapter 2, Dasgupta et.al. Howard A. Blair

Divide-and-Conquer and Recurrence Relations: Notes on Chapter 2, Dasgupta et.al. Howard A. Blair Divide-and-Conquer and Recurrence Relations: Notes on Chapter 2, Dasgupta et.al. Howard A. Blair 1 Multiplication Example 1.1: Carl Friedrich Gauss (1777-1855): The multiplication of two complex numbers

More information

Section 4.1: Polynomial Functions and Models

Section 4.1: Polynomial Functions and Models Section 4.1: Polynomial Functions and Models Learning Objectives: 1. Identify Polynomial Functions and Their Degree 2. Graph Polynomial Functions Using Transformations 3. Identify the Real Zeros of a Polynomial

More information

ME scope Application Note 28

ME scope Application Note 28 App Note 8 www.vibetech.com 3/7/17 ME scope Application Note 8 Mathematics of a Mass-Spring-Damper System INTRODUCTION In this note, the capabilities of ME scope will be used to build a model of the mass-spring-damper

More information