Imports
Section 30.3 - Efficient FFT implementations
The total bit-reversal permutation exposes structural even/odd laws,
fixed-width bit semantics, involution, and an exact one-move-per-element count.
The functional iterative FFT folds globally ordered stages over that
permutation. Its stage-prefix invariant factors every nonfinal stage over the
two contiguous halves, proving equality with the recursive FFT and the generic
DFT. The execution records exactly one bit-reversal move per input,
k * 2^k additions/subtractions, and k * 2^k multiplications; padding lifts
the total work to the all-input Theta(n log n) scale.
The explicit layered network stores recursive stage circuits whose leaves are
actual butterflies with fixed twiddle constants. Evaluating those stored
gates is proved equal to the iterative FFT, and the same circuit syntax has
k * 2^(k-1) butterflies and butterfly depth k; expanding a butterfly to
one multiplication and two addition/subtraction gates gives
3 * k * 2^(k-1) primitive gates and primitive depth 2 * k. Twiddle powers
are circuit constants and bit reversal is wiring in this circuit model, while
the functional execution separately charges successive twiddle updates.
Mutable arrays, aliasing and in-place loop semantics; RAM, cache, allocator, SIMD, GPU, and communication costs; parallel scheduling and processor bounds; floating-point error and numerical stability; number-theoretic-transform specialization; code generation; exercises; and Problems 30-1 through 30-6 remain outside this exact functional boundary.
Implementation pages:
namespace CLRSnamespace Chapter30end Chapter30end CLRS