# Quantum phase estimation¶

Quantum phase estimation is one of the most important subroutines in quantum computation. It serves as a central building block for many quantum algorithms and implements a measurement for essentially any Hermitian operator. Recall that a quantum computer initially only permits us to measure individual qubits. If we want to measure a more complex observable, such as the energy described by a Hamiltonian , we resort to quantum phase estimation. The routine prepares an eigenstate of the Hermitian operator in one register and stores the corresponding eigenvalue in a second register.

## John von Neumann’s measurement scheme¶

Quantum phase estimation is a discretization of von Neumann’s prescription to measure a Hermitian observable . The scheme that von Neumann envisioned is the following. We consider a quantum system that supports the observable , which we want to measure. We assume that we are only able to measure simpler observables, in our case single qubits, or as in the original setting the location of a single particle. It is therefore our goal to reduce the measurement of the complex observable to a measurement of the simpler observable, e.g. the location. This simple observable is then referred to as the pointer. To map the complex observable on to the simpler one we’ll make use of a convenient observation from quantum mechanics. It is known that the momentum operator generate shifts for single particles.

That is, if we apply the unitary to some wave packet , then this wave packet will be shifted by in the positive direction.

The scheme now assumes that we can apply the unitary evolution to both the system and the pointer register as illustrated in the following picture

This picture essentially describes von Neumann’s measurement scheme. We now follow the steps and first adjoin an ancilla – the pointer – which is a continuous quantum variable initialized in the state (the origin), so that the system+pointer is initialized in the state , where is the initial state of the system. Then we evolve according to the new Hamiltonian for a time , so the evolution is given by

We now observe the action of this measurement apparatus. Suppose that is an eigenstate of , we find that the system evolves to A measurement of the position of the pointer with sufficiently high accuracy will provide an approximation to .

## The quantum algorithm¶

To carry out the above operation efficiently on a quantum computer, we discretize the pointer using qubits, replacing the continuous quantum variable with a -dimensional space, where the computational basis states of the pointer represent the basis of momentum eigenstates of the original continuous quantum variable. The label is the binary representation of the integers through . In this representation, the discretization of the momentum operator becomes With this normalization .

Now the discretized Hamiltonian is a sum of terms involving at most qubits, if is a Hamiltonian involving terms of at most qubits. Thus we can simulate the dynamics of using standard methods. In terms of the momentum eigenbasis, the initial (discretized) state of the pointer is written . This state can be prepared efficiently on a quantum computer by first initializing the qubits of the pointer in the state and applying an (inverse) quantum Fourier transform. Since we have a very simple initial state, the Fourier transform can be represented by a product of Hadamard matrices. The discretized evolution of the system+pointer now can be written Performing an inverse quantum Fourier transform on the pointer leaves the system in the state , where which is strongly peaked near the location . To ensure that there are no overflow errors we need to choose . (We assume here, for simplicity, that .) It is easy to see that actually performing the simulation of for is a product of simulations of the evolution according to for units of time, respectively. This results in the general circuit for quantum phase estimation:

In order to implement the full circuit on a quantum computer, we still need to decompose the controlled unitaries as well as the inverse quantum Fourier transform denoted by into our elementary gates.

## Example circuit¶

The example below demonstrates quantum phase estimation for a toy single-qubit Hamiltonian acting on qubit . Qubit serves as a pointer system. In this example the quantum Fourier transform on the pointer system is equivalent to the Hadamard gate on . The discretized evolution of the system+pointer system is described by the CNOT gate. The final measurement outcome on the pointer qubit is or depending on whether is prepared in the or eigenstate of . In this example, qubit is initialized in a state , which is eigenvector Accordingly, the measurement outcome is .

**Phase Estimation Circuit (-)**

**Phase Estimation Circuit (+)**