NoiseLearnerOptions
class NoiseLearnerOptions(_VERSION=2, max_execution_time=Unset, environment=<factory>, simulator=<factory>, max_layers_to_learn=Unset, shots_per_randomization=Unset, num_randomizations=Unset, layer_pair_depths=Unset, twirling_strategy=Unset, experimental=Unset)
ベース: OptionsV2
オプション NoiseLearner.
1つのレイヤーのノイズを学習するために実装されるユニークな回路の総数は、以下のことにのみ依存する。 layer_pair_depths と num_randomizations. 例えば、 layer_pair_depths が6つの深さを含み、 num_randomizations が 32 に設定されている場合、ノイズ学習ステージはレイヤーごとに合計 6 * 9 のユニークな回路を実行し、それぞれ 32 のランダム化(それぞれで)を行う。 shots_per_randomization それぞれ)。
上記の数 9 は、ローカルな測定を行うことによって、与えられたレイヤーのすべての2量子ビットサブシステムのノイズを学習するために実装する必要があるユニークな回路の数である。 実際、これらのサブシステムの1つのノイズを学習するには、そのサブシステム上のすべての 16 2量子ビットポーリスを測定する必要がある。 1つの回路で複数のパウリ(例えば、 XI、 IX、 XX )を測定するために整流関係を利用することで、 9 回路のみを実装することで、これらすべての 16 パウリを測定することが可能である。 これらの測定タスクを最適な方法で並列化することにより、 9 の回路だけで、レイヤーの2量子ビット・サブシステムすべてについて 16 Paulisを測定することができる。 詳細は文献を参照。 [1].
参考文献
- E. van den Berg, Z. Minev, A. Kandala, K. Temme, Probabilistic error cancellation with sparse Pauli–Lindblad models on noisy quantum processors, Nature Physics volume 19, pages 1116–1121 (2023). arXiv:2201.09866 [quant-ph]。
属性
パラメーター
- _VERSION (int)
- max_execution_time (UnsetType | int)
- environment (EnvironmentOptions | Dict)
- simulator (SimulatorOptions | Dict)
- max_layers_to_learn (UnsetType | int | None)
- shots_per_randomization (UnsetType | int)
- num_randomizations (UnsetType | int)
- layer_pair_depths (UnsetType | list[int])
- twirling_strategy (UnsetType | Literal['active', 'active-accum', 'active-circuit', 'all'])
- experimental (UnsetType | dict)
environment
タイプ: EnvironmentOptions | Dict
デフォルト値: FieldInfo(annotation=NoneType, required=False, default_factory=EnvironmentOptions)
experimental
タイプ: UnsetType | dict
デフォルト値: Unset
実験オプション。
これらのオプションは予告なく変更されることがあり、安定性を保証するものではありません。
layer_pair_depths
タイプ: UnsetType | list[int]
デフォルト値: Unset
学習実験で使用する回路の深さ(ペア数で測定)。
ノイズ学習の実装では、エンタングルゲートの order-2 の性質を利用するため、ペアを単位として使用する。 例えば、 3 の値は、注目レイヤーの6回の繰り返しに相当する。 デフォルト:(0、1、2、4、16、32)。
max_execution_time
タイプ: UnsetType | int
デフォルト値: Unset
max_layers_to_learn
タイプ: UnsetType | int | None
デフォルト値: Unset
学習するレイヤーの最大数。
None 、制限がないことを示す。 もし、より多くのユニークなレイヤーが存在する場合、いくつかのレイヤーは学習されず、軽減もされない。 学習されたレイヤーは、出現回数に基づいて優先順位が付けられ、同じように出現するレイヤーについては、レイヤー内の2量子ビットゲートの数によってさらにソートされる。 デフォルト: 4。
num_randomizations
タイプ: UnsetType | int
デフォルト値: Unset
学習回路構成ごとに使用するランダム回路の数。
コンフィギュレーションとは、測定基準と深さの設定である。 例えば、あなたの実験に6つの深さがある場合、この値を32に設定すると、実行される必要がある回路の総数は 32 * 9 * 6 (ここで、 9 は、必要な観測値をすべて測定するために実装する必要がある回路の数です。 NoiseLearnerOptions のdocstringの注釈を参照してください。 shots_per_randomization で、それぞれ
shots_per_randomization
タイプ: UnsetType | int
デフォルト値: Unset
ランダム学習回路ごとに使用するショットの総数。
学習回路は、ハードウェア上で実行される、特定の測定基準を持つ特定の学習深度のランダム回路である。 デフォルト:128。
simulator
デフォルト値: FieldInfo(annotation=NoneType, required=False, default_factory=SimulatorOptions)
twirling_strategy
タイプ: UnsetType | Literal['active', 'active-accum', 'active-circuit', 'all']
デフォルト値: Unset
2量子ビットのツイルゲートの特定された層におけるツイル戦略。
許可される値は次のとおりです。
"active"各回転層では、命令量子ビットだけが回転する。
"active-circuit"それぞれの層は、すべての指示の結合である。回路内の量子ビットが回転する。
"active-accum"各回転層では、命令量子ビットの和は現在回転している層までの回路が回転している。
"all"各回転層では、入力回路のすべての量子ビットが回転する。
量子ビットがアクティブかどうかを判断する際、バリアと遅延命令は無視される。
デフォルト:"active-accum"。