InstructionDurations#
- class qiskit.transpiler.InstructionDurations(instruction_durations=None, dt=None)[ソース]#
ベースクラス:
object
Helper class to provide durations of instructions for scheduling.
It stores durations (gate lengths) and dt to be used at the scheduling stage of transpiling. It can be constructed from
backend
orinstruction_durations
, which is an argument oftranspile()
. The duration of an instruction depends on the instruction (given by name), the qubits, and optionally the parameters of the instruction. Note that these fields are used as keys in dictionaries that are used to retrieve the instruction durations. Therefore, users must use the exact same parameter value to retrieve an instruction duration as the value with which it was added.Methods
- classmethod from_backend(backend)[ソース]#
Construct an
InstructionDurations
object from the backend.- パラメータ:
backend (Backend) – backend from which durations (gate lengths) and dt are extracted.
- 戻り値:
The InstructionDurations constructed from backend.
- 戻り値の型:
- 例外:
TranspilerError – If dt and dtm is different in the backend.
- get(inst, qubits, unit='dt', parameters=None)[ソース]#
Get the duration of the instruction with the name, qubits, and parameters.
Some instructions may have a parameter dependent duration.
バージョン 0.19.0 で非推奨: Using a Qubit or List[Qubit] for the
qubits
argument to InstructionDurations.get() is deprecated as of qiskit-terra 0.19.0. It will be removed no earlier than 3 months after the release date. Instead, use an integer for the qubit index.- パラメータ:
inst (str | qiskit.circuit.Instruction) – An instruction or its name to be queried.
qubits (int | list[int] | Qubit | list[Qubit] | list[int | Qubit]) – Qubits or its indices that the instruction acts on.
unit (str) – The unit of duration to be returned. It must be 『s』 or 『dt』.
parameters (list[float] | None) – The value of the parameters of the desired instruction.
- 戻り値:
The duration of the instruction on the qubits.
- 戻り値の型:
- 例外:
TranspilerError – No duration is defined for the instruction.
- update(inst_durations, dt=None)[ソース]#
Update self with inst_durations (inst_durations overwrite self).
- パラメータ:
inst_durations ('InstructionDurationsType' | None) – Instruction durations to be merged into self (overwriting self).
dt (float) – Sampling duration in seconds of the target backend.
- 戻り値:
The updated InstructionDurations.
- 戻り値の型:
- 例外:
TranspilerError – If the format of instruction_durations is invalid.