FasterAmplitudeEstimation#
- class FasterAmplitudeEstimation(delta, maxiter, rescale=True, sampler=None)[source]#
Bases:
AmplitudeEstimator
The Faster Amplitude Estimation algorithm.
The Faster Amplitude Estimation (FAE) [1] algorithm is a variant of Quantum Amplitude Estimation (QAE), where the Quantum Phase Estimation (QPE) by an iterative Grover search, similar to [2].
Due to the iterative version of the QPE, this algorithm does not require any additional qubits, as the originally proposed QAE [3] and thus the resulting circuits are less complex.
References
- [1]: K. Nakaji. Faster Amplitude Estimation, 2020;
- [2]: D. Grinko et al. Iterative Amplitude Estimation, 2019;
- [3]: G. Brassard et al. Quantum Amplitude Amplification and Estimation, 2000;
- Parameters:
delta (float) – The probability that the true value is outside of the final confidence interval.
maxiter (int) – The number of iterations, the maximal power of Q is 2 ** (maxiter - 1).
rescale (bool) – Whether to rescale the problem passed to estimate.
sampler (BaseSampler | None) – A sampler primitive to evaluate the circuits.
Attributes
- sampler#
Get the sampler primitive.
- Returns:
The sampler primitive to evaluate the circuits.
Methods
- construct_circuit(estimation_problem, k, measurement=False)[source]#
Construct the circuit \(Q^k X |0\rangle>\).
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 circuit.
k (int) – The power of the Q operator.
measurement (bool) – Boolean flag to indicate if measurements should be included in the circuits.
- Returns:
The circuit \(Q^k X |0\rangle\).
- Return type:
- estimate(estimation_problem)[source]#
Run the amplitude estimation algorithm on provided estimation problem.
- Parameters:
estimation_problem (EstimationProblem) – The estimation problem.
- Returns:
An amplitude estimation results object.
- Raises:
AlgorithmError – Sampler run error.
- Return type: