HOME

TheInfoList



OR:

Amplitude amplification is a technique in
quantum computing Quantum computing is a type of computation whose operations can harness the phenomena of quantum mechanics, such as superposition, interference, and entanglement. Devices that perform quantum computations are known as quantum computers. Though ...
which generalizes the idea behind the Grover's search algorithm, and gives rise to a family of
quantum algorithm In quantum computing, a quantum algorithm is an algorithm which 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 sequ ...
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 Unive ...
and Peter Høyer in 1997, and independently rediscovered by
Lov Grover Lov Kumar Grover (born 1961) is an Indian- American computer scientist. He is the originator of the Grover database search algorithm used in quantum computing. Grover's 1996 algorithm won renown as the second major algorithm proposed for qu ...
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 in. Assume we have an N-dimensional
Hilbert space In mathematics, Hilbert spaces (named after David Hilbert) allow generalizing the methods of linear algebra and calculus from (finite-dimensional) Euclidean vector spaces to spaces that may be infinite-dimensional. Hilbert spaces arise natural ...
\mathcal representing the
state space A state space is 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 intelligence and game theory. For instance, the toy ...
of our quantum system, spanned by the orthonormal computational basis states B := \_^. Furthermore assume we have a
Hermitian {{Short description, none Numerous things are named after the French mathematician Charles Hermite (1822–1901): Hermite * Cubic Hermite spline, a type of third-degree spline * Gauss–Hermite quadrature, an extension of Gaussian quadrature m ...
projection operator In linear algebra and functional analysis, a projection is a linear transformation P from a vector space to itself (an endomorphism) such that P\circ P=P. That is, whenever P is applied twice to any vector, it gives the same result as if it wer ...
P\colon \mathcal \to \mathcal. Alternatively, P may be given in terms of a Boolean
oracle An oracle is a person or agency considered to provide wise and insightful counsel or prophetic predictions, most notably including precognition of the future, inspired by deities. As such, it is a form of divination. Description The word '' ...
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. Definition ...
, \psi\rangle with n
qubits In quantum computing, a qubit () or quantum bit is a basic unit of quantum information—the quantum version of the classic binary bit physically realized with a two-state device. A qubit is a two-state (or two-level) quantum-mechanical system, ...
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 In mathematics, an event that occurs with high probability (often shortened to w.h.p. or WHP) is one whose probability depends on a certain number ''n'' and goes to 1 as ''n'' goes to infinity, i.e. the probability of the event occurring can be ma ...
. 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. They are the building blocks of quantum circuits, lik ...
), 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