Tutorials › Linear Algebra › The Discrete Fourier Matrix as a Unitary Operator

Normal Operators and Complex Inner Product Spaces · Tutorial 880 of 1000

The Discrete Fourier Matrix as a Unitary Operator

Learn to prove that the normalized discrete Fourier matrix is unitary, use it on small vectors, and deduce restrictions on its eigenvalues.

Advanced 10 min read

What You'll Learn

  • Define the normalized discrete Fourier matrix using roots of unity
  • Prove the root-of-unity sum that establishes unitarity
  • Interpret the matrix product entries in the stated inner-product convention
  • Compute Fourier transforms of small complex vectors and check them by inversion
  • Derive the reversal identity for the square of the Fourier matrix
  • Prove the modulus and fourth-root constraints on its eigenvalues

The Fourier Matrix and Its Normalization

The discrete Fourier matrix changes a vector into a list of weighted sums of its coordinates. The weights are complex roots of unity, so the transformation records different oscillatory patterns in the original data. The normalization is essential: it makes the transformation preserve lengths and inner products, rather than changing their scale. We will verify this directly, then use the resulting identities to understand its action and its eigenvalues.

Work over \(\mathbb{C}\), and let \(N\in\mathbb{N}\). Set \(\omega_N=e^{2\pi i/N}\), so \(\omega_N^N=1\). Index the rows and columns from \(0\) to \(N-1\), and define the normalized discrete Fourier matrix \(\mathbf{F}_N\in\mathbb{C}^{N\times N}\) by

$$ (\mathbf{F}_N)_{jk}=\frac{1}{\sqrt{N}}\omega_N^{jk}, \qquad 0\le j,k\le N-1. $$

Here \(i^2=-1\). The conjugate transpose \(\mathbf{A}^*\) is obtained by transposing a matrix and taking the complex conjugate of every entry. A square complex matrix \(\mathbf{U}\) is unitary if \(\mathbf{U}^*\mathbf{U}=\mathbf{I}\). In this course the inner product is linear in its first slot: \(\langle\mathbf{x},\mathbf{y}\rangle=\sum_j x_j\overline{y_j}\). This convention matters when interpreting entries of a matrix product.

Definition: The normalized discrete Fourier matrix of order \(N\) is the matrix \(\mathbf{F}_N\) whose \((j,k)\)-entry is \(N^{-1/2}\omega_N^{jk}\), for \(0\le j,k\le N-1\), where \(\omega_N=e^{2\pi i/N}\). It is unitary when \(\mathbf{F}_N^*\mathbf{F}_N=\mathbf{I}_N\).

The key computation is the sum of powers of a root of unity. For any integer \(r\),

$$ \sum_{j=0}^{N-1}\omega_N^{jr} = \begin{cases} N,&N\text{ divides }r,\\ 0,&N\text{ does not divide }r. \end{cases} $$

If \(N\) divides \(r\), then every term is \(1\). Otherwise \(z=\omega_N^r\ne1\), while \(z^N=1\), and the finite geometric sum is \((1-z^N)/(1-z)=0\). This also covers \(N=1\): the only possible index difference is \(0\), and the sum is \(1\).

Why the Columns Are Orthonormal

Theorem: For every \(N\in\mathbb{N}\), the normalized discrete Fourier matrix \(\mathbf{F}_N\) is unitary. Its columns form an orthonormal list in \(\mathbb{C}^N\).

Proof. Let \(\mathbf{f}_k\) denote column \(k\) of \(\mathbf{F}_N\). The \((k,\ell)\)-entry of \(\mathbf{F}_N^*\mathbf{F}_N\) is

$$ (\mathbf{F}_N^*\mathbf{F}_N)_{k\ell} =\sum_{j=0}^{N-1}\overline{(\mathbf{F}_N)_{jk}}(\mathbf{F}_N)_{j\ell} =\frac{1}{N}\sum_{j=0}^{N-1}\omega_N^{j(\ell-k)}. $$

By the root-of-unity sum, this entry is \(1\) if \(N\) divides \(\ell-k\), and \(0\) otherwise. Since \(k,\ell\) are between \(0\) and \(N-1\), divisibility occurs exactly when \(k=\ell\). Thus \(\mathbf{F}_N^*\mathbf{F}_N=\mathbf{I}_N\), proving unitarity. Under the specified inner-product convention, the displayed entry is \(\langle\mathbf{f}_{\ell},\mathbf{f}_k\rangle\), not \(\langle\mathbf{f}_k,\mathbf{f}_{\ell}\rangle\); both are \(1\) when \(k=\ell\) and \(0\) otherwise. Therefore the columns are orthonormal. \(\square\)

For any complex matrix \(\mathbf{A}\) with columns \(\mathbf{a}_1,\dots,\mathbf{a}_n\), the same entry calculation gives \((\mathbf{A}^*\mathbf{A})_{k\ell}=\langle\mathbf{a}_{\ell},\mathbf{a}_k\rangle\) with this convention. In the Fourier case, the root-of-unity sum makes this product the identity. Because \(\mathbf{F}_N\) is square, one can also check \(\mathbf{F}_N\mathbf{F}_N^*=\mathbf{I}_N\) directly by the same sum over the column index. Consequently \(\mathbf{F}_N^{-1}=\mathbf{F}_N^*\): applying the conjugate transpose recovers the original vector.

Worked Example: The Fourier Matrix of Order Two

For \(N=2\), \(\omega_2=-1\), so

$$ \mathbf{F}_2=\frac{1}{\sqrt{2}} \begin{bmatrix} 1&1\\ 1&-1 \end{bmatrix}. $$

The matrix is real, so its conjugate transpose is its transpose. Multiplying gives

$$ \mathbf{F}_2^*\mathbf{F}_2 =\frac{1}{2} \begin{bmatrix} 1&1\\ 1&-1 \end{bmatrix} \begin{bmatrix} 1&1\\ 1&-1 \end{bmatrix} =\frac{1}{2} \begin{bmatrix} 2&0\\ 0&2 \end{bmatrix} =\mathbf{I}_2. $$

For \(\mathbf{x}=(2,i)^{\top}\), its transform is

$$ \mathbf{F}_2\mathbf{x} =\frac{1}{\sqrt{2}} \begin{bmatrix} 2+i\\ 2-i \end{bmatrix}. $$

Check: applying \(\mathbf{F}_2^*=\mathbf{F}_2\) gives \(\frac12( (2+i)+(2-i),\ (2+i)-(2-i))^{\top}=(2,i)^{\top}\). Thus the computed transform is recovered exactly.

Computing the Transform

If \(\mathbf{x}=(x_0,\dots,x_{N-1})^{\top}\), matrix multiplication gives the \(j\)-th output coordinate as

$$ (\mathbf{F}_N\mathbf{x})_j =\frac{1}{\sqrt{N}}\sum_{k=0}^{N-1}\omega_N^{jk}x_k, \qquad 0\le j\le N-1. $$

Thus each output coordinate is a particular weighted sum of all input coordinates. The zeroth output is especially simple: \((\mathbf{F}_N\mathbf{x})_0=N^{-1/2}\sum_k x_k\), since \(\omega_N^0=1\). The other rows use successive powers of the root of unity. Unitarity says that these changes of coordinates preserve inner products, including lengths, even though individual coordinates generally change.

Worked Example: Applying the Order-Four Transform

For \(N=4\), \(\omega_4=i\). Take \(\mathbf{x}=(1,i,-1,0)^{\top}\). Then

$$ \mathbf{F}_4=\frac12 \begin{bmatrix} 1&1&1&1\\ 1&i&-1&-i\\ 1&-1&1&-1\\ 1&-i&-1&i \end{bmatrix}. $$

Multiplying row by row, the four unscaled sums are \(1+i-1+0=i\), \(1+i^2+(-1)(-1)+0=1\), \(1-i-1+0=-i\), and \(1+(-i)i+(-1)(-1)+0=3\). Therefore

$$ \mathbf{F}_4\mathbf{x} =\frac12 \begin{bmatrix} i\\1\\-i\\3 \end{bmatrix}. $$

Check: apply \(\mathbf{F}_4^*\) to this answer. Writing the output as \(\frac12\mathbf{z}\), where \(\mathbf{z}=(i,1,-i,3)^{\top}\), the four row sums of the unscaled \(\mathbf{F}_4^*\mathbf{z}\) are \(4\), \(4i\), \(-4\), and \(0\). The overall factor is \(1/4\), so \(\mathbf{F}_4^*(\mathbf{F}_4\mathbf{x})=(1,i,-1,0)^{\top}=\mathbf{x}\).

Preservation of length provides another check. The input in this example has squared length \(1+1+1+0=3\). The output has squared length \((1+1+1+9)/4=3\), as unitarity requires.

Reversal Symmetry and Eigenvalues

The square of the Fourier matrix has a particularly simple action. Let \(\rho(j)\) be the unique index in \(\{0,\dots,N-1\}\) congruent to \(-j\) modulo \(N\). The index \(0\) stays fixed, and when \(N\) is even the index \(N/2\) is fixed as well, since \(-N/2\equiv N/2\pmod N\). All remaining indices are paired with their reversals.

Theorem: For every \(N\in\mathbb{N}\) and every \(\mathbf{x}\in\mathbb{C}^N\), \((\mathbf{F}_N^2\mathbf{x})_j=x_{\rho(j)}\). In particular, \(\mathbf{F}_N^4=\mathbf{I}_N\).

Proof. By the definition of matrix multiplication, for each \(j\),

$$ (\mathbf{F}_N^2\mathbf{x})_j =\frac{1}{N}\sum_{\ell=0}^{N-1}x_\ell \sum_{k=0}^{N-1}\omega_N^{k(j+\ell)}. $$

The inner sum is \(N\) exactly when \(N\) divides \(j+\ell\), and is \(0\) otherwise. Among the indices \(0,\dots,N-1\), exactly one \(\ell\) satisfies that divisibility condition: \(\ell=\rho(j)\). Hence the coordinate is \(x_{\rho(j)}\). Applying this reversal twice returns every coordinate to its original index, so \(\mathbf{F}_N^4\mathbf{x}=\mathbf{x}\) for every \(\mathbf{x}\), which proves \(\mathbf{F}_N^4=\mathbf{I}_N\). \(\square\)

Corollary: If \(\lambda\) is an eigenvalue of \(\mathbf{F}_N\), then \(|\lambda|=1\) and \(\lambda^4=1\). Thus every eigenvalue belongs to \(\{1,-1,i,-i\}\).

Proof. By definition, an eigenvalue \(\lambda\) has a nonzero eigenvector \(\mathbf{v}\) such that \(\mathbf{F}_N\mathbf{v}=\lambda\mathbf{v}\). Since \(\mathbf{F}_N\) is unitary, it preserves lengths. Therefore \(\|\mathbf{v}\|=\|\mathbf{F}_N\mathbf{v}\|=\|\lambda\mathbf{v}\|=|\lambda|\|\mathbf{v}\|\). Because \(\mathbf{v}\ne\mathbf{0}\), its length is positive, and division gives \(|\lambda|=1\). Applying the fourth-power identity to \(\mathbf{v}\) also gives \(\mathbf{v}=\mathbf{F}_N^4\mathbf{v}=\lambda^4\mathbf{v}\). Since \(\mathbf{v}\ne\mathbf{0}\), this implies \(\lambda^4=1\). The complex solutions of this equation are \(1,-1,i,-i\). \(\square\)

This is a constraint, not a claim that all four values must occur for every \(N\). The order of the Fourier matrix and its eigenspaces determine which values actually appear. The calculation only requires that any eigenvalue it does have must satisfy both conditions.

Worked Example: Eigenvalues of the Order-Two Transform

For \(\mathbf{F}_2\), consider \(\mathbf{v}_+=(1,1)^{\top}\) and \(\mathbf{v}_-=(1,-1)^{\top}\). Direct multiplication gives

$$ \mathbf{F}_2\mathbf{v}_+ =\frac{1}{\sqrt{2}} \begin{bmatrix}2\\0\end{bmatrix} =\sqrt{2} \begin{bmatrix}1\\0\end{bmatrix} $$

This is not a scalar multiple of \(\mathbf{v}_+\), so \(\mathbf{v}_+\) is not an eigenvector. For \(\mathbf{v}_-\), the calculation is instead

$$ \mathbf{F}_2\mathbf{v}_- =\frac{1}{\sqrt{2}} \begin{bmatrix}0\\2\end{bmatrix}. $$

This also is not a scalar multiple of \(\mathbf{v}_-\). To exhibit actual eigenvectors, use \(\mathbf{w}_+=(1,\sqrt{2}-1)^{\top}\) and \(\mathbf{w}_-=(1,-\sqrt{2}-1)^{\top}\). For the first vector, the first coordinate of \(\mathbf{F}_2\mathbf{w}_+\) is \(\sqrt{2}/\sqrt{2}=1\), and the second is \((1-(\sqrt{2}-1))/\sqrt{2}=\sqrt{2}-1\). Thus \(\mathbf{F}_2\mathbf{w}_+=\mathbf{w}_+\). For the second, the first coordinate is \(-\sqrt{2}/\sqrt{2}=-1\), and the second is \((1+\sqrt{2}+1)/\sqrt{2}=\sqrt{2}+1\). Hence \(\mathbf{F}_2\mathbf{w}_-=-\mathbf{w}_-\).

Check: these equations verify the eigenpairs directly; their eigenvalues \(1\) and \(-1\) each have modulus \(1\) and fourth power \(1\), as required. The initial two vectors are included to emphasize that a vector need not be an eigenvector merely because it is a simple or symmetric-looking input.

Common Pitfall: Transpose Is Not Conjugate Transpose

For complex matrices, replacing \(\mathbf{F}_N^*\) by the ordinary transpose \(\mathbf{F}_N^{\top}\) loses the conjugation needed for unitarity. For example, in \(\mathbf{F}_4\), column \(1\) is \(\frac12(1,i,-1,-i)^{\top}\). Its ordinary bilinear self-product is

$$ \frac14\bigl(1^2+i^2+(-1)^2+(-i)^2\bigr) =\frac14(1-1+1-1)=0, $$

not \(1\). The incorrect calculation \(\mathbf{F}_4^{\top}\mathbf{F}_4=\mathbf{I}_4\) therefore fails even on a diagonal entry. With conjugation, the corresponding entry is \(\frac14(1+|i|^2+|-1|^2+|-i|^2)=1\), exactly as required. The conjugate transpose is essential because complex orthogonality uses conjugated coordinates.

The practical value of these identities is twofold. First, the Fourier matrix provides a reversible transform that preserves lengths and inner products, which makes it a natural change of coordinates for complex data. Second, its reversal-square identity gives eigenvalue information without needing to compute a characteristic polynomial. Whenever an eigenvector calculation is attempted, the modulus-one and fourth-root conditions provide immediate checks on a proposed eigenvalue.

Check Your Understanding

Use indices from \(0\) to \(N-1\), and show enough working to justify each conclusion.

  1. Write \(\mathbf{F}_3\) using \(\omega_3\), and use the root-of-unity sum to verify that its first and second columns are orthogonal.
  2. Compute \(\mathbf{F}_2(1,-1)^{\top}\). Is the result a scalar multiple of the input?
  3. For a general \(N\), explain why the \((k,\ell)\)-entry of \(\mathbf{F}_N^*\mathbf{F}_N\) is \(\langle\mathbf{f}_{\ell},\mathbf{f}_k\rangle\) under the stated convention.
  4. Use the reversal identity to state \(\mathbf{F}_5^2\mathbf{x}\) in terms of the coordinates of \(\mathbf{x}\).
  5. What two conditions must every eigenvalue of \(\mathbf{F}_N\) satisfy, and which part of the proof establishes each condition?

Test yourself: Linear Algebra final exam practice

Ready to check what you know? Work a full-length practice final, then open the complete worked solutions.

Want all 1,114 practice problems?

This tutorial covers one topic. Calc Pass covers the full Calculus AB & BC curriculum (the core of Calculus I and II): full review, every practice question, and step-by-step solutions to each one.

QR code to download the Calc Pass app

Get the Calc Pass App

Scan to download and practice on the go, with instant scoring.

Calc Pass Volume 1: 1,114 Practice Questions book cover

Vol. 1: 1,114 Questions

The complete practice question bank, organized by AB & BC topic.

View on Amazon
Calc Pass Volume 2: Solutions Manual book cover

Vol. 2: Solutions Manual

Fully worked solutions to every question in Volume 1.

View on Amazon