Skip to main contentIBM Quantum Documentation
This page is from an old version of Qiskit SDK and does not exist in the latest version. We recommend you migrate to the latest version. See the release notes for more information.

IterativePhaseEstimation

class IterativePhaseEstimation(num_iterations, quantum_instance=None)

GitHub

Bases: qiskit.algorithms.phase_estimators.phase_estimator.PhaseEstimator

Run the Iterative quantum phase estimation (QPE) algorithm.

Given a unitary circuit and a circuit preparing an eigenstate, return the phase of the eigenvalue as a number in [0,1)[0,1) using the iterative phase estimation algorithm.

[1]: Dobsicek et al. (2006), Arbitrary accuracy iterative phase estimation algorithm as a two

qubit benchmark, arxiv/quant-ph/0610214

Parameters

  • num_iterations (int) – The number of iterations (rounds) of the phase estimation to run.
  • quantum_instance (Union[QuantumInstance, Backend, BaseBackend, None]) – The quantum instance on which the circuit will be run.

Raises

ValueError – if num_iterations is not greater than zero.


Methods

construct_circuit

IterativePhaseEstimation.construct_circuit(unitary, state_preparation, k, omega=0, measurement=False)

Construct the kth iteration Quantum Phase Estimation circuit.

For details of parameters, see Fig. 2 in https://arxiv.org/pdf/quant-ph/0610214.pdf.

Parameters

  • unitary (QuantumCircuit) – The circuit representing the unitary operator whose eigenvalue (via phase) will be measured.
  • state_preparation (QuantumCircuit) – The circuit that prepares the state whose eigenphase will be measured. If this parameter is omitted, no preparation circuit will be run and input state will be the all-zero state in the computational basis.
  • k (int) – the iteration idx.
  • omega (float) – the feedback angle.
  • measurement (bool) – Boolean flag to indicate if measurement should be included in the circuit.

Returns

the quantum circuit per iteration

Return type

QuantumCircuit

estimate

IterativePhaseEstimation.estimate(unitary, state_preparation)

Estimate the eigenphase of the input unitary and initial-state pair.

Parameters

  • unitary (QuantumCircuit) – The circuit representing the unitary operator whose eigenvalue (via phase) will be measured.
  • state_preparation (QuantumCircuit) – The circuit that prepares the state whose eigenphase will be measured. If this parameter is omitted, no preparation circuit will be run and input state will be the all-zero state in the computational basis.

Return type

IterativePhaseEstimationResult

Returns

Estimated phase in an IterativePhaseEstimationResult object.

Was this page helpful?
Report a bug or request content on GitHub.