Skip to main contentIBM Quantum Documentation
You are viewing the API reference for an old version of Qiskit SDK. Switch to latest version

Quantum Fourier Transforms

qiskit.aqua.components.qfts

In quantum computing, a Quantum Fourier Transform (QFT) is a linear transformation on quantum bits, and is the quantum analogue of the discrete Fourier transform. A QFT is a part of many quantum algorithms, such as Shor’s algorithm for factoring and computing the discrete logarithm, and the QPE algorithm for estimating the eigenvalues of a unitary operator.

A QFT can be performed efficiently on a quantum computer, with a particular decomposition into a product of simpler unitary matrices. It has been shown(opens in a new tab) how, using a simple decomposition, the discrete Fourier transform on 2n2^n amplitudes can be implemented as a quantum circuit consisting of only O(n2)O(n^2) Hadamard gates and controlled phase shift gates, where nn is the number of qubits. This is in contrast to the classical discrete Fourier transform, which takes O(n2n)O(n2^n) gates, where in the classical case nn is the number of bits. The best quantum Fourier transform algorithms currently known (opens in a new tab)require only O(nlogn)O(n\log n) gates to achieve an efficient approximation.

Most of the properties of the QFT follow from the fact that it is a unitary transformation. This implies that, if FF is the matrix representing the QFT, then FF=FF=IFF^\dagger = F^{\dagger}F=I, where FF^\dagger is the Hermitian adjoint of FF where II is the identity matrix. It follows that F1=FF^{-1} = F^\dagger.

Since there is an efficient quantum circuit implementing the QFT, the circuit can be run in reverse to perform the Inverse Quantum Fourier Transform (IQFT). Thus, both transforms can be efficiently performed on a quantum computer.

Quantum Fourier Transform Base Class

QFTDEPRECATED.

Quantum Fourier Transforms

StandardThe Standard QFT.
ApproximateThe Approximate QFT.
Was this page helpful?
Report a bug or request content on GitHub.