Skip to content

Grover Search

Grover search finds a marked input of an otherwise unstructured Boolean function using quadratically fewer oracle queries than classical search. If MM of NN candidates are marked, then, under the standard coherent-query model, a marked candidate can be found with constant success probability using

Θ ⁣(NM)\Theta\!\left(\sqrt{\frac{N}{M}}\right)

queries when 1≤M≤N/21\leq M\leq N/2. The algorithm alternates two reflections. Their product is a rotation from the uniform initial state toward the marked subspace.

This is the canonical home for the search problem, its exact success formula, and its oracle optimality. Algorithmic Primitives owns the broader pattern language of coherent access, interference, and amplitude amplification. Amplitude Amplification generalizes the construction to arbitrary coherent preparations and good subspaces, with explicit inverse/reflection ledgers and known-, unknown-, exact-, and fixed-point schedule regimes.

Let

f:{0,1,…,N−1}⟶{0,1}f:\{0,1,\ldots,N-1\}\longrightarrow\{0,1\}

be a predicate available through an oracle. An input xx is marked when f(x)=1f(x)=1. Write

M=∣{x:f(x)=1}∣.M=\bigl\lvert\{x:f(x)=1\}\bigr\rvert.

The task is to output any marked xx. A complete problem statement must say what is promised about MM:

  • If M=0M=0, there is no valid output.
  • If M=NM=N, every output is valid and no search is needed.
  • If 1≤M<N1\leq M<N, the nontrivial task is to increase the probability of observing the marked subset.
  • If MM is known, the iteration count can be chosen near optimally.
  • If MM is unknown, a randomized schedule, counting procedure, or fixed-point construction is needed to avoid systematic over-rotation.

The word unstructured is essential. Apart from querying ff, the labels carry no exploitable geometry, ordering, algebraic promise, or correlation. Grover search is therefore not binary search on sorted data and not a claim that an ordinary classical database can be searched coherently at unit cost.

Sampling a uniformly random candidate succeeds with probability M/NM/N. Independent repetition therefore needs order N/MN/M predicate evaluations for constant success probability. A classical algorithm can avoid repeated candidates, but the asymptotic query complexity remains

Θ ⁣(NM)\Theta\!\left(\frac{N}{M}\right)

for M≤N/2M\leq N/2. Grover search changes this to Θ(N/M)\Theta(\sqrt{N/M}) quantum queries. This is a quadratic improvement in the size of the search space, not an exponential one.

Two oracle forms are common. The bit oracle acts on an input register and one target qubit:

Uf∣x⟩∣y⟩=∣x⟩∣y⊕f(x)⟩.U_f\lvert x\rangle\lvert y\rangle = \lvert x\rangle \lvert y\mathbin{\oplus}f(x)\rangle.

The clean XOR-to-phase conversion, required minus ancilla, target-return test, and distinction between one abstract query and its implementation cost belong to Phase Kickback. Once that interface is licensed, Grover search uses the resulting phase oracle

Of∣x⟩=(−1)f(x)∣x⟩.O_f\lvert x\rangle = (-1)^{f(x)}\lvert x\rangle.

Let ΠG\Pi_G project onto the marked subspace. Then

Of=I−2ΠG.O_f=I-2\Pi_G.

Thus the oracle is a reflection: it reverses marked amplitudes and leaves unmarked amplitudes unchanged.

Quantum Oracles owns the Boolean access interface, query-domain and encoding promises, full-space action, distinction between a query and its implementation, and oracle-specific fair comparator. This page begins from that fixed record and owns the marked-set promise, search dynamics, stopping rule, success probability, and optimal search-query bound.

In the black-box model, one application of OfO_f counts as one query regardless of its gate decomposition. In an implementation, however, the predicate may require arithmetic, memory access, comparison, workspace, and error correction. Reversible Computation owns that compute–phase–uncompute workspace contract. The gate cost of that entire procedure must be reported separately from the query count.

The distinction is central. An oracle theorem can be mathematically optimal while an application built from an expensive oracle is impractical. Circuit Model develops the corresponding input-output and resource contracts.

Symmetry Reduces the Dynamics to Two Dimensions

Section titled “Symmetry Reduces the Dynamics to Two Dimensions”

Start in the uniform superposition

∣s⟩=1N∑x=0N−1∣x⟩.\lvert s\rangle = \frac1{\sqrt N} \sum_{x=0}^{N-1}\lvert x\rangle.

For 0<M<N0<M<N, define normalized states in the marked and unmarked subspaces:

∣G⟩=1M∑f(x)=1∣x⟩,∣B⟩=1N−M∑f(x)=0∣x⟩.\begin{aligned} \lvert G\rangle &= \frac1{\sqrt M} \sum_{f(x)=1}\lvert x\rangle, \\ \lvert B\rangle &= \frac1{\sqrt{N-M}} \sum_{f(x)=0}\lvert x\rangle. \end{aligned}

They are orthonormal. Introduce an angle θ∈(0,π/2)\theta\in(0,\pi/2) by

sin⁡2θ=MN.\sin^2\theta=\frac MN.

The initial state becomes

∣s⟩=sin⁡θ ∣G⟩+cos⁡θ ∣B⟩.\lvert s\rangle = \sin\theta\,\lvert G\rangle + \cos\theta\,\lvert B\rangle.

Both the phase oracle and the diffusion operation preserve the plane spanned by ∣G⟩\lvert G\rangle and ∣B⟩\lvert B\rangle. The full NN-dimensional calculation therefore collapses to a planar rotation. Equal amplitudes within each class remain equal throughout the ideal algorithm.

Grover search in the plane spanned by the unmarked and marked superpositions

The oracle reflects ∣s⟩\lvert s\rangle across the unmarked axis. Reflection about ∣s⟩\lvert s\rangle then produces Q∣s⟩Q\lvert s\rangle, advancing the state toward ∣G⟩\lvert G\rangle by 2θ2\theta.

The diffusion operator is

D=2∣s⟩⟨s∣−I.D=2\lvert s\rangle\langle s\rvert-I.

It fixes ∣s⟩\lvert s\rangle and reverses every vector orthogonal to ∣s⟩\lvert s\rangle, so it is reflection about the initial-state axis. One Grover iterate is

Q=DOf.Q=DO_f.

In the ordered basis {∣G⟩,∣B⟩}\{\lvert G\rangle,\lvert B\rangle\},

Of=(−1001),D=(−cos⁡2θsin⁡2θsin⁡2θcos⁡2θ),Q=(cos⁡2θsin⁡2θ−sin⁡2θcos⁡2θ).\begin{aligned} O_f &= \begin{pmatrix} -1&0\\ 0&1 \end{pmatrix}, \\[4pt] D &= \begin{pmatrix} -\cos2\theta&\sin2\theta\\ \sin2\theta&\cos2\theta \end{pmatrix}, \\[4pt] Q &= \begin{pmatrix} \cos2\theta&\sin2\theta\\ -\sin2\theta&\cos2\theta \end{pmatrix}. \end{aligned}

Although the last matrix depends on the chosen coordinate ordering, its action is unambiguous. Write

∣ψ(ϕ)⟩=sin⁡ϕ ∣G⟩+cos⁡ϕ ∣B⟩,Q∣ψ(ϕ)⟩=∣ψ(ϕ+2θ)⟩.\begin{aligned} \lvert\psi(\phi)\rangle &= \sin\phi\,\lvert G\rangle \\ &\quad+ \cos\phi\,\lvert B\rangle, \\ Q\lvert\psi(\phi)\rangle &= \lvert\psi(\phi+2\theta)\rangle. \end{aligned}

Each iterate advances the state-angle parameter by 2θ2\theta toward the marked axis.

For N=2nN=2^n, the diffusion operator can be written

D=H⊗n(2∣0n⟩⟨0n∣−I)H⊗n.D = H^{\otimes n} \left( 2\lvert0^n\rangle\langle0^n\rvert-I \right) H^{\otimes n}.

If a state has computational-basis amplitudes αx\alpha_x and mean amplitude

α‾=1N∑xαx,\overline{\alpha} = \frac1N\sum_x\alpha_x,

then DD maps

αx⟼2α‾−αx.\alpha_x\longmapsto2\overline{\alpha}-\alpha_x.

This explains the traditional name inversion about the mean. It is the same reflection as 2∣s⟩⟨s∣−I2\lvert s\rangle\langle s\rvert-I, expressed component by component. The reflection picture is usually safer than memorizing a circuit sign convention, because multiplying either reflection by an overall phase does not change measurement probabilities.

The initial state has angle θ\theta in the good–bad plane. After rr Grover iterations,

Qr∣s⟩=sin⁡ ⁣((2r+1)θ)∣G⟩+cos⁡ ⁣((2r+1)θ)∣B⟩.\begin{aligned} Q^r\lvert s\rangle &= \sin\!\left((2r+1)\theta\right) \lvert G\rangle \\ &\quad+ \cos\!\left((2r+1)\theta\right) \lvert B\rangle. \end{aligned}

Measuring in the computational basis therefore returns a marked input with probability

Pr=sin⁡2 ⁣((2r+1)θ).P_r = \sin^2\!\left((2r+1)\theta\right).

Conditioned on success, each of the MM marked labels is equally likely in the symmetric version of the algorithm.

The first probability maximum occurs when

(2r+1)θ≈π2.(2r+1)\theta\approx\frac\pi2.

Choose the nonnegative integer nearest to

r⋆=π4θ−12.r_\star = \frac{\pi}{4\theta}-\frac12.

Rounding changes the final angle by at most θ\theta, giving

Pr≥cos⁡2θ=1−MNP_r\geq\cos^2\theta = 1-\frac MN

when this first-maximum prescription applies. For a sparse marked set,

θ=arcsin⁡MN≈MN,\theta = \arcsin\sqrt{\frac MN} \approx \sqrt{\frac MN},

so

r≈π4NM.r \approx \frac\pi4\sqrt{\frac NM}.

The probability is oscillatory. Continuing past the optimum rotates amplitude away from the marked subspace. More iterations are not automatically better.

For N=4N=4 and M=1M=1,

sin⁡θ=12,θ=π6.\sin\theta=\frac12, \qquad \theta=\frac\pi6.

One iteration gives

P1=sin⁡2(3θ)=sin⁡2π2=1.P_1 = \sin^2(3\theta) = \sin^2\frac\pi2 = 1.

This is the smallest familiar example in which the standard π\pi-phase reflections land exactly on the marked axis.

For N=8N=8 and M=1M=1,

θ=arcsin⁡18≈0.3614.\theta=\arcsin\frac1{\sqrt8} \approx0.3614.

The nearest stopping time is r=2r=2, and

P2=sin⁡2(5θ)≈0.9453.P_2 = \sin^2(5\theta) \approx0.9453.

A third iteration would overshoot:

P3=sin⁡2(7θ)≈0.3301.P_3 = \sin^2(7\theta) \approx0.3301.

The comparison makes the coherent rotation, and the need to stop deliberately, concrete.

When MM is known, the same analysis applies with sin⁡2θ=M/N\sin^2\theta=M/N. More marked inputs mean a larger initial angle and fewer iterations. If M/N>1/2M/N>1/2, direct measurement already succeeds with probability greater than one half; standard repeated Grover rotations are no longer the useful regime.

When MM is unknown, a stopping time optimized for the wrong value can fail badly. Boyer, Brassard, Høyer, and Tapp gave an expected-optimal strategy:

  1. choose an iteration count uniformly from a growing range;
  2. apply that many Grover iterates;
  3. measure and verify the candidate;
  4. enlarge the range geometrically after failure, up to order N\sqrt N.

For M>0M>0, this finds a marked item using expected

O ⁣(NM)O\!\left(\sqrt{\frac NM}\right)

queries without knowing MM in advance. Verification is important because each run is probabilistic. If M=0M=0 is allowed, a bounded search budget and an explicit no-solution error guarantee are also required; repeated failure alone is not a proof that no solution exists.

Two related approaches serve different contracts:

  • Quantum counting uses Amplitude Estimation to estimate the marked fraction through Grover eigenphases; that page owns numerical estimation, while this page retains marked-item search, stopping, and search-specific optimality.
  • Fixed-point search replaces the two π\pi reflections by designed phase shifts. Given a lower bound on the marked fraction, it can suppress failure monotonically without sacrificing quadratic query scaling, at the cost of a longer phase sequence.

For known MM, phase-adjusted final iterations can also make the success probability exactly one. These variants modify the basic reflection schedule; they do not invalidate the simple formula for the standard iterate.

The Quantum Algorithms and Complexity chapter guide supplies the complete claim record needed to distinguish this coherent-query theorem from an end-to-end runtime or application claim.

The speedup is a theorem about coherent oracle queries. A useful resource ledger separates at least four costs:

ResourceIdeal search accountingImplementation question
predicate callsΘ(N/M)\Theta(\sqrt{N/M})How many logical gates implement one reversible predicate?
diffusion stepsone per Grover iterateWhat is the cost of the multi-controlled phase and state preparation?
qubitsenough to label NN candidates, plus workspaceCan temporary data be uncomputed without excessive ancillas?
repetitionsconstant for constant target successWhat verification and confidence amplification are required?

If one oracle evaluation costs CfC_f logical gates, the leading gate count is at least of order

CfNM,C_f\sqrt{\frac NM},

before accounting for diffusion, synthesis, routing, and fault tolerance. Universal Gate Sets explains why an abstract reflection may expand into many native or fault-tolerant operations.

State preparation matters too. The uniform state is easy when N=2nN=2^n, but an application may require a constrained superposition over valid candidates. If preparing or reflecting about that state is expensive, the end-to-end advantage can shrink or disappear.

The quadratic scaling is not merely the performance of one clever circuit. It is optimal for unstructured black-box search.

Bennett, Bernstein, Brassard, and Vazirani used a hybrid argument to show that finding one marked item with bounded error requires

Ω(N)\Omega(\sqrt N)

quantum queries. The argument tracks how little one query can separate states associated with different hidden marked inputs. Boyer and collaborators sharpened the analysis and treated multiple solutions and unknown MM. Zalka then established a matching optimal bound for any prescribed success probability; for one marked item and near-certain success, the leading query count is πN/4\pi\sqrt N/4.

The corresponding bound with MM marked inputs is

Θ ⁣(NM)\Theta\!\left(\sqrt{\frac NM}\right)

through the nontrivial sparse regime. No generic quantum algorithm can asymptotically beat Grover search while receiving only the same unstructured oracle access.

Parallel queries do not turn the square-root law into linear parallel speedup. With pp processors or pp parallel queries per round, partitioning the candidates gives order

Np\sqrt{\frac{N}{p}}

query rounds, and the oracle lower bounds rule out a parametrically better generic strategy. Parallel hardware changes depth and total work differently.

Optimality here does not prove that every problem encoded as a search must take Grover time. An encoding may have algebraic, geometric, or probabilistic structure that supports a different algorithm. The lower bound applies when that structure is withheld and only black-box marking remains.

Query Complexity develops the general polynomial, adversary, and hybrid lower-bound methods and compatible Boolean block-composition statements. This page retains the unstructured-search theorem, its finite success law, and the search-specific constants above.

If a candidate key or preimage can be checked reversibly, Grover search reduces an ideal search over NN candidates from order NN checks to order N\sqrt N coherent checks. For a kk-bit search space, this is

O ⁣(2k/2),O\!\left(2^{k/2}\right),

which remains exponential in kk. Concrete cryptanalytic cost also depends on reversible implementation, circuit depth, fault-tolerant overhead, the number of targets, and available parallel hardware. “Quadratic speedup” is not synonymous with “easy attack.”

The Dürr–Høyer algorithm repeatedly searches for an item smaller than a changing threshold and finds the minimum of an unstructured list in O(N)O(\sqrt N) value queries with bounded error. Grover search is the inner primitive, but threshold updates and probabilistic analysis are part of the complete algorithm.

A Boolean constraint checker can mark satisfying assignments, giving a square-root improvement over naive exhaustive enumeration. For nn binary variables, however, N=2nN=2^n and the query count is still

O(2n/2).O(2^{n/2}).

Problem-specific classical pruning or quantum algorithms that exploit structure may be more relevant. Grover search supplies a baseline, not a universal solution to combinatorial optimization or NP-complete problems.

Quantum Algorithms for Optimization owns the cross-route comparison among minimum finding, structured tree search, QAOA-like methods, adiabatic and annealing methods, and convex-oracle algorithms after the optimization contract is fixed; this page retains the exact unstructured-search rotation and oracle-optimality theorem.

The original phrase “database search” is easy to misread. Grover’s model assumes coherent access to a predicate over address states. Loading an arbitrary classical data set into quantum-addressable memory, maintaining coherence, and implementing a reversible comparison can dominate the search. If the data must first be streamed through a classical interface, the query advantage may not translate into wall-clock advantage.

The uniform superposition does not expose all database entries at once. The algorithm shapes one measurement distribution so that a marked label is likely. Listing all MM solutions requires additional queries and repeated runs; it is a different output contract.

  • Calling the result an exponential speedup because the register has n=log⁡2Nn=\log_2N qubits. The query count O(2n/2)O(2^{n/2}) is still exponential in nn.
  • Counting a complicated reversible predicate as one elementary gate. It is one oracle query, not necessarily one physical operation.
  • Forgetting that OfO_f must act coherently on superpositions and preserve relative phase.
  • Applying πN/4\pi\sqrt N/4 iterations when there are M>1M>1 marked inputs. The relevant scale is N/M\sqrt{N/M}.
  • Assuming more iterations monotonically improve success. Standard Grover dynamics oscillate.
  • Confusing the diffusion reflection with decoherence, thermal relaxation, or measurement. It is a unitary operation.
  • Claiming the oracle lower bound rules out all faster algorithms for structured instances.
  • Ignoring candidate verification, state preparation, uncomputation, or fault-tolerant cost in an application estimate.

Before invoking Grover search, specify:

  1. the candidate set and its size NN;
  2. the marked predicate and any promise on MM;
  3. the reversible implementation and cost of one coherent query;
  4. the initial-state preparation and its inverse;
  5. the stopping rule for known or unknown MM;
  6. the candidate-verification procedure;
  7. query count, gate count, depth, qubits, and target failure probability separately;
  8. the classical comparator under an equivalent access model.

This checklist is a concrete application of Claims, Hype, and Evidence Standards.

Show that OfO_f and DD map every vector in

span⁡{∣G⟩,∣B⟩}\operatorname{span}\{\lvert G\rangle,\lvert B\rangle\}

back into the same span. Explain why this is sufficient to analyze the uniform-start algorithm in two dimensions.

Solution

The oracle acts as

Of∣G⟩=−∣G⟩,Of∣B⟩=∣B⟩,O_f\lvert G\rangle=-\lvert G\rangle, \qquad O_f\lvert B\rangle=\lvert B\rangle,

so it preserves the span. Since ∣s⟩\lvert s\rangle lies in the span, for any vector ∣v⟩\lvert v\rangle in it,

D∣v⟩=2∣s⟩⟨s∣v⟩−∣v⟩D\lvert v\rangle = 2\lvert s\rangle\langle s\vert v\rangle -\lvert v\rangle

is also a linear combination of ∣G⟩\lvert G\rangle and ∣B⟩\lvert B\rangle. The initial state lies in this invariant plane, so every later state does as well.

For N=4N=4 and one marked item, calculate the marked amplitude before and after one Grover iteration.

Solution

Initially,

sin⁡θ=12,θ=π6.\sin\theta=\frac12, \qquad \theta=\frac\pi6.

The marked amplitude in the normalized good direction is 1/21/2. One iterate changes the angle from θ\theta to 3θ=π/23\theta=\pi/2, so the marked amplitude becomes

sin⁡π2=1.\sin\frac\pi2=1.

There is only one marked basis state, hence measurement returns it with certainty.

Let rr be the integer nearest to π/(4θ)−1/2\pi/(4\theta)-1/2. Prove that the final success probability is at least cos⁡2θ\cos^2\theta.

Solution

Nearest-integer rounding gives

∣r−(π4θ−12)∣≤12.\left| r-\left(\frac{\pi}{4\theta}-\frac12\right) \right| \leq\frac12.

Multiplying by 2θ2\theta yields

∣(2r+1)θ−π2∣≤θ.\left| (2r+1)\theta-\frac\pi2 \right| \leq\theta.

Write the final angle as π/2+δ\pi/2+\delta, where ∣δ∣≤θ\lvert\delta\rvert\leq\theta. Then

Pr=sin⁡2(π2+δ)=cos⁡2δ≥cos⁡2θ.P_r = \sin^2\left(\frac\pi2+\delta\right) = \cos^2\delta \geq \cos^2\theta.

Using sin⁡2θ=M/N\sin^2\theta=M/N gives Pr≥1−M/NP_r\geq1-M/N.

Suppose N=1024N=1024 and M=16M=16. Estimate θ\theta, the optimal number of standard iterations, and the classical and quantum query scales.

Solution

Here

sin⁡θ=161024=18,θ=arcsin⁡18≈0.1253.\begin{aligned} \sin\theta &= \sqrt{\frac{16}{1024}} = \frac18, \\ \theta &= \arcsin\frac18 \approx0.1253. \end{aligned}

The real-valued optimum is

π4θ−12≈5.77,\frac{\pi}{4\theta}-\frac12 \approx5.77,

so choose r=6r=6. Classical sampling takes order

NM=64\frac NM=64

queries, whereas Grover search takes order

NM=8\sqrt{\frac NM}=8

queries, with the leading constant setting the particular stopping time.

For N=8N=8 and M=1M=1, compare the success probabilities after two and three iterations. Why does this rule out a stopping policy of “continue until success is certain” without knowledge of θ\theta?

Solution

With θ=arcsin⁡(1/8)\theta=\arcsin(1/\sqrt8),

P2=sin⁡2(5θ)≈0.9453,P_2=\sin^2(5\theta)\approx0.9453,

whereas

P3=sin⁡2(7θ)≈0.3301.P_3=\sin^2(7\theta)\approx0.3301.

The unitary evolution rotates rather than relaxes toward the target. It contains no internal signal announcing that the probability has peaked. A stopping rule must use knowledge of MM, estimation, randomized schedules, or a fixed-point design.

Assume the clean phase oracle Of∣x⟩=(−1)f(x)∣x⟩O_f\lvert x\rangle=(-1)^{f(x)}\lvert x\rangle. Show that Of=I−2ΠGO_f=I-2\Pi_G. Then explain why a predicate circuit that leaves workspace ∣wx⟩\lvert w_x\rangle correlated with xx must be uncomputed before it can implement that reflection on the search register.

Solution

The projector ΠG\Pi_G has eigenvalue 11 on marked basis states and 00 on unmarked basis states. Therefore I−2ΠGI-2\Pi_G has eigenvalue −1-1 when f(x)=1f(x)=1 and +1+1 when f(x)=0f(x)=0, exactly matching OfO_f.

If evaluating the predicate instead produces

∣x⟩∣0⟩⟼∣x⟩∣wx⟩,\lvert x\rangle\lvert0\rangle \longmapsto \lvert x\rangle\lvert w_x\rangle,

then different xx values remain correlated with different workspace states. The input register no longer undergoes the intended clean reflection OfO_f. Reversing the computation after applying the phase restores the workspace to a common state and leaves only the relative phase on ∣x⟩\lvert x\rangle.

An unstructured constraint problem has nn binary variables and one satisfying assignment. Express the classical and Grover query counts in terms of nn. What claim is justified?

Solution

There are N=2nN=2^n assignments. Exhaustive classical search requires

Θ(2n)\Theta(2^n)

predicate queries, while Grover search requires

Θ(2n)=Θ(2n/2).\Theta(\sqrt{2^n}) = \Theta(2^{n/2}).

The justified claim is a quadratic improvement in NN, or a halving of the exponent in this black-box enumeration model. It is not a polynomial-time algorithm in nn, and it does not establish an efficient algorithm for arbitrary structured instances.

  • L. K. Grover, “A fast quantum mechanical algorithm for database search,” in Proceedings of the 28th Annual ACM Symposium on Theory of Computing, 212–219, 1996, doi:10.1145/237814.237866.
  • M. Boyer, G. Brassard, P. Høyer, and A. Tapp, “Tight bounds on quantum searching,” Fortschritte der Physik 46, 493–505, 1998, arXiv:quant-ph/9605034.
  • C. H. Bennett, E. Bernstein, G. Brassard, and U. Vazirani, “Strengths and weaknesses of quantum computing,” SIAM Journal on Computing 26, 1510–1523, 1997, doi:10.1137/S0097539796300933.
  • C. Zalka, “Grover’s quantum searching algorithm is optimal,” Physical Review A 60, 2746–2751, 1999, doi:10.1103/PhysRevA.60.2746.
  • G. Brassard, P. Høyer, M. Mosca, and A. Tapp, “Quantum amplitude amplification and estimation,” Contemporary Mathematics 305, 53–74, 2002, arXiv:quant-ph/0005055.
  • T. J. Yoder, G. H. Low, and I. L. Chuang, “Fixed-point quantum search with an optimal number of queries,” Physical Review Letters 113, 210501, 2014, doi:10.1103/PhysRevLett.113.210501.
  • C. Dürr and P. Høyer, “A quantum algorithm for finding the minimum,” 1996, arXiv:quant-ph/9607014.
  • M. A. Nielsen and I. L. Chuang, Quantum Computation and Quantum Information, 10th anniversary ed., Cambridge University Press, 2010, doi:10.1017/CBO9780511976667.