This chapter describes the basic usage of FFTW, i.e., how to compute the Fourier transform of a single array. This chapter tells the truth, but not the whole truth. Specifically, FFTW implements additional routines and flags that are not documented here, although in many cases we try to indicate where added capabilities exist. For more complete information, see FFTW Reference. (Note that you need to compile and install FFTW before you can use it in a program. For the details of the installation, see Installation and Customization.)
We recommend that you read this tutorial in order.1 At the least, read the first section (see Complex One-Dimensional DFTs) before reading any of the others, even if your main interest lies in one of the other transform types.
Users of FFTW version 2 and earlier may also want to read Upgrading from FFTW version 2.
 You can read the tutorial in bit-reversed order after computing your first transform.