top of page

Quantum algorithms utilizing Amplitude Amplification

  • Jason Miller
  • May 1, 2021
  • 2 min read

Amplitude amplification is a method used to enhance a selected subspace within a quantum state. This technique is often applied to achieve quadratic speed improvements compared to their classical algorithm counterparts. Amplitude amplification can be viewed as an extension of Grover's algorithm.

Grover's algorithm, as the main subject, allows searching through an unstructured database (or an unordered list) consisting of N entries to find a specific entry. It utilizes only O(√N) queries, in contrast to the O(N) queries required in classical algorithms. Notably, classical algorithms still require O(N) queries even with bounded-error probabilistic approaches.

Some theorists have considered a speculative generalization of a standard quantum computer capable of accessing the hidden variable histories in Bohmian mechanics. This hypothetical computer, which would not be a standard quantum computer nor possible under the standard quantum mechanics theory, could perform a search of an N-item database in O(N^(1/3)) steps. This is slightly faster than the O(√N) steps taken by Grover's algorithm, but neither search method allows either quantum computer model to solve NP-complete problems in polynomial time.


Grover's algorithm operates as follows:

  1. Initialize a quantum state with equal probability amplitudes for all basis states: |ψ⟩ = 1/√N ∑ |x⟩

  2. Apply the Grover iteration (also known as the Grover operator) G repeatedly, for approximately √N times, to amplify the amplitude of the marked state: G = (I - 2|s⟩⟨s|)(2|ψ⟩⟨ψ| - I) where |s⟩ is the marked state, and I is the identity operator.

After about (√N/π/4) applications of the Grover operator G, the state vector will be close to the desired marked state |s⟩.

Quantum counting is a solution for a generalized search problem. It tackles the issue of counting the marked entries in an unordered list, instead of merely detecting their presence. Specifically, it counts the number of marked entries in an N-element list with an error ε, requiring only Θ(1/ε√(N/k)) queries, where k is the number of marked elements in the list. More precisely, the algorithm provides an estimate k' for k, the number of marked entries, with the following accuracy: |k - k'| ≤ εk.


For the quantum counting problem, where the objective is to count the number of marked entries k in an N-element list, the algorithm proceeds as follows:

  1. Apply phase estimation to the Grover operator G, which results in an estimate of the eigenvalue eiϕ, where ϕ is related to the number of marked entries k.

  2. Compute the number of marked entries k from the estimated phase ϕ, using the following relationship: sin^2(ϕ) ≈ k/N


Related Posts

FinTech Research Network

©2019 by FinTech Research Network

Subscribe to our newsletter:

Thanks for submitting!

bottom of page