InstructionDurations
class qiskit.transpiler.InstructionDurations(instruction_durations=None, dt=None)
ベース: object
スケジューリングのための指示の持続時間を提供するヘルパークラス。
トランスパイルのスケジューリング段階で使用するデュレーション(ゲートの長さ)とdtが格納されている。 transpile() の引数である backend または instruction_durations から構築できる。 命令の持続時間は、命令(名前で与えられる)、量子ビット、そしてオプションとして命令のパラメータによって決まる。 これらのフィールドは、インストラクションの持続時間を検索するために使用される辞書のキーとして使用されることに注意してください。 そのため、ユーザーは命令期間を取得するために、追加された値とまったく同じパラメータ値を使用する必要があります。
方法
パラメーター
- instruction_durations (InstructionDurationsType | None)
- dt (float | None)
from_backend
classmethod from_backend(backend)
バックエンドから InstructionDurations オブジェクトを構築する。
パラメーター
backend (Backend) – バックエンドからデュレーション(ゲート長)とdtが抽出される。
戻り値
バックエンドから構築された InstructionDurations。
戻りの型
レイズ
- TranspilerError - バックエンドでdtとdtmが異なる場合。
- TypeError - バックエンドのタイプが間違っている場合
get
get(inst, qubits, unit='dt', parameters=None)
命令名、量子ビット、パラメータを含む命令の持続時間を取得する。
命令によっては、パラメータに依存した持続時間を持つものもある。
パラメーター
- inst (str |Instruction) – 照会対象の命令またはその名前。
- qubits (int |list[int]) – 命令が作用するQubitインデックス。
- unit (str) – 返される期間の単位。 s'か'dt'でなければならない。
- parameters (list[float] | None) – 目的の命令のパラメータの値。
戻り値
量子ビットに対する命令の持続時間。
戻りの型
レイズ
TranspilerError - インストラクションの継続時間は定義されていない。
units_used
update
update(inst_durations, dt=None)
selfをinst_durationsで更新する(inst_durationsはselfを上書きする)。
パラメーター
- inst_durations (list[tuple[str, Iterable[int] | None, float, Iterable[float] | None, str]] | list[tuple[str, Iterable[int] | None, float, Iterable[float] | None]] | list[tuple[str, Iterable[int] | None, float, str]] | list[tuple[str, Iterable[int] | None, float]] | InstructionDurations | None) – self にマージされるインストラクションの期間(self を上書き)。
- dt (float | None) – 対象バックエンドのサンプリング時間(秒単位)。
戻り値
更新された InstructionDurations。
戻りの型
レイズ
TranspilerError - instruction_durationsのフォーマットが無効な場合。