AddPostCircuitBitFlipChecks
class AddPostCircuitBitFlipChecks(*args, **kwargs)
ベース: TransformationPass
測定で終了するアクティブな量子ビットの回路の末尾に、ビット反転チェックを追加する。
回路通過後のビットフリップチェックは、終端測定の後に位置する狭帯域Xパルスによって構成され、このパルスによって量子ビットの状態が測定済み状態 から反転させられます。その後、その状態が測定され、特定のショットにおいてQPUが量子ビットを反転させられなかった場合、そのサンプルは信頼できないものとみなされ、破棄されることがあります。 すべてのチェックに合格したサンプルのみを事後選択することで、QPUからサンプリングされた分布の忠実度を向上させることができます。
追加された測定値は、DAGのレジスタのコピーである新しい古典レジスタに書き込まれます。これらのレジスタの名前は変更されており(デフォルトでは、レジスタ名に が付加 "_ps" されます)。
これらのパスは、フラクショナルゲートがサポートされているHeron QPUでのみサポートされています。
パスを初期化します。
パラメーター
- x_pulse_type – ポストチェック測定に適用するXパルスの種類。
"rx"か"xslow"、あるいは。 - post_check_suffix – 従来のレジスタをコピーする際に、その名前に付加する固定の接尾辞。
- ignore_creg_suffixes – 無視すべき(コピーしない)クラシックレジスタのサフィックスのリスト。 デフォルトでは、「_pre」で終わるレジスタは、プレチェック用レジスタにポストチェックが追加されるのを防ぐため、無視されます。
属性
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に対してパスを実行してください。 これは、passの開発者によって実装されています。
パラメーター
dag (DAGCircuit) – パスが実行される日。
昇給
NotImplementedError – これが1パス分実装されないままの場合。
update_status
update_status(state, run_state)
ワークフローのステータスを更新します。
パラメーター
- state (PassManagerState) – 更新対象のマネージャーの状態を渡します。
- run_state (RunState) – 現在のタスクの完了状況。
戻り値
パスマネージャーの状態を更新しました。
戻りの型