Skip to main content
IBM Quantum Platform

BlockBasePadder

class BlockBasePadder(*args, **kwargs)

GitHub

ベース: TransformationPass

パディング・パスの基本クラス。

このパスは、それ自身の前にスケジューリングパスのいずれかが実行される必要がある。 複数のスケジューリング戦略があるため、スケジューリングパスの選択はパスマネージャー設計者の手に委ねられている。 スケジューリング分析パスが実行されると、 property_setnode_start_time が生成される。 この情報は、ノードのインスタンスをキーとした、予想される命令の実行時間のPython辞書によって表現される。 パディング・パスは、回路内のすべての DAGOpNode がスケジューリングされていることを期待する。

この基本クラスは、インターリーブするシーケンスを定義しないが、シーケンスが挿入される場所を管理し、適切なシーケンスを構築するために必要な一連の情報を提供する。 したがって、このパスのサブクラスは、 _pad() メソッドを実装するだけでよい。このメソッドでは、サブクラスは挿入する回路ブロックを構築する。 このメカニズムにより、DAG回路全体を管理するための多くの定型ロジックが削除される。

パディング・パスのサブクラスは、インターリーブ・シーケンスを満足するように定義しなければならないことに注意:

  • インターリーブされたシーケンスは、他のノードの開始時間を変更しない
  • インターリーブされたシーケンスは、提供された time_interval の総時間を持つべきである。

これらの制約に違反する操作を行うと、このベースパスが各命令の開始時刻を正しくトラッキングできなくなり、ハードウェアのアライメント制約に違反する可能性がある。


属性

is_analysis_pass

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

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

is_transformation_pass

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

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


方法

__call__

__call__(circuit, property_set=None)

パスオン回路を作動させる。

パラメーター

  • circuit (QuantumCircuit) – 峠を越える日。
  • property_set (PropertySet | dict | None) – 入力/出力プロパティセット 解析パスはプロパティセットをインプレース変更する可能性がある。 指定されない場合、パスの既存の property_set 属性(設定されている場合)が使用されます。

戻り値

変換が成功した場合、結果として QuantumCircuit が生成されます。 解析に合格した場合、入力回路へ。

戻りの型

QuantumCircuit

execute

execute(passmanager_ir, state, callback=None)

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

パラメーター

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

戻り値

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

戻りの型

タプル[ DAGCircuitPassManagerState ]

name

name()

パスの名前

戻りの型

str

run

run(dag)

GitHub

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

パラメーター

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

戻り値

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

レイズ

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

戻りの型

DAG回路

update_status

update_status(state, run_state)

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

パラメーター

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

戻り値

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

戻りの型

PassManagerState

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