Skip to main content
IBM Quantum Platform

PadDelay

class qiskit.transpiler.passes.PadDelay(*args, **kwargs)

GitHub

ベース: BasePadding

Delay命令によるアイドル時間の水増し。

連続した遅延は、このパスの出力でマージされる。

from qiskit import QuantumCircuit
from qiskit.transpiler import InstructionDurations

durations = InstructionDurations([("x", None, 160), ("cx", None, 800)])

qc = QuantumCircuit(2)
qc.delay(100, 0)
qc.x(1)
qc.cx(0, 1)

ASAPスケジュール回路出力は、次のようになる可能性がある

     ┌────────────────┐
q_0: ┤ Delay(160[dt]) ├──■──
     └─────┬───┬──────┘┌─┴─┐
q_1: ──────┤ X ├───────┤ X ├
           └───┘       └───┘

100dt (q_0) の DelayXGate (q_1) の 160 dt の継続時間の差から生じる q_0 ワイヤ上の 60dt の追加アイドル時間は、 q_0 ワイヤ上の遅延命令、すなわち合計 160 dt で吸収されることに注意。

詳細は BasePadding

新しいパディング・ディレイ・パスを作成する。

パラメーター

  • fill_very_end - 回路の端を遅延で埋めるために True
  • target - 対象のバックエンドを表す Target ターゲットのバックエンドを表します。 もしそれが供給され、量子ビットの遅延命令をサポートしていない場合、パディングパスは量子ビットのアイドル時間をパディングしない。

属性

is_analysis_pass

パスが分析パスかどうかをチェックする。

パスが AnalysisPass,、パスがDAGを分析し、その分析結果をプロパティセットに書き込むことができることを意味する。 この種のパスでは、DAGの変更は許されない。

is_transformation_pass

パスが変形パスかどうかをチェックする。

パスが TransformationPass, の場合、そのパスはDAGを操作することはできるが、プロパティセットを変更することはできない(ただし、読み取ることはできる)ことを意味する。


方法

execute

execute(passmanager_ir, state, callback=None)

GitHub

入力Qiskit IRに対して最適化タスクを実行する。

パラメーター

  • passmanager_ir (Any) – Qiskit IRを最適化する。
  • state (PassManagerState) – パスマネージャー自身によるワークフロー実行に関連する状態。
  • callback (Callable | None) – 最適化タスクの実行ごとに呼び出されるコールバック関数。

戻り値

Qiskit IRとワークフローの状態を最適化。

戻りの型

タプル [ Any, PassManagerState ]

get_duration

get_duration(node, dag)

GitHub

回路内の指定されたノードの持続時間を取得する。

name

name()

GitHub

パスの名前

戻りの型

str

run

run(dag)

GitHub

dag でパディングパスを実行する。

パラメーター

dag (DAGCircuit) – チェックするDAG。

戻り値

アイドリングタイムが命令で埋め尽くされたDAG。

戻りの型

DAGサーキット

レイズ

TranspilerError - 特定のノードがスケジュールされていない場合、おそらくこのノードが呼び出される前に何らかのトランスフォームパスが挿入される。

update_status

update_status(state, run_state)

GitHub

ワークフローのステータスを更新する。

パラメーター

  • state (PassManagerState) – 更新するマネージャーの状態を渡す。
  • run_state (RunState) – 現在のタスクの完了状況。

戻り値

パスマネージャーの状態を更新。

戻りの型

PassManagerState

このページは役に立ちましたか?
バグや誤字の報告、またはコンテンツの要求はGitHubで行ってください。