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: 2>, meas_return=<MeasReturnType.AVERAGE: 'avg'>, meas_map=None, memory_slot_size=100, rep_time=None, rep_delay=None, parameter_binds=None, parametric_pulses=None, init_qubits=True, **run_config)[source]¶ 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
]) – Circuit(s) or pulse schedule(s) to executebackend (
Union
[Backend
,BaseBackend
,None
]) – 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 smallermemory (
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
]) – Maximum credits to spend on job. Default: 10seed_simulator (
Optional
[int
]) – Random seed to control sampling, for when backend is a simulatorqubit_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).
- For
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 aQasmQobj
or aPulseQobj
.- Raises
QiskitError – if the input cannot be interpreted as either circuits or schedules