Skip to main contentIBM Quantum Documentation
This page is from an old version of Qiskit SDK and does not exist in the latest version. We recommend you migrate to the latest version. See the release notes for more information.

FasterAmplitudeEstimation

class FasterAmplitudeEstimation(delta, maxiter, rescale=True, quantum_instance=None)

GitHub

Bases: qiskit.algorithms.amplitude_estimators.amplitude_estimator.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;

arXiv:2002.02417

[2]: D. Grinko et al. Iterative Amplitude Estimation, 2019;

arXiv:1912.05559

[3]: G. Brassard et al. Quantum Amplitude Amplification and Estimation, 2000;

arXiv:quant-ph/0005055

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.
  • quantum_instance (Union[QuantumInstance, Backend, BaseBackend, None]) – The quantum instance or backend to run the circuits.
Note

This algorithm overwrites the number of shots set in the quantum_instance argument, but will reset them to the initial number after running.


Methods

construct_circuit

FasterAmplitudeEstimation.construct_circuit(estimation_problem, k, measurement=False)

Construct the circuit QkX0>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.

Return type

Union[QuantumCircuit, Tuple[QuantumCircuit, List[int]]]

Returns

The circuit QkX0Q^k X |0\rangle.

estimate

FasterAmplitudeEstimation.estimate(estimation_problem)

Run the amplitude estimation algorithm.

Parameters

estimation_problem (EstimationProblem) – An EstimationProblem containing all problem-relevant information such as the state preparation and the objective qubits.

Return type

FasterAmplitudeEstimationResult


Attributes

quantum_instance

Get the quantum instance.

Return type

Optional[QuantumInstance]

Returns

The quantum instance used to run this algorithm.

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