Computing Library › Quantum Algorithms
Quantum Algorithms

Amplitude Estimation Without Phase Estimation

Near-term variants recover the marked amplitude from Grover-power measurements, avoiding the deep quantum Fourier transform.

Motivation

Canonical quantum amplitude estimation needs a large ancilla register and an inverse quantum Fourier transform, producing circuits too deep for noisy hardware. A family of algorithms recovers the amplitude a = sin^2(theta) using only powers of the Grover operator Q applied to the state, with classical post-processing, keeping the quantum part shallow.

Maximum likelihood approach

Kronos motion — phase estimation

Apply Q^k to the prepared state for a schedule of exponents k_0, k_1, ... and measure the flag qubit many times at each k. After k applications, the probability of measuring 1 is sin^2((2k+1)*theta). Each measurement count is a binomial sample. A single likelihood function combining all schedules is maximized over theta, giving an estimate whose error approaches the Heisenberg 1/M scaling when the schedule grows exponentially.

python
import numpy as np

def neg_log_likelihood(theta, ks, hits, shots):
    ll = 0.0
    for k, h, n in zip(ks, hits, shots):
        p = np.sin((2*k+1)*theta)**2
        p = min(max(p, 1e-12), 1-1e-12)
        ll += h*np.log(p) + (n-h)*np.log(1-p)
    return -ll

# grid search over theta in [0, pi/2] then refine
thetas = np.linspace(0, np.pi/2, 20001)
# choose theta minimizing neg_log_likelihood(...)

Other variants

Trade-offs

These methods reduce qubit count and coherence requirements but need careful schedule design and can be sensitive to bias if the Grover operator is imperfect. They interpolate between purely classical sampling (all k = 0) and full Heisenberg scaling as the maximum power grows.

See quantum amplitude estimation for the phase-estimation-based original and approximate counting for a closely related counting task.