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


class qiskit.algorithms.IterativeAmplitudeEstimation(epsilon_target, alpha, confint_method='beta', min_ratio=2, quantum_instance=None, sampler=None)

GitHub(opens in a new tab)

Bases: AmplitudeEstimator

The Iterative Amplitude Estimation algorithm.

This class implements the Iterative Quantum Amplitude Estimation (IQAE) algorithm, proposed in [1]. The output of the algorithm is an estimate that, with at least probability 1α1 - \alpha, differs by epsilon to the target value, where both alpha and epsilon can be specified.

It differs from the original QAE algorithm proposed by Brassard [2] in that it does not rely on Quantum Phase Estimation, but is only based on Grover’s algorithm. IQAE iteratively applies carefully selected Grover iterations to find an estimate for the target amplitude.


[1]: Grinko, D., Gacon, J., Zoufal, C., & Woerner, S. (2019).

Iterative Quantum Amplitude Estimation. arXiv:1912.05559(opens in a new tab).

[2]: Brassard, G., Hoyer, P., Mosca, M., & Tapp, A. (2000).

Quantum Amplitude Amplification and Estimation. arXiv:quant-ph/0005055(opens in a new tab).

The output of the algorithm is an estimate for the amplitude a, that with at least probability 1 - alpha has an error of epsilon. The number of A operator calls scales linearly in 1/epsilon (up to a logarithmic factor).

Deprecated since version 0.24.0

qiskit.algorithms.amplitude_estimators.iae.IterativeAmplitudeEstimation.__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 in a new tab) for a migration guide.


  • epsilon_target (float(opens in a new tab)) – Target precision for estimation target a, has values between 0 and 0.5
  • alpha (float(opens in a new tab)) – Confidence level, the target probability is 1 - alpha, has values between 0 and 1
  • confint_method (str(opens in a new tab)) – Statistical method used to estimate the confidence intervals in each iteration, can be ‘chernoff’ for the Chernoff intervals or ‘beta’ for the Clopper-Pearson intervals (default)
  • min_ratio (float(opens in a new tab)) – Minimal q-ratio (Ki+1/KiK_{i+1} / K_i) for FindNextK
  • quantum_instance (QuantumInstance |Backend | None) – Deprecated: Quantum Instance or Backend
  • sampler (BaseSampler | None) – A sampler primitive to evaluate the circuits.




Returns the target precision epsilon_target of the algorithm.


The target precision (which is half the width of the confidence interval).


Deprecated. Get the quantum instance.

Deprecated since version 0.24.0

The property qiskit.algorithms.amplitude_estimators.iae.IterativeAmplitudeEstimation.quantum_instance is deprecated as of qiskit-terra 0.24.0. It will be removed no earlier than 3 months after the release date. See in a new tab) for a migration guide.


The quantum instance used to run this algorithm.


Get the sampler primitive.


The sampler primitive to evaluate the circuits.



construct_circuit(estimation_problem, k=0, measurement=False)

Construct the circuit QkA0\mathcal{Q}^k \mathcal{A} |0\rangle.

The A operator is the unitary specifying the QAE problem and Q the associated Grover operator.



The circuit implementing QkA0\mathcal{Q}^k \mathcal{A} |0\rangle.

Return type




Run the amplitude estimation algorithm on provided estimation problem.


estimation_problem (EstimationProblem) – The estimation problem.


An amplitude estimation results object.


Return type


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