FFT: Fast Polynomial Multiplications
|
|
- Jennifer Paul
- 5 years ago
- Views:
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
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 informationThe 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 informationFast 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 informationChapter 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 informationDivide 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 informationCSE 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 information5.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 informationCSE 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 informationCS483 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 informationDIVIDE 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 informationChapter 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 informationAlgorithm 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 informationDivide 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 informationAlgorithms 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 informationChapter 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 informationDivide 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 informationDesign 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 informationLecture 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 informationFast 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 informationFast 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 informationThe 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 informationHow 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 informationMultiplying 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 informationParallel 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 informationScientific 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 informationThe 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 informationLet 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 informationMid-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 informationSolving 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 informationParallel 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 informationFrequency 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 information4.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 informationMaximum 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 informationCS711008Z 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 informationLegendre 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 informationInverses. 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 informationDIVIDE 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 informationAlgorithms 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 informationCS168: 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 informationDISCRETE 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 informationCh. 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 informationZero 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 informationDivide 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 informationTutorials. 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 informationEquations 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 informationOptimizing 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 informationNAME (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 informationInterpolation 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 informationLinear 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 informationLecture 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 informationIntroduction 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 informationSpeedy 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 informationThe 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 informationComputational 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 informationChapter 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 informationSection 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 informationInteger 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 informationMath 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 informationPractical 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 informationThe 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 informationComputationally, 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 informationMULTISECTION 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 informationUNIVERSITY 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 informationCP 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 informationAP 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 informationA 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 informationData 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 information23. 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 informationMath 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 informationSequential 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 informationExam 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 informationAPPLIED 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 informationDIVIDE 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 informationChapter 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 informationSection 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 informationApproximation 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 informationAlgebra 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 informationTwo 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 informationJim 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 informationSequential 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 informationSECTION 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 informationData 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 information1.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 informationMA3232 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 informationCompensation. 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 informationNATIONAL 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 informationDiscrete 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 informationLinear 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 informationNOTES 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 informationSpace- 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 informationSection 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 informationDivide 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 informationCPSC 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 information1 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 informationR.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 informationNotes 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 informationToeplitz 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 informationCOMP 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 information18.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 informationFall 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