Readout mitigation matrix#

The idea behind this protocol is that we can correct the qubit readout errors by applying a corrective linear transformation to the readout results, in formula

\[O_{noisy} = M O_{ideal},\]

where \(O_{noisy}\) is the readout probabilities on the noisy device, \(O_{ideal}\) is the expected one and \(M\) is the readout mitigation matrix. The matrix \(M^{-1}\) can be used to correct the noisy readouts.

This protocol evaluates the readout matrix by preparing the qubit(s) in the computational base and measuring their states.

Pramateters#

class qibocal.protocols.readout_mitigation_matrix.ReadoutMitigationMatrixParameters(pulses: Optional[bool] = True, nshots: Optional[int] = None, relaxation_time: Optional[int] = None)[source]

ReadoutMitigationMatrix matrix inputs.

pulses: Optional[bool] = True

Get readout mitigation matrix using pulses. If False gates will be used.

nshots: Optional[int] = None

Number of shots.

relaxation_time: Optional[int] = None

Relaxation time [ns].

hardware_average: bool = False

By default hardware average will be performed.

Example#

- id: readout_mitigation_matrix
  operation: readout_mitigation_matrix
  parameters:
    nshots: 1000
    pulses: true

After the protocol execution, the result is the following

../_images/readout_mitigation_matrix.png