PulseBackendConfiguration

class 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)[source]

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) – backend name.

  • backend_version (str) – backend version in the form X.Y.Z.

  • n_qubits (int) – number of qubits.

  • basis_gates (List[str]) – list of basis gates names on the backend.

  • gates (GateConfig) – list of basis gates on the backend.

  • local (bool) – backend is local or remote.

  • simulator (bool) – backend is a simulator.

  • conditional (bool) – backend supports conditional operations.

  • open_pulse (bool) – backend supports open pulse.

  • memory (bool) – backend supports memory.

  • max_shots (int) – maximum number of shots supported.

  • coupling_map (list) – The coupling map for the device

  • n_uchannels (int) – Number of u-channels.

  • u_channel_lo (List[List[UchannelLO]]) – U-channel relationship on device los.

  • meas_levels (List[int]) – Supported measurement levels.

  • qubit_lo_range (List[List[float]]) – Qubit lo ranges for each qubit with form (min, max) in GHz.

  • meas_lo_range (List[List[float]]) – Measurement lo ranges for each qubit with form (min, max) in GHz.

  • dt (float) – Qubit drive channel timestep in nanoseconds.

  • dtm (float) – Measurement drive channel timestep in nanoseconds.

  • rep_times (List[float]) – Supported repetition times for device in microseconds.

  • meas_kernels (List[str]) – Supported measurement kernels.

  • discriminators (List[str]) – Supported discriminators.

  • hamiltonian (Optional[Dict[str, str]]) – An optional dictionary with fields characterizing the system hamiltonian.

  • channel_bandwidth (list) – Bandwidth of all channels (qubit, measurement, and U)

  • acquisition_latency (list) – 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) – 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) – Grouping of measurement which are multiplexed

  • max_experiments (int) – The maximum number of experiments per job

  • sample_name (str) – Sample name for the backend

  • n_registers (int) – Number of register slots available for feedback (if conditional is True)

  • register_map (list) – 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) – True if the backend is configurable, if the backend is a simulator

  • credits_required (bool) – True if backend requires credits to run a job.

  • online_date (datetime) – The date that the device went online

  • display_name (str) – Alternate name field for the backend

  • description (str) – A description for the backend

  • tags (list) – A list of string tags to describe the backend

  • channels (Optional[Dict[str, Any]]) – An optional dictionary containing information of each channel – their purpose, type, and qubits operated on.

  • **kwargs – Optional fields.

Attributes

PulseBackendConfiguration.num_qubits

Returns the number of qubits.

PulseBackendConfiguration.sample_rate

Sample rate of the signal channels in Hz (1/dt).

Methods

PulseBackendConfiguration.acquire(qubit)

Return the acquisition channel for the given qubit.

PulseBackendConfiguration.control([qubits, …])

Return the secondary drive channel for the given qubit – typically utilized for controlling multiqubit interactions.

PulseBackendConfiguration.describe(channel)

Return a basic description of the channel dependency.

PulseBackendConfiguration.drive(qubit)

Return the drive channel for the given qubit.

PulseBackendConfiguration.from_dict(data)

Create a new GateConfig object from a dictionary.

PulseBackendConfiguration.get_channel_qubits(channel)

Return a list of indices for qubits which are operated on directly by the given channel.

PulseBackendConfiguration.get_qubit_channels(qubit)

Return a list of channels which operate on the given qubit.

PulseBackendConfiguration.measure(qubit)

Return the measure stimulus channel for the given qubit.

PulseBackendConfiguration.to_dict()

Return a dictionary format representation of the GateConfig.