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.
Rabi¶
- class Rabi(physical_qubits, schedule, amplitudes=None, backend=None)[source]¶
An experiment that scans a pulse amplitude to calibrate rotations on the
<-> transition.Overview
The circuits have a custom rabi gate with the pulse schedule attached to it through the calibrations. The circuits are of the form:
┌───────────┐ ░ ┌─┐ q_0: ┤ Rabi(amp) ├─░─┤M├ └───────────┘ ░ └╥┘ measure: 1/═════════════════╩═ 0
The user provides his own schedule for the Rabi at initialization which must have one free parameter, i.e. the amplitude to scan and a drive channel which matches the qubit.
User manual
Calibrating the pulse amplitudes with a Rabi experiment
See also Qiskit Textbook for the pulse level programming of a Rabi experiment.
Analysis class reference
Experiment options
These options can be set by the
set_experiment_options()
method.- Options
Defined in the class
Rabi
:amplitudes (iterable)
Default value:array(-0.95, -0.9119999999999999, -0.874, -0.836, -0.7979999999999999, ..., size=51)
The list of amplitude values to scan.schedule (ScheduleBlock)
Default value:None
The schedule for the Rabi pulse. This schedule must have exactly one free parameter. The drive channel should match the qubit.
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 Rabi experiment on the given qubit.
- Parameters:
physical_qubits (
Sequence
[int
]) – List with the qubit on which to run the Rabi experiment.schedule (
ScheduleBlock
) – The schedule that will be used in the Rabi experiment. This schedule should have one free parameter namely the amplitude.amplitudes (
Optional
[Iterable
[float
]]) – The pulse amplitudes that one wishes to scan. If this variable is not specified it will default tonp.linspace(-0.95, 0.95, 51)
.backend (
Optional
[Backend
]) – Optional, the backend to run the experiment on.
Attributes
Return the analysis instance for the experiment
Return the backend for the experiment
Return the options for the experiment.
Return experiment type.
Return the number of qubits for the experiment.
Return the device qubits for the experiment.
Return options values for the experiment
run()
method.Return the transpiler options for the
run()
method.Methods
Create the circuits for the Rabi experiment.
Return the config dataclass for this experiment
Return a copy of the experiment
Rabi.enable_restless
([rep_delay, ...])Enables a restless experiment by setting the restless run options and the restless data processor.
Rabi.from_config
(config)Initialize an experiment from experiment config
Rabi.run
([backend, analysis, timeout])Run an experiment and perform analysis.
Rabi.set_experiment_options
(**fields)Set the experiment options.
Rabi.set_run_options
(**fields)Set options values for the experiment
run()
method.Rabi.set_transpile_options
(**fields)Set the transpiler options for
run()
method.