qiskit_noise_learning.analysis.FlipPostSelect
class qiskit_noise_learning.analysis.FlipPostSelect(creg_identifier: Callable[[list[str]], Iterator[tuple[str, ...]]] | None = None, mode: Literal['node', 'edge'] = 'edge')
ベース: AnalysisStage
古典的なレジスタ全体におけるビット反転の失敗に基づいて、生データにマスクを適用する。
このポストセレクション段階では、1つまたは2つのクレッグからなるグループを特定し、各グループの欠陥箇所をマークし、その欠陥の構造に基づいてショットをマスクします。 どちらの規則も、ビットの結果、すなわち data ^ measurement_flips、測定による回転の影響が取り除かれた状態での測定値を読み取ります。 何が「失敗」とみなされるかは、グループの規模によって異なります:
- 2つの測定値
(base, ps):両方の結果が同じ場合、つまり2回の測定間で結果が反転しなかった場合は、ビットは失敗jとみなされる。 - One creg
(base,):結果が True の場合、bit は失敗jとなります。 これは、クレグの読み出し値がすべてゼロになると予想される場合の自然な規則であり、レジスタpsの値がすべて1である場合の「2クレグの法則」と一致する。
失敗したビットがある場合、モードによってどのショットが破棄されるかが決まります:
"node": 少なくとも1ビットが失敗した場合、そのショットは破棄されます。"edge": 結合マップ上で、隣接する2つの量子ビットが両方とも失敗したペアが存在する場合、そのショットは破棄される。
パラメーター
- creg_identifier – 現在の creg 名のリストを受け取り、ポストセレクトの対象となる creg 名のタプルを列挙するイテレータを返すコール可能オブジェクト。 各タプルには1つまたは2つの名前が含まれており、それに応じて上記のルールが適用されます。 デフォルトでは、
cregという名前の各要素について、が存在 `"*"` する場合は"*_ps"とペアリングし、存在しない場合は単独として扱います。 - モード – 選択後モード; または
"node""edge"。
昇給
ValueError – が mode または "node" でない場合 "edge"。
__init__
__init__(creg_identifier: Callable[[list[str]], Iterator[tuple[str, ...]]] | None = None, mode: Literal['node', 'edge'] = 'edge')
方法
コラム「 1 」 | コラム「 2 」 |
|---|---|
__init__([creg_identifier, mode]) | |
run(フィット) | このステージを実行し、出力レベルが設定 Fit された新しいオブジェクトを返します。 |
属性
コラム「 1 」 | コラム「 2 」 |
|---|---|
creg_identifier | |
input_level | この段階で読み込まれるデータレベル。 |
mode | |
output_level | この段階で書き込まれるデータレベル。 |
input_level
この段階で読み込まれるデータレベル。
output_level
この段階で書き込まれるデータレベル。
このページは役に立ちましたか?
バグや誤字の報告、またはコンテンツの要求はGitHubで行ってください。