Skip to main contentIBM Quantum Documentation
You are viewing the API reference for an old version of Qiskit SDK. Switch to latest version

IterativePhaseEstimation

qiskit.algorithms.IterativePhaseEstimation(num_iterations, quantum_instance=None, sampler=None)

GitHub(opens in a new tab)

Bases: 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(opens in a new tab)

Deprecated since version 0.24.0

qiskit.algorithms.phase_estimators.ipe.IterativePhaseEstimation.__init__()’s argument quantum_instance is deprecated as of qiskit-terra 0.24.0. It will be removed no earlier than 3 months after the release date. Instead, use the sampler argument. See https://qisk.it/algo_migration(opens in a new tab) for a migration guide.

Parameters

  • num_iterations (int(opens in a new tab)) – The number of iterations (rounds) of the phase estimation to run.
  • quantum_instance (QuantumInstance |Backend | None) – Deprecated: The quantum instance on which the circuit will be run.
  • sampler (BaseSampler | None) – The sampler primitive on which the circuit will be sampled.

Raises


Methods

construct_circuit

construct_circuit(unitary, state_preparation, k, omega=0.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(opens in a new tab).

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(opens in a new tab)) – the iteration idx.
  • omega (float(opens in a new tab)) – the feedback angle.
  • measurement (bool(opens in a new tab)) – Boolean flag to indicate if measurement should be included in the circuit.

Returns

the quantum circuit per iteration

Return type

QuantumCircuit

estimate

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.

Returns

Estimated phase in an IterativePhaseEstimationResult object.

Raises

AlgorithmError – If neither sampler nor quantum instance is provided.

Return type

IterativePhaseEstimationResult

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