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
$No alternative text available$
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
$No alternative text available$
24.1
where Pn is a permutation matrix and
$No alternative text available$
Proof. See Van Loan [1182, 1992, Thm. 1.3.3].
The theorem shows that we can write y = Fnx as
$No alternative text available$
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 $No alternative text available$ are computed does affect the accuracy. We will assume that computed weights $No alternative text available$ are used that satisfy, for all j and k,
$No alternative text available$
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.

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

## Information & Authors

### Information

#### Published In

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. 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

### Citations

#### Cited By

There are no citations for this item