In short

Quantum Phase Estimation (QPE) extracts a phase \varphi \in [0, 1) from an eigenstate |u\rangle of a unitary U, given that U|u\rangle = e^{2\pi i \varphi}|u\rangle. The recipe uses t ancilla qubits plus a target register holding |u\rangle:

  1. Hadamard the ancillas into a uniform superposition.
  2. Apply controlled-U^{2^k} from ancilla qubit k onto the target, for k = 0, 1, \ldots, t-1. Phase kickback builds up the Fourier-basis state \tfrac{1}{\sqrt{2^t}}\sum_x e^{2\pi i\, x\varphi}|x\rangle on the ancillas.
  3. Apply the inverse QFT on the ancillas.
  4. Measure. The outcome is the t-bit binary approximation of \varphi.

If \varphi is exactly expressible as a t-bit fraction, the measurement gives it exactly. Otherwise, the measurement gives the nearest t-bit approximation with high probability — at least 4/\pi^2 \approx 40\% in the worst case, boostable to > 99\% by adding a handful of extra ancilla qubits. QPE is the subroutine that sits at the heart of Shor's algorithm, HHL, quantum chemistry, and Grover-style amplitude amplification.

Many of the most famous quantum algorithms are, in the end, trying to learn an eigenvalue. Shor's algorithm factors an integer by finding the eigenvalue of a modular-multiplication operator. Quantum chemistry calculates the ground-state energy of a molecule by finding the smallest eigenvalue of a Hamiltonian. HHL solves a linear system Ax = b by inverting the eigenvalues of A. In every one of these, the quantum computer's job reduces to: take a unitary U and an eigenstate |u\rangle, then tell me the phase \varphi such that U|u\rangle = e^{2\pi i \varphi}|u\rangle.

Phase estimation is the universal subroutine that does exactly that.

The picture, in one breath. You have a unitary U on some number of qubits. You have a state |u\rangle that happens to be an eigenstate of U — meaning U does not rotate |u\rangle, it only multiplies it by a phase e^{2\pi i \varphi}. That phase encodes the information you want. The problem is that in isolation, e^{2\pi i \varphi} on |u\rangle is a global phase — invisible to any measurement. You cannot distinguish |u\rangle from e^{2\pi i \varphi}|u\rangle by doing anything to |u\rangle alone.

QPE gets around the invisibility problem by kicking the phase back onto a register of ancilla qubits, and then using the inverse QFT to turn that phase register into a binary number you can just read out. One controlled gate, and the phase is out of hiding. A ladder of them, and the phase becomes a t-bit binary expansion. An inverse QFT, and the binary expansion lands in the computational basis where a measurement reveals it as bits.

This chapter builds the algorithm from those three ingredients — phase kickback (ch. 60), the inverse QFT (ch. 67-68), and controlled-U^{2^k} gates — and shows in full, with worked examples, how they combine into the single most important subroutine in quantum algorithms.

The setup — input, output, ingredients

Input. A unitary U on n_u qubits, and an eigenstate |u\rangle with eigenvalue e^{2\pi i \varphi}. Here \varphi is an unknown real number in [0, 1) — the "phase fraction." (The convention of writing the eigenvalue as e^{2\pi i \varphi} rather than e^{i\theta} is chosen so that \varphi represents a fraction of a full turn, which makes the binary expansion natural.)

Output. A t-bit binary approximation \widetilde\varphi = 0.\varphi_1\varphi_2\ldots\varphi_t of \varphi, obtained as the measurement outcome on a t-qubit ancilla register. Here 0.\varphi_1\varphi_2\ldots\varphi_t is binary-fraction notation: 0.\varphi_1\varphi_2\ldots\varphi_t = \varphi_1/2 + \varphi_2/4 + \cdots + \varphi_t/2^t, where each \varphi_k \in \{0, 1\}.

Ingredients.

Why doubling powers: to extract the k-th bit of \varphi's binary expansion, you need to multiply the phase by 2^k so that the relevant bit is shifted into the "ones" place where a controlled-U can read it. Doubling powers is exactly the binary-bit-extraction trick — and it is why QPE uses an exponential number of U applications to get polynomial precision.

The quantum phase estimation circuitA quantum circuit with t ancilla wires (four shown) initialised to ket zero followed by Hadamard gates, and a target wire holding the eigenstate ket u. Each ancilla qubit k, from zero to three, controls a box labelled U raised to the two to the k on the target. After the controlled gates, the ancillas pass through a box labelled inverse QFT and then through measurement symbols, yielding the binary approximation phi tilde.|0⟩|0⟩|0⟩|0⟩|u⟩t ancilla qubitstarget registerHHHHUU⁴U⁸QFT⁻¹φ̃C-U¹C-U²C-U⁴C-U⁸controlled powers: U^(2⁰), U^(2¹), U^(2²), U^(2³)
The full QPE circuit, shown here with $t = 4$ ancilla qubits. Each ancilla is Hadamarded into a uniform superposition, then used as the control for a controlled-$U^{2^k}$ gate on the target (which holds $|u\rangle$). The inverse QFT at the end rotates the ancilla register from the Fourier basis back into the computational basis, where a measurement reads off the binary expansion of $\varphi$.

Step one — Hadamards make the ancilla superposition

The ancillas begin in |0\rangle^{\otimes t}, a plain product state with no interesting phase structure. Apply a Hadamard to each:

H^{\otimes t}\,|0\rangle^{\otimes t} \;=\; \frac{1}{\sqrt{2^t}}\sum_{x=0}^{2^t - 1}|x\rangle.

Why this move: H|0\rangle = \tfrac{1}{\sqrt 2}(|0\rangle + |1\rangle), so on t qubits the Hadamard tower produces a uniform superposition over all 2^t basis states. Every t-bit integer x between 0 and 2^t - 1 appears with amplitude 1/\sqrt{2^t}. This is the canonical "first move" of a huge class of quantum algorithms: put the register into a uniform superposition so the subsequent gates can act on every input in parallel.

The full state (ancilla ⊗ target) after the Hadamards is

\frac{1}{\sqrt{2^t}}\sum_{x=0}^{2^t - 1}|x\rangle\,|u\rangle.

The target is still |u\rangle, unchanged. The ancillas hold a uniform spread of "labels" |x\rangle, each tagged with the same target eigenstate.

Step two — the controlled-U ladder builds the phase

Now the central move. For each ancilla qubit k = 0, 1, \ldots, t-1, apply a controlled-U^{2^k} gate with ancilla k as the control and the target register as the target.

Take it one qubit at a time first. Suppose k = 0: the gate is just controlled-U. On the branch where ancilla 0 is in |0\rangle, nothing happens. On the branch where ancilla 0 is in |1\rangle, the target is hit with U. Because the target is an eigenstate with eigenvalue e^{2\pi i \varphi}, the result is

U|u\rangle = e^{2\pi i \varphi}|u\rangle.

Exactly as in phase kickback, the phase e^{2\pi i \varphi} jumps off the target and sticks onto the control — because on the |1\rangle branch the phase is present and on the |0\rangle branch it isn't, which makes it a relative phase rather than a global one. The effect on ancilla 0 is

\tfrac{1}{\sqrt 2}\bigl(|0\rangle + |1\rangle\bigr) \;\longrightarrow\; \tfrac{1}{\sqrt 2}\bigl(|0\rangle + e^{2\pi i \varphi}|1\rangle\bigr).

Now do the same reasoning for ancilla k, which controls U^{2^k}. The eigenvalue of U^{2^k} on |u\rangle is (e^{2\pi i \varphi})^{2^k} = e^{2\pi i \cdot 2^k \varphi}. So ancilla k picks up the relative phase e^{2\pi i \cdot 2^k \varphi}:

\tfrac{1}{\sqrt 2}\bigl(|0\rangle + |1\rangle\bigr) \;\longrightarrow\; \tfrac{1}{\sqrt 2}\bigl(|0\rangle + e^{2\pi i \cdot 2^k \varphi}|1\rangle\bigr).

Why U^{2^k}'s eigenvalue is e^{2\pi i \cdot 2^k \varphi}: applying U multiplies the eigenstate by e^{2\pi i \varphi}; applying U again multiplies by e^{2\pi i \varphi} a second time, giving e^{4\pi i \varphi}; applying it 2^k times multiplies by e^{2\pi i \cdot 2^k \varphi}. Raising U to the 2^k-th power doubles the phase k times, which is exactly the binary shift \varphi \mapsto 2^k \varphi.

Put all t ancillas together. The joint state of the ancilla register is the tensor product

\bigotimes_{k=0}^{t-1}\tfrac{1}{\sqrt 2}\bigl(|0\rangle + e^{2\pi i \cdot 2^k \varphi}|1\rangle\bigr).

Expand this product. Each factor contributes either |0\rangle (amplitude 1/\sqrt 2, no phase) or |1\rangle (amplitude 1/\sqrt 2, phase e^{2\pi i \cdot 2^k \varphi}). A basis state |x\rangle = |x_{t-1} x_{t-2} \ldots x_0\rangle picks up a phase e^{2\pi i \cdot 2^k \varphi} for each position k where x_k = 1, and nothing for positions where x_k = 0. Adding the exponents:

\text{phase on }|x\rangle \;=\; \exp\!\Bigl(2\pi i \varphi \sum_{k=0}^{t-1} x_k \cdot 2^k\Bigr) \;=\; e^{2\pi i\, x\varphi},

because \sum_k x_k 2^k is exactly the integer x written in binary. So the ancilla register after the controlled-U ladder is

\frac{1}{\sqrt{2^t}}\sum_{x=0}^{2^t - 1} e^{2\pi i\, x\varphi}\,|x\rangle.

Written out, one line at a time, the ancillas have become a state whose amplitudes are uniform in magnitude but whose phases march through e^{2\pi i \cdot 0 \cdot \varphi}, e^{2\pi i \cdot 1 \cdot \varphi}, e^{2\pi i \cdot 2 \cdot \varphi}, \ldots — a linear ramp of phases indexed by x. This is exactly a Fourier-basis state: the QFT of the computational-basis state |2^t \varphi\rangle.

The target register, through all of this, remains |u\rangle. The eigenstate is untouched. The phase has migrated from target to ancillas in one pass.

Phase kickback builds up a Fourier-basis state on the ancillasA series of four rows showing the phase accumulation on successive ancilla qubits. Row zero, labelled ancilla zero, shows two amplitudes ket zero and ket one with a small phase arrow indicating e to the two pi i phi. Row one shows phase e to the two pi i times two phi. Row two shows phase e to the two pi i times four phi. Row three shows phase e to the two pi i times eight phi, with the arrow completing multiple rotations. Below the rows, an arrow labelled tensor product combines them into the Fourier state one over root two to the t sum over x of e to the two pi i x phi ket x.How the phases build up, one ancilla at a timeancilla 0:|0⟩ + e^(2πi·1·φ)|1⟩ancilla 1:|0⟩ + e^(2πi·2·φ)|1⟩ancilla 2:|0⟩ + e^(2πi·4·φ)|1⟩ancilla 3:|0⟩ + e^(2πi·8·φ)|1⟩(1/√2ᵗ) Σₓ e^(2πi·x·φ) |x⟩a Fourier-basis state
Each controlled-$U^{2^k}$ stamps the phase $e^{2\pi i \cdot 2^k \varphi}$ onto its ancilla. Taking the tensor product of all $t$ ancilla factors and expanding, the phase on basis state $|x\rangle$ becomes $\exp(2\pi i x \varphi)$ — a linear ramp of phases indexed by $x$, which is exactly a Fourier-basis state $|\widetilde{2^t \varphi}\rangle$.

Step three — inverse QFT converts phase into bits

The ancilla register currently sits in a Fourier-basis state. Read the QFT definition from the previous chapters:

\text{QFT}\,|y\rangle \;=\; \frac{1}{\sqrt{2^t}}\sum_{x=0}^{2^t - 1} e^{2\pi i\, xy/2^t}\,|x\rangle.

Compare this with what you just built on the ancillas:

\frac{1}{\sqrt{2^t}}\sum_{x=0}^{2^t - 1} e^{2\pi i\, x\varphi}\,|x\rangle.

The two are identical under the substitution y/2^t = \varphi, i.e. y = 2^t \varphi. In other words, the ancilla state is exactly \text{QFT}|2^t \varphi\rangle — the QFT image of the integer 2^t \varphi.

Why this substitution works cleanly when \varphi = k/2^t: if \varphi is a t-bit binary fraction, 2^t\varphi is an integer, and the ancilla state is the exact QFT image of a computational-basis state. If \varphi is not expressible as k/2^t, 2^t\varphi is not an integer and the ancilla state is a "rounded" Fourier-basis state — it will concentrate amplitude near the nearest integer but not perfectly. This is the source of the finite-precision error discussed in the next chapter.

Now apply the inverse QFT (\text{QFT}^\dagger) to the ancillas. By definition of the inverse,

\text{QFT}^\dagger\,\bigl(\text{QFT}|2^t \varphi\rangle\bigr) \;=\; |2^t \varphi\rangle.

If 2^t \varphi is an integer, the ancilla register collapses into the computational-basis state |2^t \varphi\rangle — exactly. If it isn't, the inverse QFT concentrates amplitude on the integer closest to 2^t \varphi, with smaller amplitudes spreading to nearby integers.

Step four — measurement reveals the bits

Measure the t ancilla qubits in the computational basis. The outcome is a t-bit string y_{t-1} y_{t-2} \ldots y_0 interpreted as an integer y = \sum_k y_k 2^k.

Divide by 2^t to get the phase estimate:

\widetilde\varphi \;=\; \frac{y}{2^t} \;=\; 0.y_{t-1} y_{t-2} \ldots y_0\ \text{(binary fraction)}.

If \varphi = k/2^t for some integer k, this measurement gives \widetilde\varphi = \varphi with probability 1.

If \varphi is not a t-bit fraction, this measurement gives the nearest t-bit approximation with probability at least 4/\pi^2 \approx 0.405 — and if you want higher confidence, the next chapter shows how to boost it.

And that is the entire algorithm. Four steps: Hadamard the ancillas, fire the controlled-U ladder, inverse QFT, measure. The target register is untouched throughout (it is a "work eigenstate," used catalytically) and the answer lands in the ancillas.

Worked examples

Example 1: phase of Pauli-Z on |1⟩, t = 2 ancillas

Take U = Z, the Pauli-Z gate. Its matrix is Z = \begin{pmatrix} 1 & 0 \\ 0 & -1 \end{pmatrix} and the eigenstate |1\rangle has eigenvalue -1 = e^{i\pi} = e^{2\pi i \cdot 1/2}, so \varphi = 1/2.

Use t = 2 ancillas. Since 1/2 is exactly expressible as a 2-bit binary fraction (0.10 = 1/2), QPE should return the answer deterministically.

Step 1. Initial state: |00\rangle_{\text{anc}} \otimes |1\rangle_{\text{tgt}}.

Step 2. Apply H^{\otimes 2} to the ancillas:

H^{\otimes 2}|00\rangle \;=\; \tfrac{1}{2}\bigl(|00\rangle + |01\rangle + |10\rangle + |11\rangle\bigr).

Why: two Hadamards on |00\rangle give a uniform superposition over four basis states — the standard "spread out the inputs" opener.

Step 3. Apply controlled-Z from ancilla 0 and controlled-Z^2 = I from ancilla 1. The controlled-Z^2 is trivial (since Z^2 = I), so only controlled-Z does work.

On the ancilla-0 branch |x_0 = 1\rangle the target |1\rangle picks up eigenvalue -1 = e^{2\pi i \cdot 1/2}. The phase kicks back to ancilla 0. Taking the tensor-product formula from step two of the algorithm derivation,

\text{state} \;=\; \tfrac{1}{\sqrt 2}\bigl(|0\rangle + e^{2\pi i \cdot 1 \cdot 1/2}|1\rangle\bigr) \otimes \tfrac{1}{\sqrt 2}\bigl(|0\rangle + e^{2\pi i \cdot 2 \cdot 1/2}|1\rangle\bigr) \otimes |1\rangle.

Evaluate the phases: e^{2\pi i \cdot 1/2} = e^{i\pi} = -1 on ancilla 0; e^{2\pi i \cdot 1} = 1 on ancilla 1. So

\text{state} \;=\; \tfrac{1}{\sqrt 2}\bigl(|0\rangle - |1\rangle\bigr) \otimes \tfrac{1}{\sqrt 2}\bigl(|0\rangle + |1\rangle\bigr) \otimes |1\rangle \;=\; |-\rangle|+\rangle|1\rangle.

Why this simplifies so cleanly: ancilla 0 gets a phase of -1 on its |1\rangle component, turning |+\rangle into |-\rangle. Ancilla 1 gets a phase of +1 (no change), so it stays |+\rangle.

Step 4. Apply the inverse QFT to the ancillas. On two qubits, \text{QFT}^\dagger is also the Hadamard-plus-swap circuit in reverse. Acting on |-\rangle|+\rangle: the inverse QFT sends this to the computational-basis state |10\rangle. (Verification: \text{QFT}|10\rangle = \tfrac{1}{2}(|00\rangle + i|01\rangle - |10\rangle - i|11\rangle), and after reordering and inverting, the Fourier image of |2\rangle = |10\rangle matches the phase pattern above for y = 2.)

Step 5. Measure. Outcome: y = 10_{\text{binary}} = 2. The phase estimate is \widetilde\varphi = y/2^t = 2/4 = 1/2. Exact.

Result. \widetilde\varphi = 1/2, which equals the true \varphi. For eigenvalues that are exactly t-bit binary fractions, QPE is deterministic.

QPE on Z with t=2: measurement histogramA bar chart with four bars labelled y equals zero through three. Only the bar at y equals two has full height one, while the other three bars are at zero. A label below the chart reads phi tilde equals two over four equals one half, the exact phase.Measurement probabilities — QPE of Z on |1⟩y=0y=1y=2y=310P = 1φ̃ = 2/4 = 1/2 — exact
QPE of $U = Z$ on the eigenstate $|1\rangle$ with $t = 2$ ancillas produces the outcome $y = 2$ with probability $1$. Dividing by $2^t = 4$ gives $\widetilde\varphi = 1/2$, matching the true phase $\varphi = 1/2$ exactly. When $\varphi$ is a clean $t$-bit fraction, QPE is deterministic.

What this shows. For a phase that is exactly expressible in t bits, QPE is a deterministic measurement: the Fourier pattern on the ancillas matches \text{QFT}|2^t\varphi\rangle exactly, the inverse QFT lands it on |2^t\varphi\rangle, and measurement reads off the integer. No probabilistic slack.

Example 2: phase of the T gate on |1⟩, t = 3 ancillas

Take U = T, the T gate. Its matrix is T = \begin{pmatrix} 1 & 0 \\ 0 & e^{i\pi/4} \end{pmatrix} and the eigenstate |1\rangle has eigenvalue e^{i\pi/4} = e^{2\pi i \cdot 1/8}, so \varphi = 1/8.

Use t = 3 ancillas. Since 1/8 = 0.001_{\text{binary}} is exactly representable in 3 bits, QPE should return it deterministically.

Step 1. Initial state: |000\rangle_{\text{anc}} \otimes |1\rangle_{\text{tgt}}.

Step 2. Apply H^{\otimes 3} to the ancillas, getting the uniform superposition \tfrac{1}{\sqrt 8}\sum_{x=0}^{7}|x\rangle. Why: three Hadamards produce the superposition over all eight 3-bit integers. Every subsequent controlled gate will act on each branch in parallel.

Step 3. Apply the controlled-T^{2^k} ladder. The powers are T, T^2 = S, and T^4 = Z. Their eigenvalues on |1\rangle are e^{2\pi i/8}, e^{2\pi i \cdot 2/8} = e^{2\pi i /4}, and e^{2\pi i \cdot 4/8} = e^{i\pi} = -1 respectively. Using the kickback formula directly,

\text{state} \;=\; \tfrac{1}{\sqrt 2}\bigl(|0\rangle + e^{2\pi i \cdot 1/8}|1\rangle\bigr) \otimes \tfrac{1}{\sqrt 2}\bigl(|0\rangle + e^{2\pi i \cdot 2/8}|1\rangle\bigr) \otimes \tfrac{1}{\sqrt 2}\bigl(|0\rangle + e^{2\pi i \cdot 4/8}|1\rangle\bigr) \otimes |1\rangle.

Expanding the tensor product into the 8-term sum, the phase on |x\rangle is e^{2\pi i \cdot x \cdot (1/8)} where x runs over 0, 1, \ldots, 7. Why the phases combine this way: each factor contributes phase e^{2\pi i \cdot 2^k/8} on its |1\rangle branch. Writing x in binary, x = \sum_k x_k 2^k, and summing exponents gives total phase e^{2\pi i \cdot x/8} on |x\rangle.

So the ancilla register is

\frac{1}{\sqrt 8}\sum_{x=0}^{7} e^{2\pi i \cdot x / 8}\,|x\rangle \;=\; \text{QFT}|1\rangle_3

— the QFT image of the 3-bit computational-basis state |1\rangle = |001\rangle on 3 qubits.

Step 4. Apply \text{QFT}^\dagger. It inverts the QFT:

\text{QFT}^\dagger\bigl(\text{QFT}|1\rangle_3\bigr) \;=\; |1\rangle_3 \;=\; |001\rangle.

Step 5. Measure. Outcome: y_2 y_1 y_0 = 001_{\text{binary}} = 1. The phase estimate is \widetilde\varphi = 1/2^3 = 1/8. Exact.

Result. \widetilde\varphi = 1/8, matching the true phase.

QPE on T with t=3: deterministic measurement on y=1A bar chart with eight bars labelled y equals zero through seven. Only the bar at y equals one has full height. Below the chart a label reads phi tilde equals one over eight, matching the true phase.QPE of T on |1⟩ with t = 3 ancillas0123456710P = 1measured y = 1 → φ̃ = 1/8 (exact)
QPE on $U = T$ with eigenstate $|1\rangle$ and $t = 3$ ancillas returns $y = 1$ with probability $1$, giving $\widetilde\varphi = 1/8$. Because $\varphi = 1/8$ is exactly a $3$-bit binary fraction, the measurement is deterministic.

What this shows. The controlled-U^{2^k} ladder turns successive doublings of the phase into successive bits of its binary expansion. For \varphi = 1/8 = 0.001, the bits land cleanly at position 2^0 — reflected in the measurement outcome y = 1. A phase of 5/8 = 0.101 would have produced y = 5; a phase of 3/8 = 0.011 would have produced y = 3. The relationship is direct: measurement outcome is the binary expansion of 2^t \varphi.

Why phase kickback is doing all the work

Pause for a moment to name the magic. The target register was in an eigenstate, so applying U to it did nothing — just multiplied by a phase. A phase on a lone state is invisible. But a phase on one branch of a superposition, with the other branch untouched, is a relative phase — and relative phases are visible.

The controlled-U^{2^k} gate manufactures exactly that situation. On the |1\rangle branch of ancilla k, U^{2^k} fires and the target picks up a phase. On the |0\rangle branch, nothing. The phase that was hidden on the target now appears as a relative phase on the ancilla — one ancilla per power, with the phase scaling as 2^k \varphi.

The Fourier basis is precisely the basis adapted to reading phases-as-integers. A state of the form \sum_x e^{2\pi i x \varphi}|x\rangle is the Fourier image of |2^t \varphi\rangle, and the inverse QFT is the tool that converts it back into a computational-basis state whose bit-pattern is the binary expansion of 2^t \varphi.

Take away either ingredient and the trick fails. Without an eigenstate, there is no clean phase to kick back — U|u\rangle would be a different state, and you would not be able to factor |u\rangle out. Without the QFT, the phases on the ancillas would remain encoded in relative phases rather than in bit values, invisible to a computational-basis measurement. Combining them is the trick. It is no accident that the QFT sits at the end of Shor's algorithm as well — the QFT's job is to turn phase information into basis-state information, which is what every measurement ultimately reads.

The target register — work eigenstate, not consumed

A crucial property of QPE: the target register is unchanged at the end. You input |u\rangle, you output |u\rangle. The eigenstate is catalytic; it is used to stamp phases onto the ancillas but is not consumed or destroyed.

This matters for two reasons.

First, if preparing |u\rangle is expensive, you only need to do it once. The same |u\rangle can be fed through QPE again (with a fresh set of ancillas) to get another phase sample, useful for majority-vote boosting (next chapter).

Second, QPE is part of a longer quantum subroutine in many algorithms. In HHL, for instance, the target register holds the input vector |b\rangle, which is written as a superposition over eigenstates of A: |b\rangle = \sum_j \beta_j |u_j\rangle. QPE acting on each component |u_j\rangle leaves it intact and attaches the corresponding eigenvalue estimate \widetilde\lambda_j to an ancilla — so after QPE, the state is \sum_j \beta_j |u_j\rangle |\widetilde\lambda_j\rangle, ready for conditional rotations based on \widetilde\lambda_j. None of that would work if QPE collapsed the eigenstate.

Common confusions

Going deeper

If you are here to know what phase estimation is, how it works, and why it matters: you have it. Prepare ancillas, apply the controlled-U ladder, do the inverse QFT, measure. The rest goes into corner cases — superposition-of-eigenstates inputs, Kitaev's older construction, iterative QPE, measurement-based QPE, and a tour of the algorithms that use QPE as a subroutine.

Superposition of eigenstates — QPE samples the spectrum

When the input is |\psi\rangle = \sum_j \beta_j |u_j\rangle with different eigenvalues e^{2\pi i \varphi_j}, run the QPE circuit. Linearity means QPE acts independently on each eigenstate component: after the full circuit (but before measurement), the joint state is

\sum_j \beta_j |\widetilde\varphi_j\rangle_{\text{anc}}\,|u_j\rangle_{\text{tgt}},

where |\widetilde\varphi_j\rangle is the ancilla state peaked at 2^t \varphi_j.

Measure the ancillas. With probability |\beta_j|^2, you get \widetilde\varphi_j. Simultaneously — and this is the subtle, powerful part — the target register collapses to |u_j\rangle. You have simultaneously (i) estimated an eigenvalue and (ii) prepared its corresponding eigenstate. This is how VQE and QPE-based chemistry algorithms bootstrap: start from a rough trial state, run QPE, and read out both the eigenvalue and the clean eigenstate in one go.

The downside: you get only one eigenvalue per run, sampled with probability |\beta_j|^2. If you want the lowest eigenvalue (the ground-state energy), you need the trial state to have significant overlap with the true ground state. Algorithmic work has gone into adiabatic preparation of good trial states as an upstream step to QPE.

Kitaev's original 1995 construction

Alexei Kitaev introduced phase estimation in 1995 (arXiv:quant-ph/9511026) in a slightly different form than the QFT-based version shown above. Kitaev's original algorithm uses O(\log(1/\varepsilon)) controlled-U gates but not a QFT — instead, it does bit-by-bit estimation using separate Hadamard tests on individual ancillas.

The idea: to estimate the k-th bit \varphi_k of the binary expansion, prepare a single ancilla in |+\rangle, apply controlled-U^{2^{k-1}}, then H, then measure. The outcome is \varphi_k with a probability that depends on whether the higher bits have already been corrected for. Kitaev showed that with O(\log n \cdot \log(1/\delta)) repetitions per bit (for confidence 1 - \delta), you can extract all n bits sequentially with high probability.

Kitaev's construction uses fewer qubits — just one ancilla at a time — but more runs and classical postprocessing. It is a precursor of the iterative phase estimation algorithms used on current NISQ hardware, where qubit counts are precious and circuit depth is forgiving.

Iterative phase estimation

A modern NISQ-friendly variant: use a single ancilla qubit and extract one bit of \varphi per repetition of the circuit, re-using the same ancilla and the same target after classical feedforward. The procedure, roughly:

  1. Estimate the lowest bit \varphi_t first by running controlled-U^{2^{t-1}} and measuring the ancilla in the X basis.
  2. Update the next round of controlled-U with a classically-controlled phase correction that "subtracts off" the bit you just found.
  3. Repeat for \varphi_{t-1}, \varphi_{t-2}, \ldots, \varphi_1.

Total ancilla count: 1. Total U-applications: still 2^t - 1. Total classical processing: O(t) conditional feedforward steps.

Iterative QPE is implemented on every major NISQ hardware vendor (IBM, IonQ, Rigetti) as a benchmark algorithm, because its low qubit count makes it accessible on current devices. Dobšíček et al. (2007) formalised the variant most commonly used today (arXiv:quant-ph/0610214).

Measurement-based phase estimation

A conceptual variant: instead of the full QFT ladder, interleave controlled-U gates with single-qubit measurements, using the measurement results to adaptively choose the next gate's parameters. This achieves the same information output as QPE with a circuit whose ancilla count is 1 but whose classical processing is more sophisticated.

Measurement-based QPE is one member of the broader "adaptive quantum algorithms" family, where measurement outcomes mid-circuit drive the gate choices for subsequent rounds.

Applications — a tour

Shor's algorithm. The unitary U_a is modular multiplication by a on a register of n bits: U_a|x\rangle = |ax \bmod N\rangle. Its eigenvalues are e^{2\pi i k/r} where r is the multiplicative order of a mod N and k runs over \{0, 1, \ldots, r-1\}. QPE extracts k/r, from which r can be classically recovered via continued fractions, from which non-trivial factors of N can be recovered by standard reduction.

Quantum chemistry. The Hamiltonian H of a molecule determines its energy levels via H|E_j\rangle = E_j|E_j\rangle. Exponentiate to get U = e^{-iH\tau} for some time step \tau; then the eigenvalues of U are e^{-iE_j\tau}, phases equal to -E_j\tau / (2\pi). QPE on U with a trial ground state extracts the ground-state energy, the central quantity in predicting molecular behaviour. This is why quantum computers are expected to outperform classical ones for electronic-structure calculation.

HHL (linear systems). Given A and b, solve Ax = b. HHL writes |b\rangle = \sum_j \beta_j |u_j\rangle in the eigenbasis of A, applies QPE to tag each component with its eigenvalue \widetilde\lambda_j, does a conditional rotation to build 1/\widetilde\lambda_j amplitudes, and un-computes the QPE. Runtime is O(\log N) in the matrix size under strong assumptions — an exponential speedup when the assumptions hold.

Grover / amplitude amplification via QPE. The Grover operator G is a unitary whose eigenvalues are e^{\pm 2i\theta} where \sin^2\theta = M/N (marked items / total). Running QPE on G gives \theta directly, from which M can be extracted — this is the "quantum counting" algorithm.

VQE bootstrapping. In variational quantum eigensolvers (VQE), a classical optimiser steers a parameterised quantum circuit toward an approximate ground state. QPE can be run at the end of VQE as a validation and refinement step: it both certifies the energy and projects onto the nearest exact eigenstate.

Indian context — TIFR, IISc, and the National Quantum Mission

Quantum phase estimation is on the curriculum of every Indian quantum computing research group. TIFR Mumbai runs courses on quantum algorithms that derive QPE in exactly the form shown here, often followed by Shor's algorithm as the first real use case. IISc Bangalore and IIT Madras have postgraduate programmes that cover QPE as part of their quantum information theory courses, with hands-on implementations on IBM Quantum cloud hardware.

India's National Quantum Mission (2023, ₹6000 crore over 8 years) funds research that includes QPE-based algorithms for chemistry and materials science — a natural fit since India's semiconductor and pharmaceutical industries have material-science problems that classical simulation has hit scaling walls on.

Where this leads next

References

  1. Alexei Kitaev, Quantum measurements and the Abelian stabilizer problem (1995) — arXiv:quant-ph/9511026. The original phase estimation paper.
  2. Wikipedia, Quantum phase estimation algorithm.
  3. Nielsen and Chuang, Quantum Computation and Quantum Information (2010), §5.2 — phase estimation derivation and accuracy analysis — Cambridge University Press.
  4. John Preskill, Lecture Notes on Quantum Computation, Chapter 7 — phase estimation and its applications — theory.caltech.edu/~preskill/ph229.
  5. Qiskit Textbook, Quantum Phase Estimation — hands-on implementation with Qiskit.
  6. Stephen Jordan, Quantum Algorithm Zoo — curated catalogue of quantum algorithms, with QPE listed as a fundamental subroutine.