Generalizes Grover's algorithm to an arbitrary state-preparation operator and derives the amplification operator Q used here.
arxiv.org/abs/quant-ph/0005055 ↗Amplitude amplification
The general framework behind Grover's algorithm: boosting the success probability of any subroutine with a known reflection structure.
Atlas stars stay in the public catalog. Saving this entry to your workspace starts an unstarred private copy.
Amplitude amplification replaces Grover's uniform-superposition preparation with an arbitrary operator A, generalizing the quadratic speedup to any algorithm that prepares a 'good/bad' superposition.
Circuit & simulation
What this takes and returns
TakesNothingWhat joins here
No input port at this edge: the record publishes no gate sequence and no register, so there is nothing here to read one off — and unlike a declared hole, nothing has been recorded about what belongs here.
Nothing in the Atlas meets this end.
ReturnsNothingWhat joins here
No output port at this edge: the record publishes no gate sequence and no register, so there is nothing here to read one off — and unlike a declared hole, nothing has been recorded about what belongs here.
Nothing in the Atlas meets this end.
This record publishes no gate sequence and no register, so there is nothing here to read an interface off. Absent rather than empty. See all 152 →
Where this sits
This record is named by the layer graph at:
- Amplify a success branch Slot
Takes The preparation unitary and its inverse, a reflection about , and a reflection marking the good subspace — the Grover operator must be applicable at arbitrary powers. Individual variants additionally require a lower bound on , or a per-branch stopping flag. Returns A routine that produces the wanted branch with a stated failure probability, together with the query count and the maximum sequential depth consumed.
How it works
Amplitude amplification (Brassard, Høyer, Mosca, Tapp, 2000) generalizes Grover's algorithm from the specific case where the initial state is prepared by Hadamards to an arbitrary state-preparation operator .
Setup. Suppose , so the initial success probability is . Define the amplification operator
where flips the phase of good states and flips the phase of everything except . Geometrically, is a rotation by in the 2-dimensional real span of and , so after applications the success probability is
Choosing drives close to 1, needing iterations versus the classical repetitions needed to hit a probability- event with matching confidence — the same quadratic gain that Grover's algorithm gets as the special case .
Exactly solvable small instance. Take a single qubit with , , so — the initial success ("good" = ) probability is exactly . One iteration gives
i.e. a single amplitude-amplification step turns a 25%-success preparation into a certain one — the same numeric case that underlies the classic "Grover on , " result, here derived directly from the rotation-angle formula rather than from an oracle over a register.
Where it is used. Amplitude amplification is the mechanism inside quantum counting, amplitude estimation, and any algorithm that needs to boost the probability of a rare event once a coherent way to recognize "success" (a reflection oracle) is available.
Implementation
from qiskit import QuantumCircuit
import numpy as np
theta = np.pi / 6 # sin(theta) = 1/2 -> initial success a = 1/4
def state_prep():
qc = QuantumCircuit(1, name="A")
qc.ry(2 * theta, 0)
return qc
def oracle():
qc = QuantumCircuit(1, name="S_chi")
qc.z(0) # marks |1> (good state) with a phase flip
return qc
A = state_prep()
qc = QuantumCircuit(1, 1)
qc.append(A, [0])
# One amplitude-amplification iteration: S_chi, A^-1, S_0, A
qc.append(oracle(), [0])
qc.append(A.inverse(), [0])
qc.x(0)
qc.z(0)
qc.x(0) # S_0: reflect about |0>
qc.append(A, [0])
qc.measure(0, 0)
FINAL_CIRCUIT = qcQuantum vs classical
| Metric | Classical | Quantum |
|---|---|---|
| Query complexity (good-state prob. a) | O(1/a) | O(1/√a) |
| Asymptotic speedup | baseline | quadratic |
Classical baseline
Classical repeated sampling needs O(1/a) expected trials to observe an event of probability a.
Quantum claim
One amplitude-amplification iteration boosts success from a=1/4 to certainty in this instance; more generally O(1/√a) iterations suffice, assuming a reflection oracle over the good subspace is available.
How to compare
Compare oracle depth × iteration count against the classical sampling cost for the same acceptance threshold, and confirm the reflection oracle is actually available at that cost.
Declared gaps
Nobody has reviewed this record for gaps yet.