Skip to main content
IBM Quantum Platform

ConditionalController

class qiskit.passmanager.ConditionalController(tasks=(), condition=None, *, options=None)

GitHub

ベース: BaseController

フローコントローラは、条件が真であればパイプラインを1回実行し、条件が偽であれば何もしない。

新しいフローコントローラを作成する。

パラメーター

  • options (dict[str, Any] | None) – このフローコントローラのオプション。
  • tasks (Task | Iterable[Task])
  • condition (Callable[[PropertySet], bool] | None)

属性

passes

後方互換性のためのタスクの別名。


方法

execute

execute(passmanager_ir, state, callback=None)

GitHub

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

パラメーター

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

戻り値

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

戻りの型

タプル [ Any, PassManagerState ]

iter_tasks

iter_tasks(state)

GitHub

次に実行するタスクを選択するカスタムロジック。

コントローラのサブクラスは、ステートを消費して適切なタスクパイプラインを構築することができる。 タスク実行後に更新された状態は、 yield ステートメントの「戻り値」としてフィードバックされる。 これは、タスクの実行順序が実行時にのみ決定されることを示している。 このメソッドは、与えられたステート・オブジェクトを変更することはできない。

パラメーター

  • state (PassManagerState) – このフローコントローラの実行開始時のパスマネージャワークフローの状態。
  • state - 最後に降参したタスクの実行後のパスマネージャーの状態。 ジェネレーターは、そのロジックに無関係であれば、これを検査する必要はないし、更新する必要もない。

生成数

Task - 次に実行するタスク。

戻りの型

ジェネレーター [ タスクPassManagerState、なし]

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