MinimumPoint
class qiskit.transpiler.passes.MinimumPoint(*args, **kwargs)
ベース: TransformationPass
DAGが以前の実行で相対的に半安定点に達したかどうかをチェックする
このパスは FixedPoint このパスはトランスパイラ・パスに似ており、主にプロパティ・セットにループ・ブレイク条件を設定するために使用される。 しかし FixedPoint クラスが2回連続で同じ値のプロパティがセットされた場合のみ条件をセットするのとは異なり、このパスは局所最小値を見つけ、それを代わりに使うように設計されている。 このパスは、固定点に到達しない可能性がある最適化ループのために設計されています(例えば、合成が使用され、いくつかのケースに対して複数の等価出力がある場合など)。
このパスは、プロパティ・セット内のフィールドの状態を過去の実行期間にわたって追跡し、バックトラックの深さ以上の固定ポイントに達したとき、またはバックトラックの深さに達したときに見つかった最小値を選択するときに、ブール値のフィールドを設定します。 これを行うために、現在の最小DAGの深いコピーをプロパティセットに保存し、最後の最小値から backtrack_depth 実行回数に達すると、出力DAGは以前の最小値のコピーに設定される。
このパスがプロパティセットで使用するフィールドは以下のとおりです(すべて prefix 引数からの相対パス):
-
{prefix}_minimum_point_state- 最小点探索の状態を追跡するために使用される -
{prefix}_minimum_point- この値がTrueに設定されるのは、固定点backtrack_depthに達するか、backtrack_depthを超え、以前の最小値に戻る。
このパスのインスタンスを初期化する
パラメーター
- property_set_list (list) – ローカルミニマムを評価するために使用されるプロパティセットキーのリスト。 これらのプロパティ・セット・キーの値は、比較のためのタプルとして使用される
- prefix (str) – プ ロ パテ ィ セ ッ ト キーに対 し て用い る 接頭辞
- backtrack_depth (int) – 保存するエントリーの最大数。 この数に達し、次の反復で値が減らない場合、前のnの最小値が出力dagとして設定され、
minimum_point、プロパティセットのTrue
属性
is_analysis_pass
パスが分析パスかどうかをチェックする。
パスが AnalysisPass,、パスがDAGを分析し、その分析結果をプロパティセットに書き込むことができることを意味する。 この種のパスでは、DAGの変更は許されない。
is_transformation_pass
パスが変形パスかどうかをチェックする。
パスが TransformationPass, の場合、そのパスはDAGを操作することはできるが、プロパティセットを変更することはできない(ただし、読み取ることはできる)ことを意味する。
方法
execute
execute(passmanager_ir, state, callback=None)
入力Qiskit IRに対して最適化タスクを実行する。
パラメーター
- passmanager_ir (Any) – Qiskit IRを最適化する。
- state (PassManagerState) – パスマネージャー自身によるワークフロー実行に関連する状態。
- callback (Callable | None) – 最適化タスクの実行ごとに呼び出されるコールバック関数。
戻り値
Qiskit IRとワークフローの状態を最適化。
戻りの型
タプル [ Any, PassManagerState ]
name
run
update_status
update_status(state, run_state)
ワークフローのステータスを更新する。
パラメーター
- state (PassManagerState) – 更新するマネージャーの状態を渡す。
- run_state (RunState) – 現在のタスクの完了状況。
戻り値
パスマネージャーの状態を更新。
戻りの型