Skip to main content
IBM Quantum Platform

DoWhileController

class qiskit.passmanager.DoWhileController(tasks=(), do_while=None, *, options=None)

GitHub

ベース: BaseController

プロパティセットの do_while 条件が False になるまで、与えられたタスクをループで実行する。

与えられたタスクは常に少なくとも1回は実行され、ループの繰り返しで、すべてのタスクが実行される(失敗ステートが設定された場合を除く)。

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

パラメーター

  • options (dict[str, Any] | None) – このフローコントローラのオプション。
  • tasks (Task | Iterable[Task])
  • do_while (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で行ってください。