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 IterativePhaseEstimation(num_iterations, quantum_instance=None, sampler=None)
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 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 (QuantumInstance |Backend | None) – Pending deprecation: 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
IterativePhaseEstimation.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
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.
Raises
AlgorithmError – If neither sampler nor quantum instance is provided.
Was this page helpful?
Report a bug or request content on GitHub.