Quantum Fourier Analysis
Learn how quantum Fourier analysis efficiently identifies periodic function periods.
As we mentioned before, the heart of the Shor algorithm is a quantum formulation of Fourier analysis that is much faster than the classical Fourier transform in finding the period of a periodic function. The quantum method is similar to the discrete Fourier transform for a classical signal.
We want to show how the quantum Fourier analysis allows us to find the smallest period of the function
with , excluding , as mentioned previously. We have shown earlier that if we know the period, we can find the factors of . We have used as the exponent to match what other authors have used and to link to the way we have previously labeled multi-qubit basis states. As usual, , , , and are integers.
As we proceed through the algorithm, you should pay attention to where we use superposition states and measurements, which we have seen to be key features of other quantum algorithms.
The first ingredient we need is the quantum implementation of the function as a quantum function gate . We won’t worry about the details of that implementation, but we note that it is usually based on binary modular exponentiation. As we have seen in other quantum algorithms, the function gate has two “registers” of input states: an upper register and a lower register, as shown in the figure below.
As usual, we start off with computational basis states. Both the upper and lower register states are -qubit states with chosen so that , the number we want to factor. The upper-register states are then acted on by Hadamard gates to produce a superposition state consisting of equal contributions of all the basis states labeled by the binary numbers , where is in the range . We have seen this procedure in several of the other quantum algorithms. After the Hadamard gate acts on the upper-register states, the system state is
In analogy with some of the other quantum algorithms, the modular exponentiation function gate (not to be confused with the Fourier function ) then acts on the state in the equation above to produce the state
Get hands-on with 1400+ tech skills courses.