騒音モデル
qiskit_paulice.noise_models
時空間パウリチェックを評価するためのノイズモデルの仕様。
NoiseModel
class NoiseModel(gate_noise=None, readout_noise=None, idling_noise=None)
ベース: object
時空パウリチェックの最適な回路配置を決定するために用いられるノイズモデル。
パラメーター
from_backend
classmethod from_backend(backend, layout, uniform_gate_noise=False, pauli_bases=None)
バックエンドのキャリブレーションデータから を NoiseModel インスタンス化する。
layout結果 GateWiseNoise として得られる辞書内のエッジキーには**、仮想**量子ビットのインデックス(内の位置)が使用されます。 layout入力回路のレイアウトが、仮想インデックスと物理インデックスを一貫して対応付けるものである場合、キーは物理インデックスとしても機能します。
None``idling_noise は常に None このメソッドから得られる。もし backend 読み出しの較正が行われていない場合、 readout_noise もとなる。
パラメーター
- backend (BackendV2) – 各カップリングマップのエッジごとに2量子ビットゲートの誤り確率、およびレイアウト内の各量子ビットの読み出し誤り情報を格納するバックエンド。
- layout (Sequence[int]) – ノイズモデルに含める、バックエンド上の物理量子ビットのインデックス。
layout[0]この順序は、仮想量子ビットのインデックス付けを定義する(仮想量子ビット 0 は に割り当てられる、など)。 Trueuniform_gate_noise (bool) – その場合、出力のフィールドNoiseModelはgate_noiseとなり、UniformGateNoiseエラー確率は非同一のパウリ基底の15間に一様分布すると仮定される。これにより、すべてのエンタングルメントゲートに等しく影響を与える一様な脱偏極チャネルが形成される。Falseその場合、gate_noiseは、各エッジがバックエンドのキャリブレーションデータに基づいてカスタマイズされたノイズチャネルに関連付けられた のGateWiseNoiseインスタンスとなります。- pauli_bases (Sequence[str] | None) – モデルにおいて
GateWiseNoise、pauli_basesこれらはバックエンドから報告される誤り確率が分布する基底となる。b各基底は、エッジタプルと左から右へとペアをなす2文字のパウリ文字列であり、したがって"XZ"、エッジ(a, b)上では がXにa、 がZに配置される。"II"デフォルトの動作は、 2Q のパウリ基底全体を使用し、を除外することです。UniformNoiseについては、完全基底が仮定されるため、この議論は無視される。
戻り値
バックエンドの校正データから導出された、ゲートノイズおよび読み出しノイズを含むインスタンス。 NoiseModel
昇給
ValueError – バックエンドにキャリブレーションデータが欠落しているか、レイアウトに無効な量子ビットインデックスが含まれています。
戻りの型
from_pauli_lindblad_maps
classmethod from_pauli_lindblad_maps(layer_noise, readout_noise=None)
パウリ・リンドブラッド写像から NoiseModel を生成する。
この手法は、ゲートおよび(必要に応じて)測定に影響を与えるノイズチャネルを表すインスタンスから PauliLindbladMap 、を NoiseModel 構築する。 layer_noise ゲートノイズは、引数で指定されます。 各インスタンスは PauliLindbladMap 、固有のエンタングルメントゲート層に対して作用すると仮定される。 読み出しノイズは、単一量子ビットのパウリX生成器とその関連する発生率を含む単一 PauliLindbladMap のパラメータによって規定される。
パラメーター
- layer_noise (Sequence[PauliLindbladMap]) – 一連の
PauliLindbladMapオブジェクトであり、各マップは回路内の固有の1つのエンタングルメント層に対するノイズチャネルを表しています。 - readout_noise (PauliLindbladMap | None) – オプション
PauliLindbladMap:読み出しエラーに備え、各量子ビットにパウリXジェネレータを搭載する。
戻り値
このメソッドでは、入力 PauliLindbladMap``s. ``idling_noise で定義されたノイズモデルを反映したインスタンスは NoiseModel 、常に となります None 。
昇給
2ValueError – エラー発生源の重みが. より大きい。- ValueError – 読み出し誤差発生器はPauli-Xではない。
戻りの型
gate_noise
タイプ: GateNoise | None
デフォルト値: None
2量子ビットゲートの操作中に発生するエラー。 以下のいずれかになります。
UniformNoise: すべてのゲートでエラー確率が同じ。 誤り確率は、チャネルに表される各パウリ基底に均等に分布する。LayeredNoise: 固有のエンタングルメント層ごとのパウリ・リンドブラッドノイズチャネルGateWiseNoise: 固有のエンタングルメントエッジごとのパウリ・リンドブラッドノイズチャネル
idling_noise
タイプ: float | None
デフォルト値: None
アイドル時間中の量子ビットの減衰率。 1 - exp(-t / idling_noise)総誤り確率は次のように表される。
readout_noise
タイプ: float | None
デフォルト値: None
測定中のビット反転の確率。
UniformGateNoise
デフォルト値: <class 'float'>
すべての2量子ビットゲートに一様に適用される脱分極確率。
この確率は、2量子ビットのパウリ基底における自己非同型パウリ状態 15 の間で均等に分配され、脱分極チャネルを形成する。 このノイズチャネルは、各エンタングルメントゲートの後に適用されます。
LayeredGateNoise
固有のエンタングルメント層をパウリ誤差発生源にマッピングする多層ノイズモデル。
各エンタングルメント層に関連するパウリ・リンドブラッド誤差は、その層内のゲートが実行される前に定義されているものと仮定する。
キーは、レイヤーを定義する量子ビットインデックスのペア(エッジ)からなるタプルです。 値はタプルの (pauli, rate) リストであり、ここで pauli はすべての量子ビット上で定義されたパウリまたはパウリ文字列、 rate はそれに対応するエラー率である。
dict[tuple[tuple[int, int], …] の別名, list[tuple[Pauli | str, float]]]
GateWiseNoise
クビットのペアをパウリノイズチャネルにマッピングする、ゲートごとのノイズモデル。
キーは、エッジを表す量子ビットインデックスのペアからなるタプルです。 値は (pauli, rate) のタプルのリストであり、ここで pauli は 2 文字のパウリ文字列、 rate はそれに対応するエラー率である。 b``(a, b)``(pauli_str, indices)PauliLindbladMapこの文字列は、エッジタプルと左から右へとペアになります。これは、の疎な形式と一致します。つまり、エッジ に対して、 "XZ" は X に a 、 Z は に配置されます。
GateNoise
デフォルト値: float | dict[tuple[tuple[int, int], ...], list[tuple[qiskit.quantum_info.operators.symplectic.pauli.Pauli | str, float]]] | dict[tuple[int, int], list[tuple[str, float]]]
ゲートノイズは、均一(float)、階層型(dict)、またはゲートごとの形式(dict)のいずれかになります。