Phase Estimation Algorithm

Overview

The phase estimation algorithm is a quantum subroutine useful for finding the eigenvalue corresponding to an eigenvector \(u\) of some unitary operator. It is the starting point for many other algorithms and relies on the inverse quantum Fourier transform. More details can be found in references [1].

Source Code Docs

Here you can find documentation for the different submodules in phaseestimation.

grove.phaseestimation.phase_estimation

grove.alpha.phaseestimation.phase_estimation.controlled(m)

Make a one-qubit-controlled version of a matrix.

Parameters:m – (numpy.ndarray) A matrix.
Returns:A controlled version of that matrix.
grove.alpha.phaseestimation.phase_estimation.phase_estimation(U, accuracy, reg_offset=0)

Generate a circuit for quantum phase estimation.

Parameters:
  • U – (numpy.ndarray) A unitary matrix.
  • accuracy – (int) Number of bits of accuracy desired.
  • reg_offset – (int) Where to start writing measurements (default 0).
Returns:

A Quil program to perform phase estimation.

References

[1]Nielsen, Michael A., and Isaac L. Chuang. Quantum Computation and Quantum Information. Cambridge University Press, 2010.