qdk_chemistry.algorithms.phase_estimation.iterative_phase_estimation module

Iterative phase estimation implementation.

This module implements the Kitaev-style iterative quantum phase estimation (IQPE) algorithm, which measures phase bits sequentially from least-significant to most-significant using a single ancilla qubit and adaptive feedback corrections. The first iteration applies the largest controlled power \(U^{2^{n-1}}\) (n = num_bits) and therefore measures the least-significant bit; subsequent iterations proceed toward the most-significant bit. The returned QpeResult.bits_msb_first reverses this execution order into the conventional most-significant-first bitstring.

References

Kitaev, A. (1995). arXiv:quant-ph/9511026. [Kit95]

class qdk_chemistry.algorithms.phase_estimation.iterative_phase_estimation.IterativePhaseEstimation(shots_per_bit=3)[source]

Bases: PhaseEstimation

Iterative Phase Estimation algorithm implementation.

Parameters:

shots_per_bit (int)

__init__(shots_per_bit=3)[source]

Initialize IterativePhaseEstimation with the given settings.

Parameters:

shots_per_bit (int) – The number of shots to execute per measuring a bit in the iterative phase estimation.

name()[source]

Return the name of the phase estimation algorithm.

Return type:

str

class qdk_chemistry.algorithms.phase_estimation.iterative_phase_estimation.IterativePhaseEstimationSettings[source]

Bases: PhaseEstimationSettings

Settings for the Iterative Phase Estimation algorithm.

__init__()[source]

Initialize the settings for Iterative Phase Estimation.

Parameters:

shots_per_bit – The number of shots to execute per measuring a bit in the iterative phase estimation.