The Quantum phase estimation algorithm (also referred to as quantum eigenvalue estimation algorithm), is a quantum algorithm to estimate the phase (or eigenvalue) of an eigenvector of a unitary operator. More precisely, given a unitary matrix U {\displaystyle U} and a quantum state | ψ ⟩ {\displaystyle |\psi \rangle } such that U | ψ ⟩ = e 2 π i θ | ψ ⟩ {\displaystyle U|\psi \rangle =e^{2\pi i\theta }|\psi \rangle } , the algorithm estimates the value of θ {\displaystyle \theta } with high probability within additive error ε {\displaystyle \varepsilon } , using O ( log ⁡ ( 1 / ε ) ) {\displaystyle O(\log(1/\varepsilon ))} qubits (without counting the ones used to encode the eigenvector state) and O ( 1 / ε ) {\displaystyle O(1/\varepsilon )} controlled-U operations.