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

PulseQobj

PulseQobj(qobj_id, config, experiments, header=None) GitHub(opens in a new tab)

Bases: object

A Pulse Qobj.

Instantiate a new Pulse Qobj Object.

Each Pulse Qobj object is used to represent a single payload that will be passed to a Qiskit provider. It mirrors the Qobj the published Qobj specification(opens in a new tab) for Pulse experiments.

Parameters

  • qobj_id (str) – An identifier for the qobj
  • config (PulseQobjConfig) – A config for the entire run
  • header (QobjHeader) – A header for the entire run
  • experiments (list) – A list of lists of PulseQobjExperiment objects representing an experiment

Methods

from_dict

classmethod PulseQobj.from_dict(data)

Create a new PulseQobj object from a dictionary.

Parameters

data (dict) – A dictionary representing the PulseQobj to create. It will be in the same format as output by to_dict().

Returns

The PulseQobj from the input dictionary.

Return type

PulseQobj

to_dict

PulseQobj.to_dict()

Return a dictionary format representation of the Pulse Qobj.

Note this dict is not in the json wire format expected by IBMQ and qobj specification because complex numbers are still of type complex. Also this may contain native numpy arrays. When serializing this output for use with IBMQ you can leverage a json encoder that converts these as expected. For example:

import json
import numpy
 
class QobjEncoder(json.JSONEncoder):
    def default(self, obj):
        if isinstance(obj, numpy.ndarray):
            return obj.tolist()
        if isinstance(obj, complex):
            return (obj.real, obj.imag)
        return json.JSONEncoder.default(self, obj)
 
json.dumps(qobj.to_dict(), cls=QobjEncoder)

Returns

A dictionary representation of the PulseQobj object

Return type

dict

Was this page helpful?