Other Titles in Applied Mathematics
Accuracy and Stability of Numerical Algorithms

24. The Fast Fourier Transform and Applications

Abstract

Once the [FFT] method was established it became clear that it had a long and interesting prehistory going back as far as Gauss. But until the advent of computing machines it was a solution looking for a problem.
— T. W. KöRNER, Fourier Analysis (1988)
Life as we know it would be very different without the FFT.
— CHARLES F. VAN LOAN, Computational Frameworks for the Fast Fourier Transform (1992)
24.1. The Fast Fourier Transform
The matrix-vector product y = Fnx, where
Fn=(exp(2πi(r1)(s1)/n))r,s=1n,
is the key computation in the numerical evaluation of Fourier transforms. If the product is formed in the obvious way then O(n2) operations are required. The fast Fourier transform (FFT) is a way to compute y in just O(nlogn) operations. This represents a dramatic reduction in complexity.
The FFT is best understood (at least by a numerical analyst!) by interpreting it as the application of a clever factorization of the discrete Fourier transform (DFT) matrix Fn.
Theorem 24.1 (Cooley-Tukey radix 2 factorization). If n = 2t then the DFT matrix Fn may be factorized as
Fn=AtA1Pn,
24.1
where Pn is a permutation matrix and
Ak=I2tkB2k,B2k=IrΩrIrΩr,r=2k1,Ωr=diag(1,ωk,,ωkr1),ωk=exp(2πi/2k).
Proof. See Van Loan [1182, 1992, Thm. 1.3.3].
The theorem shows that we can write y = Fnx as
y=AtA1Pnx,
which is formed as a sequence of matrix-vector products. It is the sparsity of the Ak (two nonzeros per row) that yields the O(n log n) operation count.
We will not consider the implementation of the FFT, and therefore we do not need to define the “bit reversing” permutation matrix Pn in (24.1). However, the way in which the weights ωkj are computed does affect the accuracy. We will assume that computed weights ω^kj are used that satisfy, for all j and k,
w̑kj=wkj+ϵkj,|ϵkj|μ.
24.2
Among the many methods for computing the weights are ones for which we can take μ = cu, μ = cu log j, and μ = cuj, where c is a constant that depends on the method; see Van Loan [1182, 1992, §1.4].
We are now ready to prove an error bound.

Get full access to this article

View all available purchase options and get full access to this chapter.

Information & Authors

Information

Published In

cover image Other Titles in Applied Mathematics
Accuracy and Stability of Numerical Algorithms
Pages: 451 - 457
ISBN (Print): 0898715210
ISBN (Print): 978-0-89871-521-7
ISBN (Online): 978-0-89871-802-7

History

Published online: 23 March 2012

Keywords

  1. numerical analysis
  2. data processing
  3. computer algorithms

Keywords

  1. 07
  2. 01
  3. 03

Keywords

  1. 519.4'0285'51—dc21

Keywords

    QA297 .H53 2002Numerical analysis—Data processing, Computer algorithms

Authors

Affiliations

Nicholas J. Higham
University of Manchester, Manchester, England

Metrics & Citations

Metrics

Citations

If you have the appropriate software installed, you can download article citation data to the citation manager of your choice. Simply select your manager software from the list below and click Download.

Cited By

There are no citations for this item

Media

Figures

Other

Tables

Share

Share

Copy the content Link

Share with email

Email a colleague

Share on social media

The SIAM Publications Library now uses SIAM Single Sign-On for individuals. If you do not have existing SIAM credentials, create your SIAM account https://my.siam.org.