Note

This is the documentation for the current state of the development branch of Qiskit Experiments. The documentation or APIs here can change prior to being released.

CorrelatedReadoutError

class CorrelatedReadoutError(physical_qubits=None, backend=None)[source]

Correlated readout error characterization experiment.

Overview

This class constructs the a CorrelatedReadoutMitigator containing the full assignment matrix \(A\) characterizing the readout error for the given qubits from the experiment results accessible via the assignment_matrix() method.

Readout errors affect quantum computation during the measurement of the qubits in a quantum device. By characterizing the readout errors, it is possible to construct a readout error mitigator that is used both to obtain a more accurate distribution of the outputs, and more accurate measurements of expectation value for measurables.

The readout mitigator is generated from an assignment matrix: a \(2^n\times 2^n\) matrix \(A\) such that \(A_{y,x}\) is the probability to observe \(y\) given the true outcome should be \(x\). The assignment matrix is used to compute the mitigation matrix used in the readout error mitigation process itself.

A Correlated readout mitigator uses the full \(2^n \times 2^n\) assignment matrix, meaning it can only be used for small values of \(n\). The corresponding class in Qiskit is the CorrelatedReadoutMitigator in qiskit.result.

The experiment generates \(2^n\) circuits, for every possible \(n\)-qubit quantum state and constructs the assignment matrix and correlated mitigator from the results.

See CorrelatedReadoutErrorAnalysis documentation for additional information on correlated readout error experiment analysis.

References

[1] Sergey Bravyi, Sarah Sheldon, Abhinav Kandala, David C. Mckay, Jay M. Gambetta, Mitigating measurement errors in multi-qubit experiments, Phys. Rev. A 103, 042605 (2021), doi: 10.1103/PhysRevA.103.042605 (open)

Analysis class reference

CorrelatedReadoutErrorAnalysis

Experiment options

These options can be set by the set_experiment_options() method.

Options
  • Defined in the class BaseExperiment:

    • max_circuits (Optional[int])

      Default value: None
      The maximum number of circuits per job when running an experiment on a backend.

Initialization

Initialize a correlated readout error characterization experiment.

Parameters:
  • physical_qubits (Optional[Iterable[int]]) – Optional, the backend qubits being characterized for readout error. If None all qubits on the provided backend will be characterized.

  • backend (Optional[Backend]) – Optional, the backend to characterize.

Raises:

QiskitError – If args are not valid.

Attributes

CorrelatedReadoutError.analysis

Return the analysis instance for the experiment

CorrelatedReadoutError.backend

Return the backend for the experiment

CorrelatedReadoutError.experiment_options

Return the options for the experiment.

CorrelatedReadoutError.experiment_type

Return experiment type.

CorrelatedReadoutError.num_qubits

Return the number of qubits for the experiment.

CorrelatedReadoutError.physical_qubits

Return the device qubits for the experiment.

CorrelatedReadoutError.run_options

Return options values for the experiment run() method.

CorrelatedReadoutError.transpile_options

Return the transpiler options for the run() method.

Methods

CorrelatedReadoutError.circuits()

Returns the experiment's circuits

CorrelatedReadoutError.config()

Return the config dataclass for this experiment

CorrelatedReadoutError.copy()

Return a copy of the experiment

CorrelatedReadoutError.from_config(config)

Initialize an experiment from experiment config

CorrelatedReadoutError.run([backend, ...])

Run an experiment and perform analysis.

CorrelatedReadoutError.set_experiment_options(...)

Set the experiment options.

CorrelatedReadoutError.set_run_options(**fields)

Set options values for the experiment run() method.

CorrelatedReadoutError.set_transpile_options(...)

Set the transpiler options for run() method.