FasterAmplitudeEstimation
class FasterAmplitudeEstimation(delta, maxiter, rescale=True, quantum_instance=None)
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;
[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. - quantum_instance (
Union
[QuantumInstance
,Backend
,BaseBackend
,None
]) – The quantum instance or backend to run the circuits.
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 .
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 .
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.