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.

RestlessMixin

class RestlessMixin[source]

A mixin to facilitate restless experiments.

This class defines the following methods:

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, and meas_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

Restless Measurements

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.