qiskit_noise_learning.sequences.FidelityIndex
class qiskit_noise_learning.sequences.FidelityIndex(gate_name: str, pauli: QubitSparsePauli, in_z_idxs: frozenset[int], out_z_idxs: frozenset[int], input_pauli: QubitSparsePauli, output_pauli: QubitSparsePauli, sign_flip: bool, meas_idxs: frozenset[int])
ベース: object
パウリ-MCM-リセットゲートセットにおけるフィデリティのインデックスデータ。
を量子ビットの数とし、 、 を測定対象の量子ビット、 をゲート用のリセット量子ビットとする。 あるゲートについて、各フィデリティは次のように規定される:
- 測定もリセットもされていない量子ビットに関するパウリの定理 ,
- 測定された量子ビットに対する 型演算子 、 、および
- 測定済みおよびリセット済みの量子ビットに対して、 型の演算子 を適用する。 。
このリストは、あるゲートに対する一般化フィデリティの「インデックスデータ」を構成する。すなわち、すべての一般化フィデリティと、上記の記述を満たすすべてのオブジェクトからなる上記の集合との間には、一対一対応が存在する。 これらが現れる分解については、 数学的定式化の式 (3) を参照のこと。
指数 および は、それらが0でない量子ビットのインデックスの集合、すなわち in_z_idxs および として格納される。 out_z_idxs これは、 および が非自明な作用を及ぼす量子ビットと等価である。
このコンストラクタは、 ModelGate と上記の固有インデックスデータから FidelityIndex を構築 FidelityIndex.from_gate() します。 あるいは、インデックスデータから示唆されるパウリ遷移を用いて、インスタンスを構築することも FidelityIndex.from_transition() できます。 これは、検証を行わずにすべての保存済みプロパティを受け取る「低レベル」のコンストラクタと見な FidelityIndex.__init__() されています。
パラメーター
- gate_name – ゲートの名前。
- pauli – 測定もリセットもされていない量子ビットに対応したパウリ演算子。 なお、 は が返す演算子のサイズを制御
pauli.num_qubitsしますself.transition。 - in_z_idxs – が 0 以外となる量子ビットのインデックス。
- out_z_idxs – が 0 以外となる量子ビットのインデックス。
- input_pauli – 遷移の入力パウリ状態。
- output_pauli – 遷移の出力パウリ状態。
- sign_flip – 遷移の際に符号が反転するかどうか。
- meas_idxs – ゲートに対する測定キュービットのインデックス。
__init__
__init__(gate_name: str, pauli: QubitSparsePauli, in_z_idxs: frozenset[int], out_z_idxs: frozenset[int], input_pauli: QubitSparsePauli, output_pauli: QubitSparsePauli, sign_flip: bool, meas_idxs: frozenset[int])
方法
コラム「 1 」 | コラム「 2 」 |
|---|---|
__init__(gate_name, pauli, in_z_idxs,...) | |
from_gate(ゲート、パウリ[, in_z_idxs, out_z_idxs]) | ゲートおよび一意インデックスのデータから、フィデリティ・インデックスを構築する。 |
from_transition(gate, in_pauli, out_pauli) | 量子レジスタ上のパウリ遷移から忠実度指標を構築する。 |
is_valid_for_gate(ゲート、パウリ[, in_z_idxs, ...]) | 与えられたインデックスデータが、そのゲートに対する有効なフィデリティ・インデックスを構成しているかどうか。 |
属性
コラム「 1 」 | コラム「 2 」 |
|---|---|
gate_name | 門の名前。 |
in_z_idxs | この装置の入力で を帯びた、測定済みの量子ビット。 |
meas_idxs | ゲートによって測定される物理量子ビットのインデックス。 |
observable_idxs | 関連する 観測量の量子ビットインデックスを昇順で並べたもの。 |
out_z_idxs | 測定およびリセットされた量子ビットは、計測器の出力において を保持している。 |
pauli | モデルゲートのクリフォード部分におけるパウリ演算子。 |
sign_flip | この忠実度に関連する遷移において、符号の反転が生じるかどうか。 |
transition | このフィデリティ指標に関連する、位相を持たないパウリ演算子の遷移。 |
from_gate
classmethod from_gate(gate: ModelGate, pauli: QubitSparsePauli, in_z_idxs: frozenset[int] = frozenset({}), out_z_idxs: frozenset[int] = frozenset({})) → Self
ゲートおよび一意インデックスのデータから、フィデリティ・インデックスを構築する。
パラメーター
- ゲート – モデルゲート。
- pauli – 測定もリセットもされていない量子ビットに対応したパウリ演算子。
- in_z_idxs – 計測器の入力で が設定されている計測クビットインデックスのサブセット。
- out_z_idxs – 計測およびリセット量子ビットのインデックスの和集合のうち、機器の出力に を持つインデックスの部分集合。
昇給
ValueError – 指定されたデータがゲートと整合しない場合。
is_valid_for_gate
classmethod is_valid_for_gate(gate: ModelGate, pauli: QubitSparsePauli, in_z_idxs: frozenset[int] = frozenset({}), out_z_idxs: frozenset[int] = frozenset({})) → bool
与えられたインデックスデータが、そのゲートに対する有効なフィデリティ・インデックスを構成しているかどうか。
これは、インデックスを構築したり、その遷移を計算したりすることなく from_gate()、と同じ(副作用のない)一貫性チェックを実行します。
パラメーター
- ゲート – モデルゲート。
- pauli – 測定もリセットもされていない量子ビットに対応したパウリ演算子。
- in_z_idxs – 計測器の入力で が設定されている計測クビットインデックスのサブセット。
- out_z_idxs – 計測およびリセット量子ビットのインデックスの和集合のうち、機器の出力に を持つインデックスの部分集合。
from_transition
classmethod from_transition(gate: ModelGate, in_pauli: QubitSparsePauli, out_pauli: QubitSparsePauli) → Self
量子レジスタ上のパウリ遷移から忠実度指標を構築する。
このコンストラクタは、指定されたパウリ遷移から FidelityIndex 、a のパウリおよび のインデックス集合を推論します。
パラメーター
- ゲート – モデルゲート。
- in_pauli – 量子レジスタへの入力「Pauli」。
- out_pauli – 量子レジスタ上の出力パウリ。
昇給
ValueError – パウリ演算子のペアが有効な状態を意味しない場合 FidelityIndex。
gate_name
種類: str
門の名前。
pauli
種類: QubitSparsePauli
モデルゲートのクリフォード部分におけるパウリ演算子。
in_z_idxs
out_z_idxs
meas_idxs
sign_flip
種類: bool
この忠実度に関連する遷移において、符号の反転が生じるかどうか。
transition
型: tuple[QubitSparsePauli, QubitSparsePauli]
このフィデリティ指標に関連する、位相を持たないパウリ演算子の遷移。