Generalizing the Butterfly Structure of the FFT

  • John PolcariEmail author
Part of the STEAM-H: Science, Technology, Engineering, Agriculture, Mathematics & Health book series (STEAM)


The structure of the various forms of the fast Fourier transform (FFT) is well described by patterns of “butterfly” operations, each involving only an individual pair of inputs or intermediate results, but ultimately yielding one of the most elegant, efficient, and ubiquitous computational algorithms known to mathematics. Here, the structure underlying the FFT is developed in a more general context of a decomposition applicable to any arbitrary complex unitary matrix. By developing this multi-layer decomposition (MLD), it becomes clear that:
  • Any unitary matrix may be decomposed into a butterfly flow graph.

  • Each individual butterfly may be interpreted as an equivalent 2 × 2 standard complex Givens rotation.

  • Identification of the butterfly flow graph for any particular unitary matrix is intimately related to the singular value decomposition (SVD) of the different block sub-matrices of the original unitary matrix.

  • The resulting butterfly flow graph may be interpreted as a prescription of the individual planar coordinate rotations necessary to precisely implement the general multi-dimensional coordinate rotation defined by the unitary matrix. It may also be interpreted as the equivalent polar representation for the matrix.

  • The general form of the butterfly flow graph is not “fast.” The FFT achieves its computational efficiency due to certain specific mathematical symmetries, permitting removal of extraneous butterflies.

  • The form of the butterfly flow graph is sensitive to the order in which the inputs and outputs are specified.

  • A distinct advantage of the MLD is that any approximations or modifications made within this structure continue to result in a full unitary transformation.

An initial MATLAB code set implementing MLD is provided. The author believes the basic MLD concept to be a novel procedure which opens the possibility for subsequent exploitation in a number of different directions.


Butterfly Computational efficiency Fast transform Fast Fourier transform Flow graph Givens matrix Matrix analysis Matrix decomposition Orthogonal matrix Rotation matrix Unitary matrix Singular value decomposition 



This research was partially supported by the Office of Naval Research Code 321MS, via contract through Oak Ridge National Laboratory. Oak Ridge National Laboratory is managed by UT-Battelle, LLC for the United States Department of Energy under Contract DE-AC05-00OR22725.


  1. 1.
    A. Oppenheim, R. Schafer, Digital Signal Processing (Prentice-Hall, Englewood Cliffs, NJ, 1975), pp. 290–309 Sections 6.2 and 6.3zbMATHGoogle Scholar
  2. 2.
    J. Polcari, Butterfly decompositions for arbitrary unitary matrices, Working Paper, Rev 2 (Feb 2014),
  3. 3.
    Wikipedia, Unitary matrix [Online] (2018),
  4. 4.
    Wikipedia, Givens rotation [Online] (2018),
  5. 5.
    J. Polcari, MLD MATLAB Code Set (Oct 2017),
  6. 6.
    J. Polcari, Jacobian determinants of the SVD, Working Paper, Rev 3 (Sept 2017),
  7. 7.
    J. Polcari, Representing unitary matrices by independent parameters, Working Paper, Rev 0 (Oct 2016),

Copyright information

© Springer International Publishing AG, part of Springer Nature 2018

Authors and Affiliations

  1. 1.Informative Interpretations LLCBurkeUSA
  2. 2.Oak Ridge National LaboratoryOak RidgeUSA

Personalised recommendations