qiskit_noise_learning.gate_sets.ModelGate
class qiskit_noise_learning.gate_sets.ModelGate(name: str, cliffords: Iterable[tuple[tuple[int, ...], Clifford]] | None = None, qubit_idxs: Iterable[int] | None = None, meas_idxs: Iterable[int] = (), prep_idxs: Iterable[int] = (), latex_str: str | None = None)
ベース: Gate
Clifford - MCM - リセット形式のゲートのモデル。
パラメーター
- cliffords – 理想的なクリフォード層に対応する、物理クビットのインデックスと
Cliffords からなるタプルの反復可能オブジェクト。 反復可能オブジェクトの順序は、最初に適用されたクリフォードから始まり、時間順に進むべきであり、 は単位元として解釈されるNone。 - qubit_idxs – 物理クビットのインデックス。
- meas_idxs – このゲートが測定対象とする物理量子ビットのインデックス。
- prep_idxs – このゲートが準備またはリセットする物理量子ビットのインデックス。
- latex_str – このゲートをレンダリングするための、オプションの LaTeX 文字列。
昇給
- ValueError – と
cliffordsの両方が指定qubit_idxsされていない場合。 - ValueError – の要素のいずれかで、量子ビットインデックスの長さとクリフォード演算の量子ビット数が一致
cliffordsしない場合。
__init__
__init__(name: str, cliffords: Iterable[tuple[tuple[int, ...], Clifford]] | None = None, qubit_idxs: Iterable[int] | None = None, meas_idxs: Iterable[int] = (), prep_idxs: Iterable[int] = (), latex_str: str | None = None)
方法
コラム「 1 」 | コラム「 2 」 |
|---|---|
__init__(名前[, cliffords, qubit_idxs, ...]) | |
clifford_propagate(...) | あるパウリ演算が与えられたとき、それを理想クリフォード演算を通じて伝播させる。 |
属性
コラム「 1 」 | コラム「 2 」 |
|---|---|
clifford | このゲートに対するクリフォード演算全体。 |
cliffords | 量子ビットのインデックスと、それらに作用するクリフォード演算からなるタプルのリスト。 |
constituent_gate_idxs | 構成ゲートが作用する位置を指定する物理インデックスのタプルを巡回するイテレータ。 |
gate_idxs | このゲートがユニタリ作用を受ける物理的指標。 |
idling_idxs | このゲートが待機状態にある物理量子ビットのインデックス。 |
label | プロッタの凡例で使用する文字列ラベル。 |
latex_str | このゲート用の LaTeX 文字列。 |
math_label | LaTeXの数学モード内で使用する文字列ラベル。 |
meas_idxs | このゲートが測定する物理量子ビットのインデックス。 |
model_gate | このゲートを ModelGate 表す を返す。 |
name | ゲートの名称。 |
num_qubits | このゲートが作用する量子ビットの数。 |
prep_idxs | このゲートが準備(またはリセット)する物理量子ビットのインデックス。 |
qubit_idxs | このゲートが作用する物理量子ビットのインデックス。 |
clifford
種類: Clifford
このゲートに対するクリフォード演算全体。
cliffords
型: list[tuple[tuple[int,...], Clifford]]
量子ビットのインデックスと、それらに作用するクリフォード演算からなるタプルのリスト。
このリストは時系列順になっています。 各要素には、対応するクリフォード演算が作用する量子ビットのインデックスが含まれています。
model_gate
constituent_gate_idxs
構成ゲートが作用する位置を指定する物理インデックスのタプルを巡回するイテレータ。
一部のサブクラスでは、「構成ゲート」という概念に意味を持たない場合があります。これは、それらのサブクラスが、ユニタリ作用を分離可能な表現によって表すことを選択していないためです。 彼らが従わなければならない唯一の制約は、すべての整数の和が に等しいということである gate_idxs。
clifford_propagate
clifford_propagate(pauli: QubitSparsePauli, inverse: bool = False) → QubitSparsePauli
clifford_propagate(pauli: PhasedQubitSparsePauli, inverse: bool = False) → PhasedQubitSparsePauli
あるパウリ演算が与えられたとき、それを理想クリフォード演算を通じて伝播させる。
( inverse == False デフォルトの場合)、このメソッドは を返し、それ以外の場合は を返します。
入力が位相を持たないパウリ型の場合、伝播も位相を持たないものとなる。
なお、クリフォードの定理は に適用されることに注意してください self.qubit_idxs。
パラメーター
- pauli – 広めるべき「Pauli」。
- inverse – ゲートそのものを適用するか、その逆関数を適用するかを指定します。
戻り値
入力と同じ型を持つ、展開された結果。
昇給
TypeError – 無効な型が指定された場合。