Readout Calibration (RCAL)

See make_rcal(), batch() for API documentation.

RCAL is a protocol for characterizing and correcting state-dependent measurement errors. To implement readout calibration, a circuit with an identity gate on every qubit and a second circuit with an X gate on every qubit is generated. The relative frequency of the outcomes 0 vs 1 on each qubit are used to estimate state-dependent measurement errors.

This scheme used by RCAL conflates preparation, gate, and readout error, and therefore assumes that readout error has a lower fidelity than a single X gate and preparation combined. It also assumes that readout errors are not correlated.

Multiple RCAL circuits can be contained in the same circuit collection if it is suspected that measurement errors drift on a timescale shorter than the duration of the entire experiment. This is most easily achieved using the batching feature of circuit collections, which allows a fixed set of extra circuits to be added into every batch and adds batch indices to circuit keys for record keeping.

Whenever a circuit collection contains RCAL circuits, fitting will attempt to automatically correct the measurement results for other protocols. If the user has added custom keys, RCAL circuits will only correct circuits with matching custom keys. RCAL circuits with no associated batch number will be used as the default correction for all other circuits with no batch number. Otherwise, RCAL circuits will only correct circuits with the same batch number.