Skip to main contentIBM Quantum Documentation
You are viewing the API reference for an old version of Qiskit SDK. Switch to latest version

PulseSystemModel

PulseSystemModel(hamiltonian=None, qubit_freq_est=None, meas_freq_est=None, u_channel_lo=None, control_channel_labels=None, subsystem_list=None, dt=None)

GitHub(opens in a new tab)

Physical model object for pulse simulator.

This class contains model information required by the PulseSimulator. It contains:

  • "hamiltonian": a HamiltonianModel object representing the Hamiltonian of the system.
  • "qubit_freq_est" and "meas_freq_est": optional default values for qubit and measurement frequencies.
  • "u_channel_lo": A description of ControlChannel local oscillator frequencies in terms of qubit local oscillator frequencies.
  • "control_channel_labels": Optional list of identifying information for each ControlChannel that the model supports.
  • "subsystem_list": List of subsystems in the model.
  • "dt": Sample width size for OpenPulse instructions.

A model can be instantiated from the helper function duffing_system_model(), or using the PulseSystemModel.from_backend() constructor.

Example

Constructing from a backend:

Initialize a PulseSystemModel.

Parameters

  • hamiltonian (HamiltonianModel) – The Hamiltonian of the system.
  • qubit_freq_est (list) – list of qubit lo frequencies defaults to be used in simulation if none are specified in the PulseQobj.
  • meas_freq_est (list) – list of qubit meas frequencies defaults to be used in simulation if none are specified in the PulseQobj.
  • u_channel_lo (list) – list of ControlChannel frequency specifications.
  • control_channel_labels (list) – list of labels for control channels, which can be of any type.
  • subsystem_list (list) – list of valid qubit indicies for the model.
  • dt (float) – pixel size for pulse Instructions.

Raises

AerError – if hamiltonian is not None or a HamiltonianModel


Methods

calculate_channel_frequencies

PulseSystemModel.calculate_channel_frequencies(qubit_lo_freq=None)

Calculate frequencies for each channel given qubit_lo_freq.

Parameters

qubit_lo_freq (list or None) – list of qubit linear oscillator drive frequencies. If None these will be calculated using self._qubit_freq_est.

Returns

a dictionary of channel frequencies.

Return type

OrderedDict

Raises

ValueError – If channel or u_channel_lo are invalid.

control_channel_index

PulseSystemModel.control_channel_index(label)

Return the index of the control channel with identifying label.

Parameters

label (Any) – label that identifies a control channel

Returns

index of the ControlChannel

Return type

int or None

from_backend

classmethod PulseSystemModel.from_backend(backend, subsystem_list=None)

Returns a PulseSystemModel constructed from an OpenPulse enabled backend object.

Parameters

  • backend (Backend) – backend object to draw information from.
  • subsystem_list (list) – a list of ints for which qubits to include in the model.

Returns

the PulseSystemModel constructed from the backend.

Return type

PulseSystemModel

Raises

AerError – If channel or u_channel_lo are invalid.

Was this page helpful?
Report a bug or request content on GitHub.