# dftmtx

Discrete Fourier transform matrix

## Syntax

`A = dftmtx(n)`

## Description

A discrete Fourier transform matrix is a complex matrix of values around the unit circle whose matrix product with a vector computes the discrete Fourier transform of the vector.

`A = dftmtx(n)` returns the `n`-by-`n` complex matrix, `A`, that, when multiplied into a length-`n` column vector, `x`, computes the discrete Fourier transform of `x`. In other words, `y = A*x` is the same as `y = fft(x)`.

The inverse discrete Fourier transform matrix is

```Ai = conj(dftmtx(n))/n ```

## Examples

collapse all

### The FFT and the DFT Matrix

In practice, it is more efficient to compute the discrete Fourier transform with the FFT than with the DFT matrix. The FFT also uses less memory. The two procedures give the same result.

```x = 1:256; y1 = fft(x); n = length(x); y2 = x*dftmtx(n); norm(y1-y2) ```
```ans = 6.9611e-12 ```

collapse all

### Algorithms

`dftmtx` takes the FFT of the identity matrix to generate the transform matrix.