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;

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.

  • 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:

QuantumCircuit | tuple[QuantumCircuit, list[int]]

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:

FasterAmplitudeEstimationResult