About cookies on this site Our websites require some cookies to function properly (required). In addition, other cookies may be used with your consent to analyze site usage, improve the user experience and for advertising. For more information, please review your options. By visiting our website, you agree to our processing of information as described in IBM’sprivacy statement. To provide a smooth navigation, your cookie preferences will be shared across the IBM web domains listed here.
IterativePhaseEstimation
class qiskit.algorithms.IterativePhaseEstimation(num_iterations, quantum_instance=None, sampler=None)
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 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
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 for a migration guide.
Parameters
- num_iterations (int) – 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
- ValueError – if num_iterations is not greater than zero.
- AlgorithmError – If neither sampler nor quantum instance is provided.
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.
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
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.