fast fourier transform
play

Fast Fourier Transform Dima Kochkov 1 1 Department of Physics - PowerPoint PPT Presentation

Impact Math part Algorithm References Fast Fourier Transform Dima Kochkov 1 1 Department of Physics University of Illinois at Urbana-Champaign Algorithm interest meeting, 2016 Impact Math part Algorithm References Outline Summation


  1. Impact Math part Algorithm References Fast Fourier Transform Dima Kochkov 1 1 Department of Physics University of Illinois at Urbana-Champaign Algorithm interest meeting, 2016

  2. Impact Math part Algorithm References Outline Summation Impact 1 Multiplication Significance Evaluation Applications Math part 2 Algorithm 3 Definitions Switching representations Ring of Polynomials Recursive evaluation Representations of polynomials References 4

  3. Impact Math part Algorithm References Outline Summation Impact 1 Multiplication Significance Evaluation Applications Math part 2 Algorithm 3 Definitions Switching representations Ring of Polynomials Recursive evaluation Representations of polynomials References 4

  4. Impact Math part Algorithm References Significance Fast Fourier Transform is considered to be one of the most important algorithms of 20 th century. It performs Discrete Fourier Transform in N log 2 N time in comparison to the naive N 2 . This algorithm is accountable for many advances and wide applicability of Fourier transformation in numerics.

  5. Impact Math part Algorithm References Outline Summation Impact 1 Multiplication Significance Evaluation Applications Math part 2 Algorithm 3 Definitions Switching representations Ring of Polynomials Recursive evaluation Representations of polynomials References 4

  6. Impact Math part Algorithm References Where it is used Fast Fourier Transform is heavily used in many fields, including, but not limited to: Data analysis (Fourier components) Data compression (Jpeg, MP3, etc) Partial di ff erential equation solvers Big integer multiplication

  7. Impact Math part Algorithm References Outline Summation Impact 1 Multiplication Significance Evaluation Applications Math part 2 Algorithm 3 Definitions Switching representations Ring of Polynomials Recursive evaluation Representations of polynomials References 4

  8. Impact Math part Algorithm References In the literature the term Fast Fourier Transform stands for an algorithm that computes a Discrete Fourier Transform in N log 2 N time. There exist a variety of di ff erent implementations and generalizations. In this talk I will only concentrate on the central idea. k = N − 1 e 2 π i kj a ) = ~ X N a k FFT ( ~ X : X j = (1) k =0 Which is equivalent to a convolution of a given sequence with a special sequence of elements. In the following sections I will map the problem to a multiplication of polynomials and will closely follow the lecture on FFT by Erik Demaine MIT lecture on FFT

  9. Impact Math part Algorithm References Outline Summation Impact 1 Multiplication Significance Evaluation Applications Math part 2 Algorithm 3 Definitions Switching representations Ring of Polynomials Recursive evaluation Representations of polynomials References 4

  10. Impact Math part Algorithm References Polynomials A polynomial ring in X over a field K is an algebraic structure that consists of polynomials of variable z ∈ X and coe ffi cients from the field K. j = N − 1 X a j z j P N − 1 ( z ) = (2) j =0 This structure features addition, multiplication and CS-ish addition evaluation operations. In this presentation we will establish a correspondence between vectors and polynomials, as well as di ff erent operations on them.

  11. Impact Math part Algorithm References Outline Summation Impact 1 Multiplication Significance Evaluation Applications Math part 2 Algorithm 3 Definitions Switching representations Ring of Polynomials Recursive evaluation Representations of polynomials References 4

  12. Impact Math part Algorithm References Representations There are several reasonable representations that we might consider: Coe ffi cients a j : P N − 1 ( z ) = P j = N − 1 ˜ a j z j j =0 Roots z j : ˜ P N − 1 ( z ) = a N − 1 ( z − z N − 1 ) .. ( z − z 1 ) ˜ Samples ( z j , P N − 1 ( z j )) for N di ff erent points From now on I will fix the N to be some power of 2 and will use bottom index to indicate di ff erent polynomials.

  13. Impact Math part Algorithm References Outline Summation Impact 1 Multiplication Significance Evaluation Applications Math part 2 Algorithm 3 Definitions Switching representations Ring of Polynomials Recursive evaluation Representations of polynomials References 4

  14. Impact Math part Algorithm References Summation Coe ffi cients P a ( z ) + P b ( z ) = P c ( z ) : c j = a j + bj : add corresponding coe ffi cients N Roots Impossible if arbitrary precision is desired Samples P a ( z j ) + P b ( z j ) = P c ( z j ) : add corresponding values of P N So far : coe ffi cients - ok, Samples - ok, Roots - Boo!

  15. Impact Math part Algorithm References Outline Summation Impact 1 Multiplication Significance Evaluation Applications Math part 2 Algorithm 3 Definitions Switching representations Ring of Polynomials Recursive evaluation Representations of polynomials References 4

  16. Impact Math part Algorithm References Multiplication Coe ffi cients P a ( z ) ∗ P b ( z ) = P c ( z ) : c j = P k = N k =0 a k ∗ bj − k N 2 Roots Concatenate the list of roots, update the leading coe ffi cient N Samples P a ( z j ) ∗ P b ( z j ) = P c ( z j ) : multiply corresponding values of P N So far : coe ffi cients - nah, Samples - alpha?, Roots - still boo!

  17. Impact Math part Algorithm References Outline Summation Impact 1 Multiplication Significance Evaluation Applications Math part 2 Algorithm 3 Definitions Switching representations Ring of Polynomials Recursive evaluation Representations of polynomials References 4

  18. Impact Math part Algorithm References Evaluation Coe ffi cients P c ( z ) : add contributions from di ff erent powers, N Roots Evaluate multiplication of Q j ( z − z j ) N Samples system of N linear equations N 2 Have to solve for coe ffi cients No representation is perfect :-(

  19. Impact Math part Algorithm References Outline Summation Impact 1 Multiplication Significance Evaluation Applications Math part 2 Algorithm 3 Definitions Switching representations Ring of Polynomials Recursive evaluation Representations of polynomials References 4

  20. Impact Math part Algorithm References Evaluation at N points The algorithm gets its boost by jumping back and forth between representations. We will concentrate on the transformation from the coe ffi cient representation to the samples representation, since the inverse is similar. To do that we need to evaluate P at N di ff erent points. N ∗ N , can we do better?

  21. Impact Math part Algorithm References Outline Summation Impact 1 Multiplication Significance Evaluation Applications Math part 2 Algorithm 3 Definitions Switching representations Ring of Polynomials Recursive evaluation Representations of polynomials References 4

  22. Impact Math part Algorithm References Split even and odd powers We can rewrite evaluation P ( z ) as a sum of 2 values that can be computed recursively: j = N − 1 j = N − 1 j = N − 1 2 2 a j z j = a 2 j +1 z 2 j = P a ( z 2 )+ zP b ( z 2 ) X X a 2 j z 2 j + z X P ( z ) = j =0 j =0 j =0 (3)

  23. Impact Math part Algorithm References Magic! Now we will use the freedom of choosing sample points to make this algorithm work! Consider the set of roots of unity. 2 , e i π , e i 3 π 2 , e 2 π ] 2 → [ − 1 , 1] [ e i π (4) The number of points on which one needs to evaluate consecutive polynomials shrinks by a factor of 2 with every recursion call. That insures the N log 2 ( N ) performance.

  24. Impact Math part Algorithm References Algorithm

  25. Impact Math part Algorithm References courses, books MIT video lecture on FFT by Erik Demaine lecture on FFT, complexity analysis

Recommend


More recommend