Sign in
← Atlas
Strong empiricalAlgorithmsKitaev iterative phase estimation

Iterative phase estimation

Estimates the eigenphase of a unitary using a single reused ancilla qubit instead of a full phase-estimation register.

phase estimationkitaevsemiclassicalsingle ancilla

Atlas stars stay in the public catalog. Saving this entry to your workspace starts an unstarred private copy.

Kitaev's iterative (semiclassical) phase estimation trades the O(t) ancilla qubits of textbook QPE for O(1) ancilla and classical feedback between t sequential rounds.

Circuit & simulation
Round 0: bit b₁ = 0 (MSB)100%
Round 1: bit b₀ = 1 (LSB)100%
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:

  • Iterative phase estimation on one ancilla Method

    Takes A circuit for U that can be applied as controlled U^(2^j), a preparation routine for a state whose overlap with the target eigenvector is not negligible, the number of bits of the phase wanted, and the failure probability that may be tolerated. Returns An estimate of the eigenphase to the requested number of bits, with the failure probability it was obtained at, plus the two costs that actually differ between routes: how many ancillas were held at once, and how many sequential rounds were run.

How it works

Kitaev's iterative phase estimation (IPE) estimates the eigenphase φ\varphi of Uψ=e2πiφψU|\psi\rangle = e^{2\pi i\varphi}|\psi\rangle using a single ancilla qubit reused across tt sequential rounds, instead of the tt ancilla qubits plus inverse-QFT used by textbook phase estimation.

Per-round structure. Round kk (starting from the most significant bit) prepares the ancilla in +|+\rangle, applies a controlled U2t1kU^{2^{t-1-k}}, applies a phase correction eiωe^{-i\omega} built from the bits already measured in earlier rounds (the "semiclassical" feedback), applies HH, and measures. The measured bit is the kk-th bit of the binary expansion of φ\varphi. Because the ancilla is reset and reused, only one physical qubit is needed beyond the eigenstate register, at the cost of tt sequential circuit executions instead of one wide circuit.

Small worked instance. Take U=SU=S (the phase gate) acting on its eigenstate 1|1\rangle: S1=eiπ/21=e2πi(1/4)1S|1\rangle = e^{i\pi/2}|1\rangle = e^{2\pi i (1/4)}|1\rangle, so φ=1/4\varphi=1/4. In binary, 1/4=0.0121/4 = 0.01_2 — an exact 2-bit fraction with no truncation error. Running 2-bit IPE: round 0 (most significant bit) applies controlled-U2=S2=ZU^{2}=S^2=Z and recovers bit b1=0b_1=0; round 1 applies controlled-U1=SU^1=S with the feedback phase set from b1b_1, recovering bit b0=1b_0=1. The two measured bits reconstruct φ=0.012=1/4\varphi=0.01_2=1/4 exactly, since this particular phase happens to terminate at 2 bits.

Complexity. Both textbook QPE and IPE use O(2t)O(2^t) total controlled-UU applications to resolve tt bits of φ\varphi; IPE's advantage is O(1)O(1) coherent ancilla qubits rather than O(t)O(t), which matters on hardware where qubit count, not gate count, is the binding constraint.

Implementation
Native
iterative_phase_estimation.py
from qiskit import QuantumCircuit
import numpy as np

def ipe_round(k, total_bits, omega):
    """One semiclassical IPE round for U = S-gate, eigenstate |1>."""
    qc = QuantumCircuit(2, 1)
    qc.x(1)                       # eigenstate |1> of S
    qc.h(0)                       # ancilla in |+>
    reps = 2 ** (total_bits - 1 - k)
    for _ in range(reps):
        qc.cp(np.pi / 2, 0, 1)    # controlled-S^reps
    qc.p(-omega, 0)               # feedback from previously measured bits
    qc.h(0)
    qc.measure(0, 0)
    return qc

# phi = 1/4 for U = S acting on |1>; recovered exactly in 2 rounds
round0 = ipe_round(0, 2, omega=0.0)        # expect bit b1 = 0
round1 = ipe_round(1, 2, omega=0.0)        # feedback uses b1; expect bit b0 = 1

FINAL_CIRCUIT = round1
Quantum vs classical

Classical baseline

Classical eigenvalue decomposition of a unitary requires the explicit matrix and costs exponentially in the number of qubits it acts on.

Quantum claim

IPE extracts binary digits of the phase using only black-box controlled-U access, with O(2^t) total queries for t bits of precision and O(1) coherent ancilla qubits.

How to compare

Compare total controlled-U calls and ancilla-qubit count against textbook QPE, and against classical diagonalization when the unitary's matrix is actually available.

Declared gaps

Nobody has reviewed this record for gaps yet.

Literature & references
Quantum measurements and the Abelian Stabilizer Problem1995 · A. Yu. Kitaev

Original iterative phase-estimation scheme using a single ancilla qubit and classical post-processing.

arxiv.org/abs/quant-ph/9511026
Arbitrary accuracy iterative phase estimation algorithm as a two qubit benchmark2006 · M. Dobsicek, G. Johansson, V. S. Shumeiko, G. Wendin

Formalizes the semiclassical feedback rounds used in this entry's circuit.

arxiv.org/abs/quant-ph/0610214