FourierMatrix

FourierMatrix is a function that returns the unitary matrix that implements the quantum Fourier transform. That is, it returns the $d \times d$ matrix
 * $$\frac{1}{\sqrt{d}}\begin{bmatrix}1 & 1 & 1 & \cdots & 1 \\ 1 & \omega & \omega^2 & \cdots & \omega^{d-1} \\ 1 & \omega^2 & \omega^4 & \cdots & \omega^{2(d-1)} \\ \vdots & \vdots & \vdots & \ddots & \vdots \\ 1 & \omega^{d-1} & \omega^{2(d-1)} & \cdots & \omega^{(d-1)(d-1)} \end{bmatrix},$$

where $\omega := \exp(2\pi i/d)$ is a primitive d-th root of unity.

Syntax

 * F = FourierMatrix(DIM)

Argument descriptions

 * DIM: The dimension of the system. In other words, F will be a DIM-by-DIM matrix.

The qubit Fourier matrix
The qubit Fourier matrix is simply the usual Hadamard gate:

The three-qubit Fourier matrix
The following line of code generates the three-qubit (i.e., DIM = 8) Fourier matrix, which can be seen here. The multiplication by sqrt(8) is just there to make the output easier to read.