PulseBackendConfiguration
qiskit.providers.models.PulseBackendConfiguration(backend_name, backend_version, n_qubits, basis_gates, gates, local, simulator, conditional, open_pulse, memory, max_shots, coupling_map, n_uchannels, u_channel_lo, meas_levels, qubit_lo_range, meas_lo_range, dt, dtm, rep_times, meas_kernels, discriminators, hamiltonian=None, channel_bandwidth=None, acquisition_latency=None, conditional_latency=None, meas_map=None, max_experiments=None, sample_name=None, n_registers=None, register_map=None, configurable=None, credits_required=None, online_date=None, display_name=None, description=None, tags=None, channels=None, **kwargs)
Bases: QasmBackendConfiguration
Static configuration state for an OpenPulse enabled backend. This contains information about the set up of the device which can be useful for building Pulse programs.
Initialize a backend configuration that contains all the extra configuration that is made available for OpenPulse backends.
Parameters
- backend_name (str (opens in a new tab)) – backend name.
- backend_version (str (opens in a new tab)) – backend version in the form X.Y.Z.
- n_qubits (int (opens in a new tab)) – number of qubits.
- basis_gates (List (opens in a new tab)[str (opens in a new tab)]) – list of basis gates names on the backend.
- gates (GateConfig) – list of basis gates on the backend.
- local (bool (opens in a new tab)) – backend is local or remote.
- simulator (bool (opens in a new tab)) – backend is a simulator.
- conditional (bool (opens in a new tab)) – backend supports conditional operations.
- open_pulse (bool (opens in a new tab)) – backend supports open pulse.
- memory (bool (opens in a new tab)) – backend supports memory.
- max_shots (int (opens in a new tab)) – maximum number of shots supported.
- coupling_map (list (opens in a new tab)) – The coupling map for the device
- n_uchannels (int (opens in a new tab)) – Number of u-channels.
- u_channel_lo (List (opens in a new tab)[List (opens in a new tab)[UchannelLO]]) – U-channel relationship on device los.
- meas_levels (List (opens in a new tab)[int (opens in a new tab)]) – Supported measurement levels.
- qubit_lo_range (List (opens in a new tab)[List (opens in a new tab)[float (opens in a new tab)]]) – Qubit lo ranges for each qubit with form (min, max) in GHz.
- meas_lo_range (List (opens in a new tab)[List (opens in a new tab)[float (opens in a new tab)]]) – Measurement lo ranges for each qubit with form (min, max) in GHz.
- dt (float (opens in a new tab)) – Qubit drive channel timestep in nanoseconds.
- dtm (float (opens in a new tab)) – Measurement drive channel timestep in nanoseconds.
- rep_times (List (opens in a new tab)[float (opens in a new tab)]) – Supported repetition times (program execution time) for backend in μs.
- meas_kernels (List (opens in a new tab)[str (opens in a new tab)]) – Supported measurement kernels.
- discriminators (List (opens in a new tab)[str (opens in a new tab)]) – Supported discriminators.
- hamiltonian (Dict (opens in a new tab)[str (opens in a new tab), Any (opens in a new tab)]) – An optional dictionary with fields characterizing the system hamiltonian.
- channel_bandwidth (list (opens in a new tab)) – Bandwidth of all channels (qubit, measurement, and U)
- acquisition_latency (list (opens in a new tab)) – Array of dimension n_qubits x n_registers. Latency (in units of dt) to write a measurement result from qubit n into register slot m.
- conditional_latency (list (opens in a new tab)) – Array of dimension n_channels [d->u->m] x n_registers. Latency (in units of dt) to do a conditional operation on channel n from register slot m
- meas_map (list (opens in a new tab)) – Grouping of measurement which are multiplexed
- max_experiments (int (opens in a new tab)) – The maximum number of experiments per job
- sample_name (str (opens in a new tab)) – Sample name for the backend
- n_registers (int (opens in a new tab)) – Number of register slots available for feedback (if conditional is True)
- register_map (list (opens in a new tab)) – An array of dimension n_qubits X n_registers that specifies whether a qubit can store a measurement in a certain register slot.
- configurable (bool (opens in a new tab)) – True if the backend is configurable, if the backend is a simulator
- credits_required (bool (opens in a new tab)) – True if backend requires credits to run a job.
- online_date (datetime.datetime (opens in a new tab)) – The date that the device went online
- display_name (str (opens in a new tab)) – Alternate name field for the backend
- description (str (opens in a new tab)) – A description for the backend
- tags (list (opens in a new tab)) – A list of string tags to describe the backend
- channels (Dict (opens in a new tab)[str (opens in a new tab), Any (opens in a new tab)]) – An optional dictionary containing information of each channel – their purpose, type, and qubits operated on.
- **kwargs – Optional fields.
Attributes
control_channels
Return the control channels
num_qubits
Returns the number of qubits.
In future, n_qubits should be replaced in favor of num_qubits for consistent use throughout Qiskit. Until this is properly refactored, this property serves as intermediate solution.
sample_rate
Sample rate of the signal channels in Hz (1/dt).
Methods
acquire
acquire(qubit)
Return the acquisition channel for the given qubit.
Raises
BackendConfigurationError – If the qubit is not a part of the system.
Returns
Qubit measurement acquisition line.
Return type
control
control(qubits=None)
Return the secondary drive channel for the given qubit – typically utilized for controlling multiqubit interactions. This channel is derived from other channels.
Parameters
qubits (Iterable (opens in a new tab)[int (opens in a new tab)] | None) – Tuple or list of qubits of the form (control_qubit, target_qubit).
Raises
BackendConfigurationError – If the qubits
is not a part of the system or if the backend does not provide channels information in its configuration.
Returns
List of control channels.
Return type
List (opens in a new tab)[ControlChannel]
describe
describe(channel)
Return a basic description of the channel dependency. Derived channels are given weights which describe how their frames are linked to other frames. For instance, the backend could be configured with this setting:
u_channel_lo = [
[UchannelLO(q=0, scale=1. + 0.j)],
[UchannelLO(q=0, scale=-1. + 0.j), UchannelLO(q=1, scale=1. + 0.j)]
]
Then, this method can be used as follows:
backend.configuration().describe(ControlChannel(1))
>>> {DriveChannel(0): -1, DriveChannel(1): 1}
Parameters
channel (ControlChannel) – The derived channel to describe.
Raises
BackendConfigurationError – If channel is not a ControlChannel.
Returns
Control channel derivations.
Return type
Dict (opens in a new tab)[DriveChannel, complex (opens in a new tab)]
drive
drive(qubit)
Return the drive channel for the given qubit.
Raises
BackendConfigurationError – If the qubit is not a part of the system.
Returns
Qubit drive channel.
Return type
from_dict
classmethod from_dict(data)
Create a new GateConfig object from a dictionary.
Parameters
data (dict (opens in a new tab)) – A dictionary representing the GateConfig to create. It will be in the same format as output by to_dict()
.
Returns
The GateConfig from the input dictionary.
Return type
get_channel_qubits
get_channel_qubits(channel)
Return a list of indices for qubits which are operated on directly by the given channel
.
Raises
BackendConfigurationError – If channel
is not a found or if the backend does not provide channels information in its configuration.
Returns
List of qubits operated on my the given channel
.
Return type
List (opens in a new tab)[int (opens in a new tab)]
get_qubit_channels
get_qubit_channels(qubit)
Return a list of channels which operate on the given qubit
.
Raises
BackendConfigurationError – If qubit
is not a found or if the backend does not provide channels information in its configuration.
Returns
List of Channel
s operated on my the given qubit
.
Return type
List (opens in a new tab)[Channel]
measure
measure(qubit)
Return the measure stimulus channel for the given qubit.
Raises
BackendConfigurationError – If the qubit is not a part of the system.
Returns
Qubit measurement stimulus line.
Return type
to_dict
to_dict()
Return a dictionary format representation of the GateConfig.
Returns
The dictionary form of the GateConfig.
Return type