Skip to main contentIBM Quantum Documentation
You are viewing the API reference for an old version of Qiskit SDK. Switch to latest version


class qiskit.algorithms.MaximumLikelihoodAmplitudeEstimation(evaluation_schedule, minimizer=None, quantum_instance=None, sampler=None)

GitHub(opens in a new tab)

Bases: AmplitudeEstimator

The Maximum Likelihood Amplitude Estimation algorithm.

This class implements the quantum amplitude estimation (QAE) algorithm without phase estimation, as introduced in [1]. In comparison to the original QAE algorithm [2], this implementation relies solely on different powers of the Grover operator and does not require additional evaluation qubits. Finally, the estimate is determined via a maximum likelihood estimation, which is why this class in named MaximumLikelihoodAmplitudeEstimation.


[1]: Suzuki, Y., Uno, S., Raymond, R., Tanaka, T., Onodera, T., & Yamamoto, N. (2019).

Amplitude Estimation without Phase Estimation. arXiv:1904.10246(opens in a new tab).

[2]: Brassard, G., Hoyer, P., Mosca, M., & Tapp, A. (2000).

Quantum Amplitude Amplification and Estimation. arXiv:quant-ph/0005055(opens in a new tab).

Deprecated since version 0.24.0

qiskit.algorithms.amplitude_estimators.mlae.MaximumLikelihoodAmplitudeEstimation.__init__()’s argument quantum_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 the sampler argument. See in a new tab) for a migration guide.


  • evaluation_schedule (list(opens in a new tab)[int(opens in a new tab)] | int(opens in a new tab)) – If a list, the powers applied to the Grover operator. The list element must be non-negative. If a non-negative integer, an exponential schedule is used where the highest power is 2 to the integer minus 1: [id, Q^2^0, …, Q^2^(evaluation_schedule-1)].
  • minimizer (MINIMIZER | None) – A minimizer used to find the minimum of the likelihood function. Defaults to a brute search where the number of evaluation points is determined according to evaluation_schedule. The minimizer takes a function as first argument and a list of (float, float) tuples (as bounds) as second argument and returns a single float which is the found minimum.
  • quantum_instance (QuantumInstance |Backend | None) – Deprecated: Quantum Instance or Backend
  • sampler (BaseSampler | None) – A sampler primitive to evaluate the circuits.


ValueError(opens in a new tab) – If the number of oracle circuits is smaller than 1.



Deprecated. Get the quantum instance.

Deprecated since version 0.24.0

The property qiskit.algorithms.amplitude_estimators.mlae.MaximumLikelihoodAmplitudeEstimation.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 in a new tab) for a migration guide.


The quantum instance used to run this algorithm.


Get the sampler primitive.


The sampler primitive to evaluate the circuits.



static compute_confidence_interval(result, alpha, kind='fisher', apply_post_processing=False)

Compute the alpha confidence interval using the method kind.

The confidence level is (1 - alpha) and supported kinds are ‘fisher’, ‘likelihood_ratio’ and ‘observed_fisher’ with shorthand notations ‘fi’, ‘lr’ and ‘oi’, respectively.



The specified confidence interval.


Return type

tuple(opens in a new tab)[float(opens in a new tab), float(opens in a new tab)]


compute_mle(circuit_results, estimation_problem, num_state_qubits=None, return_counts=False)

Compute the MLE via a grid-search.

This is a stable approach if sufficient gridpoints are used.



The MLE for the provided result object.

Return type

float(opens in a new tab) | tuple(opens in a new tab)[float(opens in a new tab), list(opens in a new tab)[float(opens in a new tab)]]


construct_circuits(estimation_problem, measurement=False)

Construct the Amplitude Estimation w/o QPE quantum circuits.


  • estimation_problem (EstimationProblem) – The estimation problem for which to construct the QAE circuit.
  • measurement (bool(opens in a new tab)) – Boolean flag to indicate if measurement should be included in the circuits.


A list with the QuantumCircuit objects for the algorithm.

Return type

list(opens in a new tab)[qiskit.circuit.quantumcircuit.QuantumCircuit]



Run the amplitude estimation algorithm on provided estimation problem.


estimation_problem (EstimationProblem) – The estimation problem.


An amplitude estimation results object.


Return type


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