IBUReadoutMitigation#
- class pennylane_calculquebec.processing.steps.readout_error_mitigation.IBUReadoutMitigation(machine_name: str, initial_guess=None)#
Bases:
PostProcStepa mitigation method that uses iterative bayesian unfolding to mitigate readout errors on a circuit’s results
Constructor for the readout mitigation step
- Parameters:
machine_name (str) – the name of a machine. Usually either yukon or yamaska
initial_guess (list[float], optional) – an initial probability distribution. Defaults to None.
Methods
execute(tape, results)applies iterative bayesian unfolding for readout mitigation
initial_guess(num_qubits)returns a uniform probability vector if initial guess is not set.
iterative_bayesian_unfolding(readout_matrix, ...)Iterative Bayesian unfolding to correct measurement errors.
- execute(tape, results)#
applies iterative bayesian unfolding for readout mitigation
- Parameters:
tape (QuantumTape) – the quantum tape to act on
results (dict[str, int]) – results from the circuit execution
- Returns:
processed results
- Return type:
dict[str, int]
- initial_guess(num_qubits)#
returns a uniform probability vector if initial guess is not set. Returns initial guess otherwise
- Parameters:
num_qubits (int) – the number of qubits
- Returns:
an initial probability distribution for the algorithm
- Return type:
list[float]
- iterative_bayesian_unfolding(readout_matrix, noisy_probs, initial_guess, max_iterations=1000, tolerance=1e-06)#
Iterative Bayesian unfolding to correct measurement errors.
- Parameters:
readout_matrix (numpy.ndarray) – Response matrix (2^n x 2^n).
noisy_probs (numpy.ndarray) – Noisy measured probability distribution.
initial_guess (numpy.ndarray) – Initial guess for the true distribution.
max_iterations (int) – Maximum number of iterations.
tolerance (float) – Convergence tolerance.
- Returns:
The final estimate of the true distribution.
- Return type:
final probabilities (numpy.ndarray)