Quantum Fourier transform
In quantum computing, the quantum Fourier transform (QFT) is a linear transformation on quantum bits, and is the quantum analogue of the discrete Fourier transform. The quantum Fourier transform is a part of many quantum algorithms, notably Shor's algorithm for factoring and computing the discrete logarithm, the quantum phase estimation algorithm for estimating the eigenvalues of a unitary operator, and algorithms for the hidden subgroup problem. The quantum Fourier transform was discovered by Don Coppersmith. The quantum Fourier transform can be performed efficiently on a quantum computer with a  decomposition into the product of simpler unitary matrices. The discrete Fourier transform on  amplitudes can be implemented as a quantum circuit consisting of only  Hadamard gates and controlled phase shift gates, where  is the number of qubits. This can be compared with the classical discrete Fourier transform, which takes  gates (where  is the number of bits), which is exponentially more than . The quantum Fourier transform acts on a quantum state vector (a quantum register), and the classical Fourier transform acts on a vector. Both types of vectors can be written as lists of complex numbers. In the quantum case it is a sequence of probability amplitudes for all the possible outcomes upon measurement (called basis states, or eigenstates). Because measurement collapses the quantum state to a single basis state, not every task that uses the classical Fourier transform can take advantage of the quantum Fourier transform's exponential speedup. The best quantum Fourier transform algorithms known (as of late 2000) require only  gates to achieve an efficient approximation, provided that a controlled phase gate is implemented as a native operation. Definition 
The quantum Fourier transform is the classical discrete Fourier transform applied to the vector of amplitudes of a quantum state, which usually has length . The classical Fourier transform acts on a vector  and maps it to the vector
 according to the formula:

            
where  and  is an N-th root of unity. Similarly, the quantum Fourier transform acts on a quantum state  and maps it to a quantum state  according to the formula:

(Conventions for the sign of the phase factor exponent vary; here the quantum Fourier transform has the same effect as the inverse discrete Fourier transform, and vice versa.) Since  is a rotation, the inverse quantum Fourier transform acts similarly but with:

In case that  is a basis state, the quantum Fourier Transform can also be expressed as the map

Equivalently, the quantum Fourier transform can be viewed as a unitary matrix (or quantum gate) acting on quantum state vectors, where the unitary matrix  is the DFT matrix

where . For example, in the case of  and phase  the transformation matrix is

Properties

Unitarity 

Most of the properties of the quantum Fourier transform follow from the fact that it is a unitary transformation. This can be checked by performing matrix multiplication and ensuring that the relation  holds, where  is the Hermitian adjoint of . Alternately, one can check that orthogonal vectors of norm 1 get mapped to orthogonal vectors of norm 1. From the unitary property it follows that the inverse of the quantum Fourier transform is the Hermitian adjoint of the Fourier matrix, thus . Since there is an efficient quantum circuit implementing the quantum Fourier transform, the circuit can be run in reverse to perform the inverse quantum Fourier transform. Thus both transforms can be efficiently performed on a quantum computer. Circuit implementation 
The quantum gates used in the circuit of  qubits are the Hadamard gate and the phase gate :

The circuit is composed of  gates and the controlled version of :

An orthonormal basis consists of the basis states 

These basis states span all possible states of the qubits:

where, with tensor product notation ,  indicates that qubit  is in state , with  either 0 or 1. By convention, the basis state index  is the binary number encoded by the , with  the most significant bit. The action of the Hadamard gate is , where the sign depends on . The quantum Fourier transform can be written as the tensor product of a series of terms:
 

Using the fractional binary notation 

the action of the quantum Fourier transform can be expressed in a compact manner:

To obtain this state from the circuit depicted above, a swap operation of the qubits must be performed to reverse their order. At most  swaps are required. Because the discrete Fourier transform, an operation on n qubits, can be factored into the tensor product of n single-qubit operations, it is easily represented as a quantum circuit (up to an order reversal of the output). Each of those single-qubit operations can be implemented efficiently using one Hadamard gate and a linear number of controlled phase gates. The first term requires one Hadamard gate and  controlled phase gates, the next term requires one Hadamard gate and  controlled phase gate, and each following term requires one fewer controlled phase gate. Summing up the number of gates, excluding the ones needed for the output reversal, gives  gates, which is quadratic polynomial in the number of qubits. The circuit-level implementation of the quantum Fourier transform on a linear nearest neighbor architecture has been studied before. The circuit depth is linear in the number of qubits. Example 

The quantum Fourier transform on three qubits,  with , is represented by the following transformation:

where  is an eighth root of unity satisfying . The matrix representation of the Fourier transform on three qubits is:

The 3-qubit quantum Fourier transform can be rewritten as:

The following sketch shows the respective circuit for  (with reversed order of output qubits with respect to the proper QFT):

As calculated above, the number of gates used is  which is equal to , for . Relation to quantum Hadamard transform 

Using the generalized Fourier transform on finite (abelian) groups, there are actually two natural ways to define a quantum Fourier transform on an n-qubit quantum register. The QFT as defined above is equivalent to the DFT, which considers these n qubits as indexed by the cyclic group . However, it also makes sense to consider the qubits as indexed by the Boolean group , and in this case the Fourier transform is the Hadamard transform. This is achieved by applying a Hadamard gate to each of the n qubits in parallel. Shor's algorithm uses both types of Fourier transforms, an initial Hadamard transform as well as a QFT. References 

 K. R. Parthasarathy, Lectures on Quantum Computation and Quantum Error Correcting Codes (Indian Statistical Institute, Delhi Center, June 2001)
 John Preskill, Lecture Notes for Physics 229: Quantum Information and Computation (CIT, September 1998)

External links
Wolfram Demonstration Project: Quantum Circuit Implementing Grover's Search Algorithm
Wolfram Demonstration Project: Quantum Circuit Implementing Quantum Fourier Transform
 Quirk online life quantum fourier transform

Transforms
Quantum algorithms
Fourier analysis