RestlessMixin¶
- class RestlessMixin[source]¶
A mixin to facilitate restless experiments.
This class defines the following methods:
_get_restless_processor()
_t1_check()
A restless enabled experiment is an experiment that can be run in a restless measurement setting. In restless measurements, the qubit is not reset after each measurement. Instead, the outcome of the previous quantum non-demolition measurement is the initial state for the current circuit. Restless measurements therefore require special data processing which is provided by sub-classes of the
RestlessNode
. Restless experiments are a fast alternative for several calibration and characterization tasks, for details see https://arxiv.org/pdf/2202.06981.pdf.This class makes it possible for users to enter a restless run mode without having to manually set all the required run options and the data processor. The required options are
rep_delay
,init_qubits
,memory
, andmeas_level
. Furthermore, subclasses can override the_get_restless_processor()
method if they require more complex restless data processing such as two-qubit calibrations. In addition, this class makes it easy to determine if restless measurements are supported for a given experiment.- User Manual
Methods
- enable_restless(rep_delay=None, override_processor_by_restless=True, suppress_t1_error=False)[source]¶
Enables a restless experiment by setting the restless run options and the restless data processor.
Deprecated since version 0.8: The method
qiskit_experiments.framework.restless_mixin.RestlessMixin.enable_restless()
is deprecated as of qiskit-experiments 0.8. It will be removed no earlier than 3 months after the release date. Support for restless experiments has been deprecated.- Parameters:
rep_delay (float | None) – The repetition delay. This is the delay between a measurement and the subsequent quantum circuit. Since the backends have dynamic repetition rates, the repetition delay can be set to a small value which is required for restless experiments. Typical values are 1 us or less.
override_processor_by_restless (bool) – If False, a data processor that is specified in the analysis options of the experiment is not overridden by the restless data processor. The default is True.
suppress_t1_error (bool) – If True, the default is False, then no error will be raised when
rep_delay
is larger than the T1 times of the qubits. Instead, a warning will be logged as restless measurements may have a large amount of noise.
- Raises:
DataProcessorError – If the attribute rep_delay_range is not defined for the backend.
DataProcessorError – If a data processor has already been set but override_processor_by_restless is True.
DataProcessorError – If the experiment analysis does not have the data_processor option.
DataProcessorError – If the rep_delay is equal to or greater than the T1 time of one of the physical qubits in the experiment and the flag
ignore_t1_check
is False.