qiskit-documentation/docs/api/qiskit/dev/qiskit.qobj.QasmQobj.mdx

79 lines
3.2 KiB
Plaintext
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
title: QasmQobj
description: API reference for qiskit.qobj.QasmQobj
in_page_toc_min_heading_level: 1
python_api_type: class
python_api_name: qiskit.qobj.QasmQobj
---
# QasmQobj
<Class id="qiskit.qobj.QasmQobj" isDedicatedPage={true} github="https://github.com/Qiskit/qiskit/tree/main/qiskit/qobj/qasm_qobj.py#L541-L651" signature="qiskit.qobj.QasmQobj(qobj_id=None, config=None, experiments=None, header=None)" modifiers="class">
Bases: [`object`](https://docs.python.org/3/library/functions.html#object "(in Python v3.12)")
An OpenQASM 2 Qobj.
Instantiate a new OpenQASM 2 Qobj Object.
Each OpenQASM 2 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](https://arxiv.org/abs/1809.03452) for OpenQASM experiments.
**Parameters**
* **qobj\_id** ([*str*](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.12)")) An identifier for the qobj
* **config** (*QasmQobjRunConfig*) A config for the entire run
* **header** ([*QobjHeader*](qiskit.qobj.QobjHeader "qiskit.qobj.QobjHeader")) A header for the entire run
* **experiments** ([*list*](https://docs.python.org/3/library/stdtypes.html#list "(in Python v3.12)")) A list of lists of [`QasmQobjExperiment`](qiskit.qobj.QasmQobjExperiment "qiskit.qobj.QasmQobjExperiment") objects representing an experiment
## Methods
### from\_dict
<Function id="qiskit.qobj.QasmQobj.from_dict" github="https://github.com/Qiskit/qiskit/tree/main/qiskit/qobj/qasm_qobj.py#L622-L645" signature="from_dict(data)" modifiers="classmethod">
Create a new QASMQobj object from a dictionary.
**Parameters**
**data** ([*dict*](https://docs.python.org/3/library/stdtypes.html#dict "(in Python v3.12)")) A dictionary representing the QasmQobj to create. It will be in the same format as output by [`to_dict()`](#qiskit.qobj.QasmQobj.to_dict "qiskit.qobj.QasmQobj.to_dict").
**Returns**
The QasmQobj from the input dictionary.
**Return type**
[QasmQobj](#qiskit.qobj.QasmQobj "qiskit.qobj.QasmQobj")
</Function>
### to\_dict
<Function id="qiskit.qobj.QasmQobj.to_dict" github="https://github.com/Qiskit/qiskit/tree/main/qiskit/qobj/qasm_qobj.py#L585-L620" signature="to_dict()">
Return a dictionary format representation of the OpenQASM 2 Qobj.
Note this dict is not in the json wire format expected by IBM 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 IBM systems, you can leverage a json encoder that converts these as expected. For example:
```python
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 QasmQobj object
**Return type**
[dict](https://docs.python.org/3/library/stdtypes.html#dict "(in Python v3.12)")
</Function>
</Class>