Skip to main contentIBM Quantum Documentation
This page is from an old version of Qiskit SDK. Go to the latest version

qiskit.transpiler.InstructionDurations

class InstructionDurations(instruction_durations=None, dt=None)

GitHub

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 or instruction_durations, which is an argument of transpile().

__init__

__init__(instruction_durations=None, dt=None)

Initialize self. See help(type(self)) for accurate signature.


Methods

__init__([instruction_durations, dt])Initialize self.
from_backend(backend)Construct an InstructionDurations object from the backend.
get(inst, qubits[, unit])Get the duration of the instruction with the name and the qubits.
units_used()Get the set of all units used in this instruction durations.
update(inst_durations[, dt])Update self with inst_durations (inst_durations overwrite self).

from_backend

classmethod from_backend(backend)

Construct an InstructionDurations object from the backend.

Parameters

backend (BaseBackend) – backend from which durations (gate lengths) and dt are extracted.

Returns

The InstructionDurations constructed from backend.

Return type

InstructionDurations

Raises

TranspilerError – If dt and dtm is different in the backend.

get

get(inst, qubits, unit='dt')

Get the duration of the instruction with the name and the qubits.

Parameters

  • inst (Union[str, Instruction]) – An instruction or its name to be queried.
  • qubits (Union[int, List[int], Qubit, List[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’.

Returns

The duration of the instruction on the qubits.

Return type

float|int

Raises

TranspilerError – No duration is defined for the instruction.

units_used

units_used()

Get the set of all units used in this instruction durations.

Return type

Set[str]

Returns

Set of units used in this instruction durations.

update

update(inst_durations, dt=None)

Update self with inst_durations (inst_durations overwrite self).

Parameters

  • inst_durations (Optional[Union[List[Tuple[str, Optional[Iterable[int]], Union[float, int], str]], List[Tuple[str, Optional[Iterable[int]], Union[float, int]]], InstructionDurations]]) – Instruction durations to be merged into self (overwriting self).
  • dt (Optional[float]) – Sampling duration in seconds of the target backend.

Returns

The updated InstructionDurations.

Return type

InstructionDurations

Raises

TranspilerError – If the format of instruction_durations is invalid.

Was this page helpful?
Report a bug or request content on GitHub.