Amplitude amplification explained
Amplitude amplification is a technique in quantum computing which generalizes the idea behind Grover's search algorithm, and gives rise to a family of quantum algorithms.It was discovered by Gilles Brassard and Peter Høyer in 1997,[1] and independently rediscovered by Lov Grover in 1998.[2]
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.[3] Assume we have an
-dimensional
Hilbert space
representing the
state space of a quantum system, spanned by the orthonormal computational basis states
.Furthermore assume we have a
Hermitian projection operator
.Alternatively,
may be given in terms of a Boolean oracle function
and an orthonormal operational basis
,in which case
P:=\sum\chi(k)=1|\omegak\rangle\langle\omegak|
.
can be used to partition
into a direct sum of two mutually orthogonal subspaces, the
good subspace
and the
bad subspace
:
In other words, we are defining a "
good subspace"
via the projector
. The goal of the algorithm is then to evolve some initial state
into a state belonging to
.
Given a normalized state vector
with nonzero overlap with both subspaces, we can uniquely decompose it as
|\psi\rangle=\sin(\theta)|\psi1\rangle+\cos(\theta)|\psi0\rangle
,where
\theta=\arcsin\left(\left|P|\psi\rangle\right|\right)\in[0,\pi/2]
,and
and
are the normalized projections of
into the subspaces
and
, respectively. This decomposition defines a two-dimensional subspace
, spanned by the vectors
and
.The probability of finding the system in a
good state when measured is
.
Define a unitary operator
, where
\begin{align}
S\psi&=I-2|\psi\rangle\langle\psi| and\\
SP&=I-2P.
\end{align}
flips the phase of the states in the
good subspace, whereas
flips the phase of the initial state
.
The action of this operator on
is given by
Q|\psi0\rangle=-S\psi|\psi0\rangle=
| 2(\theta)-1)|\psi |
(2\cos | |
| 0\rangle |
+2\sin(\theta)\cos(\theta)|\psi1\rangle
and
Q|\psi1\rangle=S\psi|\psi1\rangle=-2\sin(\theta)\cos(\theta)|\psi0\rangle
| 2(\theta))|\psi |
+(1-2\sin | |
| 1\rangle |
.Thus in the
subspace
corresponds to a rotation by the angle
:
Q=\begin{pmatrix}
\cos(2\theta)&-\sin(2\theta)\\
\sin(2\theta)&\cos(2\theta)
\end{pmatrix}
.Applying
times on the state
gives
Qn|\psi\rangle=\cos((2n+1)\theta)|\psi0\rangle+\sin((2n+1)\theta)|\psi1\rangle
,rotating the state between the
good and
bad subspaces.After
iterations the probability of finding thesystem in a
good state is
.
The probability is maximized if we choose
n=\left\lfloor
\right\rfloor
.Up until this point each iteration increases the amplitude of the
good states, hence the name of the technique.
Applications
which can recognize the
good entries we are searching for, and
for simplicity.
If there are
good entries in the database in total, then we can find them by initializing a
quantum register
with
qubits where
into a uniform superposition of all the database elements
such that
} \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{G/N}
. If
, we can approximate the number of required iterations as
n=\left\lfloor
\right\rfloor
≈ \left\lfloor
\right\rfloor
=\left\lfloor
}\right\rfloor = O(\sqrt).
Measuring the state will now give one of the good entries with high probability. Since each application of
requires a single oracle query (assuming that the oracle is implemented as a
quantum gate), we can find a
good entry with just
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
until a solution is found, thus costing
queries.) Moreover, we can find all
solutions using
queries.
If we set the size of the set
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
such that
(1-\delta)G\leq\tilde{G}\leq(1+\delta)G
for small
. We can solve for
by applying the quantum phase estimation algorithm on unitary operator
.
Since
and
are the only two eigenvalues of
, we can let their corresponding eigenvectors be
and
. We can find the eigenvalue
of
, which in this case is equivalent to estimating the phase
. This can be done by applying Fourier transforms and controlled unitary operations, as described in the quantum phase estimation algorithm. With the estimate
, we can estimate
, which in turn estimates
.
Suppose we want to estimate
with arbitrary starting state
, instead of the eigenvectors
and
. We can do this by decomposing
into a linear combination of
and
, and then applying the phase estimation algorithm.
Notes and References
- Book: Gilles Brassard . Peter Høyer . Proceedings of the Fifth Israeli Symposium on Theory of Computing and Systems . An exact quantum polynomial-time algorithm for Simon's problem . June 1997. 12–23. IEEE Computer Society Press. 10.1109/ISTCS.1997.595153 . quant-ph/9704027. 1997quant.ph..4027B . 0-8186-8037-7 . 5177739 .
- Grover, Lov K.. May 1998. Quantum Computers Can Search Rapidly by Using Almost Any Transformation. Phys. Rev. Lett.. 80. 19. 4329–4332. 10.1103/PhysRevLett.80.4329. 1998PhRvL..80.4329G. quant-ph/9712011 . 17879840.
- Book: Gilles Brassard . Peter Høyer . Michele Mosca . Alain Tapp . 2000-05-15. Quantum Computation and Information. Quantum amplitude amplification and estimation . Contemporary Mathematics . 305 . 53–74 . 10.1090/conm/305/05215 . quant-ph/0005055. 9780821821404 . 54753 .