About cookies on this site Our websites require some cookies to function properly (required). In addition, other cookies may be used with your consent to analyze site usage, improve the user experience and for advertising. For more information, please review your options. By visiting our website, you agree to our processing of information as described in IBM’sprivacy statement. To provide a smooth navigation, your cookie preferences will be shared across the IBM web domains listed here.
qiskit.compiler.assemble
assemble(experiments, backend=None, qobj_id=None, qobj_header=None, shots=None, memory=False, max_credits=None, seed_simulator=None, qubit_lo_freq=None, meas_lo_freq=None, qubit_lo_range=None, meas_lo_range=None, schedule_los=None, meas_level=MeasLevel.CLASSIFIED, meas_return=MeasReturnType.AVERAGE, meas_map=None, memory_slot_size=100, rep_time=None, rep_delay=None, parameter_binds=None, parametric_pulses=None, init_qubits=True, **run_config)
Assemble a list of circuits or pulse schedules into a Qobj
.
This function serializes the payloads, which could be either circuits or schedules, to create Qobj
“experiments”. It further annotates the experiment payload with header and configurations.
NOTE: Backend.options is not used within assemble. The required values (previously given by backend.set_options) should be manually extracted from options and supplied directly when calling.
Parameters
-
experiments (
Union
[QuantumCircuit
,List
[QuantumCircuit
],Schedule
,List
[Schedule
],ScheduleBlock
,List
[ScheduleBlock
]]) – Circuit(s) or pulse schedule(s) to execute -
backend (
Optional
[Backend
]) – If set, some runtime options are automatically grabbed frombackend.configuration()
andbackend.defaults()
. If any other option is explicitly set (e.g.,rep_time
), it will override the backend’s. If any other options is set in the run_config, it will also override the backend’s. -
qobj_id (
Optional
[str
]) – String identifier to annotate theQobj
-
qobj_header (
Union
[QobjHeader
,Dict
,None
]) – User input that will be inserted inQobj
header, and will also be copied to the corresponding Result header. Headers do not affect the run. -
shots (
Optional
[int
]) – Number of repetitions of each circuit, for sampling. Default: 1024 ormax_shots
from the backend configuration, whichever is smaller -
memory (
Optional
[bool
]) – IfTrue
, per-shot measurement bitstrings are returned as well (provided the backend supports it). For OpenPulse jobs, only measurement level 2 supports this option. -
max_credits (
Optional
[int
]) – DEPRECATED This parameter is deprecated as of Qiskit Terra 0.20.0, and will be removed in a future release. This parameter has no effect on modern IBM Quantum systems, and no alternative is necessary. -
seed_simulator (
Optional
[int
]) – Random seed to control sampling, for when backend is a simulator -
qubit_lo_freq (
Optional
[List
[float
]]) – List of job level qubit drive LO frequencies in Hz. Overridden byschedule_los
if specified. Must have lengthn_qubits.
-
meas_lo_freq (
Optional
[List
[float
]]) – List of measurement LO frequencies in Hz. Overridden byschedule_los
if specified. Must have lengthn_qubits.
-
qubit_lo_range (
Optional
[List
[float
]]) – List of job level drive LO ranges each of form[range_min, range_max]
in Hz. Used to validatequbit_lo_freq
. Must have lengthn_qubits.
-
meas_lo_range (
Optional
[List
[float
]]) – List of job level measurement LO ranges each of form[range_min, range_max]
in Hz. Used to validatemeas_lo_freq
. Must have lengthn_qubits.
-
schedule_los (
Union
[List
[Union
[Dict
[PulseChannel
,float
],LoConfig
]],Dict
[PulseChannel
,float
],LoConfig
,None
]) – Experiment level (ie circuit or schedule) LO frequency configurations for qubit drive and measurement channels. These values override the job level values fromdefault_qubit_los
anddefault_meas_los
. Frequencies are in Hz. Settable for qasm and pulse jobs. -
meas_level (
Union
[int
,MeasLevel
]) – Set the appropriate level of the measurement output for pulse experiments. -
meas_return (
Union
[str
,MeasReturnType
]) –Level of measurement data for the backend to return.
For
meas_level
0 and 1:single
returns information from every shot.avg
returns average measurement output (averaged over number of shots).
-
meas_map (
Optional
[List
[List
[Qubit
]]]) – List of lists, containing qubits that must be measured together. -
memory_slot_size (
int
) – Size of each memory slot if the output is Level 0. -
rep_time (int) – Time per program execution in seconds. Must be from the list provided by the backend (
backend.configuration().rep_times
). Defaults to the first entry. -
rep_delay (float) – Delay between programs in seconds. Only supported on certain backends (if
backend.configuration().dynamic_reprate_enabled=True
). If supported,rep_delay
will be used instead ofrep_time
and must be from the range supplied by the backend (backend.configuration().rep_delay_range
). Default is given bybackend.configuration().default_rep_delay
. -
parameter_binds (
Optional
[List
[Dict
[Parameter
,float
]]]) – List of Parameter bindings over which the set of experiments will be executed. Each list element (bind) should be of the form {Parameter1: value1, Parameter2: value2, …}. All binds will be executed across all experiments; e.g., if parameter_binds is a length-n list, and there are m experiments, a total of m x n experiments will be run (one for each experiment/bind pair). -
parametric_pulses (
Optional
[List
[str
]]) –A list of pulse shapes which are supported internally on the backend. Example:
['gaussian', 'constant']
-
init_qubits (
bool
) – Whether to reset the qubits to the ground state for each shot. Default:True
. -
**run_config – Extra arguments used to configure the run (e.g., for Aer configurable backends). Refer to the backend documentation for details on these arguments.
Return type
Returns
A Qobj
that can be run on a backend. Depending on the type of input, this will be either a QasmQobj
or a PulseQobj
.
Raises
QiskitError – if the input cannot be interpreted as either circuits or schedules
Was this page helpful?
Report a bug or request content on GitHub.