IterativeAmplitudeEstimation
qiskit.algorithms.IterativeAmplitudeEstimation(epsilon_target, alpha, confint_method='beta', min_ratio=2, quantum_instance=None, sampler=None)
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 , 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.
References
[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).
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 https://qisk.it/algo_migration (opens in a new tab) for a migration guide.
Parameters
- 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 () for FindNextK
- quantum_instance (QuantumInstance |Backend | None) – Deprecated: Quantum Instance or Backend
- sampler (BaseSampler | None) – A sampler primitive to evaluate the circuits.
Raises
- AlgorithmError – if the method to compute the confidence intervals is not supported
- ValueError (opens in a new tab) – If the target epsilon is not in (0, 0.5]
- ValueError (opens in a new tab) – If alpha is not in (0, 1)
- ValueError (opens in a new tab) – If confint_method is not supported
Attributes
epsilon_target
Returns the target precision epsilon_target
of the algorithm.
Returns
The target precision (which is half the width of the confidence interval).
quantum_instance
Deprecated. Get the quantum instance.
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 https://qisk.it/algo_migration (opens in a new tab) for a migration guide.
Returns
The quantum instance used to run this algorithm.
sampler
Get the sampler primitive.
Returns
The sampler primitive to evaluate the circuits.
Methods
construct_circuit
construct_circuit(estimation_problem, k=0, measurement=False)
Construct the circuit .
The A operator is the unitary specifying the QAE problem and Q the associated Grover operator.
Parameters
- estimation_problem (EstimationProblem) – The estimation problem for which to construct the QAE circuit.
- k (int (opens in a new tab)) – The power of the Q operator.
- measurement (bool (opens in a new tab)) – Boolean flag to indicate if measurements should be included in the circuits.
Returns
The circuit implementing .
Return type
estimate
estimate(estimation_problem)
Run the amplitude estimation algorithm on provided estimation problem.
Parameters
estimation_problem (EstimationProblem) – The estimation problem.
Returns
An amplitude estimation results object.
Raises
- ValueError (opens in a new tab) – A quantum instance or Sampler must be provided.
- AlgorithmError – Sampler job run error.
Return type
IterativeAmplitudeEstimationResult