HOME

TheInfoList



OR:

Amplitude amplification is a technique in
quantum computing A quantum computer is a computer that exploits quantum mechanical phenomena. On small scales, physical matter exhibits properties of wave-particle duality, both particles and waves, and quantum computing takes advantage of this behavior using s ...
that generalizes the idea behind Grover's search algorithm, and gives rise to a family of
quantum algorithm In quantum computing, a quantum algorithm is an algorithm that runs on a realistic model of quantum computation, the most commonly used model being the quantum circuit model of computation. A classical (or non-quantum) algorithm is a finite seq ...
s. It was discovered by
Gilles Brassard Gilles Brassard is a faculty member of the Université de Montréal, where he has been a Full Professor since 1988 and Canada Research Chair since 2001. Education and early life Brassard received a Ph.D. in Computer Science from Cornell Univers ...
and Peter Høyer in 1997, and independently rediscovered by Lov Grover in 1998. In a quantum computer, amplitude amplification can be used to obtain a quadratic speedup over several classical algorithms.


Algorithm

The derivation presented here roughly follows the one given by Brassard et al. in 2000. Assume we have an N-dimensional
Hilbert space In mathematics, a Hilbert space is a real number, real or complex number, complex inner product space that is also a complete metric space with respect to the metric induced by the inner product. It generalizes the notion of Euclidean space. The ...
\mathcal representing the
state space In computer science, a state space is a discrete space representing the set of all possible configurations of a system. It is a useful abstraction for reasoning about the behavior of a given system and is widely used in the fields of artificial ...
of a quantum system, spanned by the orthonormal computational basis states B := \_^. Furthermore assume we have a Hermitian projection operator P\colon \mathcal \to \mathcal. Alternatively, P may be given in terms of a Boolean
oracle An oracle is a person or thing considered to provide insight, wise counsel or prophetic predictions, most notably including precognition of the future, inspired by deities. If done through occultic means, it is a form of divination. Descript ...
function \chi\colon\mathbb \to \ and an orthonormal operational basis B_ := \_^, in which case :P := \sum_ , \omega_k \rangle \langle \omega_k, . P can be used to partition \mathcal into a direct sum of two mutually orthogonal subspaces, the ''good'' subspace \mathcal_1 and the ''bad'' subspace \mathcal_0: \begin \mathcal_1 &:= \text\; P &= \operatorname\,\\ \mathcal_0 &:= \text \; P &= \operatorname\. \end In other words, we are defining a "''good subspace''" \mathcal H_1 via the projector P. The goal of the algorithm is then to evolve some initial state , \psi\rangle \in \mathcal into a state belonging to \mathcal H_1. Given a normalized state vector , \psi\rangle \in \mathcal with nonzero overlap with both subspaces, we can uniquely decompose it as :, \psi\rangle = \sin(\theta) , \psi_1\rangle +\cos(\theta) , \psi_0\rangle, where \theta = \arcsin\left( \left, P , \psi\rangle \ \right) \in , \pi/2/math>, and , \psi_1\rangle and , \psi_0\rangle are the normalized projections of , \psi\rangle into the subspaces \mathcal_1 and \mathcal_0, respectively. This decomposition defines a two-dimensional subspace \mathcal_\psi, spanned by the vectors , \psi_0\rangle and , \psi_1\rangle. The probability of finding the system in a ''good'' state when measured is \sin^2(\theta). Define a unitary operator Q(\psi, P) := -S_\psi S_P \,\!, where : \begin S_\psi &= I -2, \psi\rangle \langle\psi, \quad \text\\ S_P &= I -2 P. \end S_P flips the phase of the states in the ''good'' subspace, whereas S_\psi flips the phase of the initial state , \psi\rangle. The action of this operator on \mathcal_\psi is given by :Q , \psi_0\rangle = -S_\psi , \psi_0\rangle = (2\cos^2(\theta)-1), \psi_0\rangle +2 \sin(\theta) \cos(\theta) , \psi_1\rangle and :Q , \psi_1\rangle = S_\psi , \psi_1\rangle = -2 \sin(\theta) \cos(\theta) , \psi_0\rangle +(1-2\sin^2(\theta)), \psi_1\rangle. Thus in the \mathcal_\psi subspace Q corresponds to a rotation by the angle 2\theta\,\!: :Q = \begin \cos(2\theta) & -\sin(2\theta)\\ \sin(2\theta) & \cos(2\theta) \end. Applying Q n times on the state , \psi\rangle gives :Q^n , \psi\rangle = \cos((2n+1) \theta) , \psi_0\rangle +\sin((2n+1)\theta) , \psi_1\rangle, rotating the state between the ''good'' and ''bad'' subspaces. After n iterations the probability of finding the system in a ''good'' state is \sin^2((2n+1)\theta)\,\!.
The probability is maximized if we choose :n = \left\lfloor\frac\right\rfloor. Up until this point each iteration increases the amplitude of the ''good'' states, hence the name of the technique.


Applications

Assume we have an unsorted database with N elements, and an oracle function \chi which can recognize the ''good'' entries we are searching for, and B_ = B for simplicity. If there are G ''good'' entries in the database in total, then we can find them by initializing a
quantum register In quantum computing, a quantum register is a system comprising multiple qubits. It is the quantum analogue of the classical processor register. Quantum computers perform calculations by manipulating qubits within a quantum register. Definitio ...
, \psi\rangle with n qubits where 2^n=N into a uniform superposition of all the database elements N such that :, \psi\rangle = \frac \sum_^ , k\rangle and running the above algorithm. In this case the overlap of the initial state with the ''good'' subspace is equal to the square root of the frequency of the ''good'' entries in the database, \sin(\theta) = , P , \psi\rangle, = \sqrt. If \sin(\theta) \ll 1, we can approximate the number of required iterations as :n = \left\lfloor\frac\right\rfloor \approx \left\lfloor\frac\right\rfloor = \left\lfloor\frac \sqrt\right\rfloor = O(\sqrt). Measuring the state will now give one of the ''good'' entries with high probability. Since each application of S_P requires a single oracle query (assuming that the oracle is implemented as a
quantum gate In quantum computing and specifically the quantum circuit model of computation, a quantum logic gate (or simply quantum gate) is a basic quantum circuit operating on a small number of qubits. Quantum logic gates are the building blocks of quantu ...
), we can find a ''good'' entry with just O(\sqrt) oracle queries, thus obtaining a quadratic speedup over the best possible classical algorithm. (The classical method for searching the database would be to perform the query for every e \in \ until a solution is found, thus costing O(N) queries.) Moreover, we can find all G solutions using O(\sqrt) queries. If we set the size of the set G to one, the above scenario essentially reduces to the original Grover search.


Quantum counting

Suppose that the number of ''good'' entries is unknown. We aim to estimate \tilde such that (1-\delta)G \leq \tilde \leq (1+\delta)G for small \delta>0. We can solve for \tilde by applying the quantum phase estimation algorithm on unitary operator Q. Since e^ and e^ are the only two eigenvalues of Q, we can let their corresponding eigenvectors be , \psi_1\rangle and , \psi_2\rangle . We can find the eigenvalue e^ of , \psi\rangle , which in this case is equivalent to estimating the phase \theta. This can be done by applying Fourier transforms and controlled unitary operations, as described in the quantum phase estimation algorithm. With the estimate \tilde, we can estimate \sin, which in turn estimates G. Suppose we want to estimate \theta with arbitrary starting state , s\rangle , instead of the eigenvectors , \psi_1\rangle and , \psi_2\rangle . We can do this by decomposing , s\rangle into a linear combination of , \psi_1\rangle and , \psi_2\rangle , and then applying the phase estimation algorithm.


References

{{DEFAULTSORT:Amplitude Amplification Quantum algorithms Search algorithms