IterativeAmplitudeEstimation#
- class qiskit.algorithms.IterativeAmplitudeEstimation(epsilon_target, alpha, confint_method='beta', min_ratio=2, quantum_instance=None, sampler=None)[ソース]#
ベースクラス:
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 - \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.
- [2]: Brassard, G., Hoyer, P., Mosca, M., & Tapp, A. (2000).
Quantum Amplitude Amplification and Estimation. arXiv:quant-ph/0005055.
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).
バージョン 0.24.0 で非推奨:
qiskit.algorithms.amplitude_estimators.iae.IterativeAmplitudeEstimation.__init__()
』s argumentquantum_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 thesampler
argument. See https://qisk.it/algo_migration for a migration guide.- パラメータ:
epsilon_target (float) – Target precision for estimation target a, has values between 0 and 0.5
alpha (float) – Confidence level, the target probability is 1 - alpha, has values between 0 and 1
confint_method (str) – 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) – Minimal q-ratio (\(K_{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.
- 例外:
AlgorithmError – if the method to compute the confidence intervals is not supported
ValueError – If the target epsilon is not in (0, 0.5]
ValueError – If alpha is not in (0, 1)
ValueError – If confint_method is not supported
Attributes
- epsilon_target#
Returns the target precision
epsilon_target
of the algorithm.- 戻り値:
The target precision (which is half the width of the confidence interval).
- quantum_instance#
Deprecated. Get the quantum instance.
バージョン 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 https://qisk.it/algo_migration for a migration guide.- 戻り値:
The quantum instance used to run this algorithm.
- sampler#
Get the sampler primitive.
- 戻り値:
The sampler primitive to evaluate the circuits.
Methods
- construct_circuit(estimation_problem, k=0, measurement=False)[ソース]#
Construct the circuit \(\mathcal{Q}^k \mathcal{A} |0\rangle\).
The A operator is the unitary specifying the QAE problem and Q the associated Grover operator.
- パラメータ:
estimation_problem (EstimationProblem) – The estimation problem for which to construct the QAE circuit.
k (int) – The power of the Q operator.
measurement (bool) – Boolean flag to indicate if measurements should be included in the circuits.
- 戻り値:
The circuit implementing \(\mathcal{Q}^k \mathcal{A} |0\rangle\).
- 戻り値の型:
- estimate(estimation_problem)[ソース]#
Run the amplitude estimation algorithm on provided estimation problem.
- パラメータ:
estimation_problem (EstimationProblem) – The estimation problem.
- 戻り値:
An amplitude estimation results object.
- 例外:
ValueError – A quantum instance or Sampler must be provided.
AlgorithmError – Sampler job run error.
- 戻り値の型: