# 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. 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). 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.