AddPostSelectionMeasures
class AddPostSelectionMeasures(*args, **kwargs)
ベース: TransformationPass
すべての端子測定の後に、選択後の測定を追加する。
選択後の測定とは、与えられた量子ビットの通常の測定に続く測定である。 狭帯域のXパルスに続いて通常の測定が行われる。 ノイズがない場合、 (b + 1) % 2 を返すと予想される。 b は元の測定結果である。
このパスでは、すべての端子測定の後、つまり、同じワイヤで他の操作が続かないすべての測定の後に、選択後の測定が追加される。 追加された測定値はバリアの後に置かれ、DAGのレジスタのコピーである新しい古典的レジスタに、名前を変更して書き込まれる。
このパスが制御フロー操作に遭遇すると、そのすべてのブロックを繰り返し処理する。 ブロックのすべてで終端している量子ビットだけを "終端 "としてマークし、それ以外の量子ビットは "終端していない "として扱う。
パスを初期化する。
パラメーター
- x_pulse_type - 選択後の測定に適用するXパルスのタイプ。
- post_selection_suffix - 古典的レジスタをコピーする際に、その名前に付加する固定接尾辞。
属性
is_analysis_pass
パスが分析パスかどうかをチェックする。
パスが AnalysisPass,、パスがDAGを分析し、その分析結果をプロパティセットに書き込むことができることを意味する。 この種のパスでは、DAGの変更は許されない。
is_transformation_pass
パスが変形パスかどうかをチェックする。
パスが TransformationPass, の場合、そのパスはDAGを操作することはできるが、プロパティセットを変更することはできない(ただし、読み取ることはできる)ことを意味する。
方法
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とワークフローの状態を最適化。
戻りの型
name
run
run(dag)
DAGCircuitでパスを実行する。 これはパス開発者によって実装される。
パラメーター
dag (DAGCircuit) – パスが実行されるダグ。
レイズ
NotImplementedError - パスが未実装の場合。
update_status
update_status(state, run_state)
ワークフローのステータスを更新する。
パラメーター
- state (PassManagerState) – 更新するマネージャーの状態を渡す。
- run_state (RunState) – 現在のタスクの完了状況。
戻り値
パスマネージャーの状態を更新。
戻りの型