Skip to main content
IBM Quantum Platform

qiskit_ibm_runtime.options_models.ZneOptions

pydantic model ZneOptions

GitHub

ベース: BaseOptionsModel

ノイズゼロ外挿の緩和オプション。 これは、 V2 の推定ツールでのみ使用されます。

注

V2 の推定関数であればどれでも、それぞれ期待値の推定値と誤差を表す および evs というデータフィールド stds を確実に返します。 ランタイム推定器でZNEオプションを有効にすると、追加のデータが返されます。

特に、入力pubの観測可能な配列の形状が、パラメータ値の形状が obs_shape``par_shape 、そして対応するpubの形状がであると仮定する shape=np.broadcast_shapes(obs_shape, par_shape)。 その場合、対応するパブの結果にはさらに以下の内容が含まれます:

  1. pub_result.data.evs_extrapolated そして pub_result.data.stds_extrapolated、

    どちらも形状を持ち (*shape, num_extrapolators, num_evaluation_points)、ここで num_extrapolators は のリストの長さ options.resilience.zne.extrapolator、 は のリストの長さである num_evaluation_points``options.resilience.zne.extrapolated_noise_factors 。 これらの値は、指定されたすべてのノイズ外挿値について、各外挿器の評価結果を示しています。

  2. pub_result.data.evs_noise_factors, pub_result.data.stds_noise_factors, および はいずれ ensemble_stds_noise_factors も という形状を持ち、 (*shape, num_noise_factors) ここで は の長さである num_noise_factors``options.resilience.zne.noise_factors 。 これらの値は、各ノイズ増幅において、必要に応じてツイリングを平均化した生の期待値を示しています。これらの値を基に、独自のフィッティングルーチンを構築することができます。 ツイリングがない場合、両方の配列 *stds* は等しくなります。一方、ツイリングがある場合は、はツイリングサンプルにわたるばらつきから導出される stds_noise_factors のに対し、はショットノイズのみを考慮 ensemble_stds_noise_factors し、ドリフトは考慮していません。

技術的な注記:複数の基底項を持つ単一の観測量については、 同じ期待値において複数の外挿法が用いられる場合がある。例えば、観測量 において、 は線形外挿される XX が、 は指数関数的に外 XY 挿されるといった具合である {"XX": 0.5, "XY": 0.5}。 これを「 不均一な適合 」と呼ぶことにしましょう。 (2) のデータは、個々の項ごとに最適な近似を選択する異種近似によって評価されるのに対し、(1) のデータは、提供された各外挿関数ごとに 1 つずつ、強制的な同種近似によって評価される。 業務上、この点について微妙な区別が必要な場合は、現時点では、複数項の観測量に加えて、単項の観測量も併用することをお勧めします。

参考文献

  1. Z. Cai, 「 NISQアプリケーションに向けた多指数誤差外挿および誤差低減手法の組み合わせ 」、 npj Quantum Inf 7, 80 (2021)

構成

  • validate_assignment : bool = True
  • extra : str = 禁止

amplifier

field

種類: Literal['gate_folding', 'gate_folding_front', 'gate_folding_back', 'pea']

デフォルト値: 'gate_folding'

ノイズを増幅するには、どの手法を用いるべきか。

以下のいずれか

  • 「gate_folding」(デフォルト)は、2量子ビットのゲートフォールディングを用いてノイズを増幅します。 もしその音が

    特定の要因により、ゲートの一部のみを増幅すればよい場合、それらのゲートはランダムに選択される。

  • 「gate_folding_front」は、2量子ビットのゲートフォールディングを用いてノイズを増幅する。 もしその音が

    ある要因により、ゲートの一部のみを増幅すればよい場合は、これらのゲートは、トポロジカルに順序付けられたDAG回路の先頭部分から選択される。

  • 「gate_folding_back」は、2量子ビットのゲートフォールディングを用いてノイズを増幅する。 もしその音が

    ある要因により、ゲートの一部のみを増幅すればよい場合、これらのゲートは、トポロジカルに順序付けられたDAG回路の後方から選択される。

  • 「pea」は、確率的誤差増幅と呼ばれる手法を採用しています。

    ( PEA ) を用いてノイズを増幅する。 このオプションを選択すると、オプションで有効にされているかどうかに関わらず、常にゲート・トゥイリングが使用されます。 この手法では、ISA回路内の各エンタングルメントゲート層について、ツイールノイズモデルが事前に学習されます。関連する学習オプションについては LayerNoiseLearningOptions 、[参照]をご覧ください。 構築が完了すると、回路は各ノイズ係数ごとに実行され、その際、回路の各エンタングルメント層は、対応する学習済みノイズモデルに比例した単一クビットノイズを確率的に注入することで増幅されます。

extrapolated_noise_factors

field

種類: Sequence[Annotated[float, Field(ge``=``0)]] | Literal['auto']

デフォルト値: 'auto'

外挿モデルの適合度を評価するためのノイズ係数。

「auto」の場合、期待値は で評価されます [0, *noise_factors]。 このオプションは、実行やモデルのフィッティングには一切影響を与えず、単に、 extrapolators が評価され、および evs_extrapolated というデータフィールドに返される点を決定するだけです stds_extrapolated。

extrapolator

field

種類: ExtrapolatorType | Sequence[ExtrapolatorType]

デフォルト値: ('exponential', 'linear')

ノイズをゼロに外挿するために試す外挿関数(順に)。

使用可能なオプションは、以下のとおりです。

  • "exponential", これは指数関数的な減衰関数を用いてデータにフィットさせたものである

    f(x;A,τ)=Ae−x/τf(x; A, \tau) = A e^{-x/\tau} と定義される。ここで、 A=f(0;A,τ)A = f(0; A, \tau) はノイズがゼロ時の値( x=0x=0 )であり、 τ>0\tau>0 は正のレートである。

  • "double_exponential", これは参考文献と同様に2つの指数関数の和を用いている。 1秒.

  • "polynomial_degree_(1 <= k <= 7)", これは次のように定義される多項式関数を用いており、

    f(x;c0,c1,…,ck)=∑i=0,kcixif(x; c_0, c_1, \ldots, c_k) = \sum_{i=0, k} c_i x^i.

  • "linear", これは と同等である "polynomial_degree_1"。

  • "fallback", これは単にノイズが最も少ないデータに対応する生データを返すだけである

    (通常は 1)いかなる外挿も行わずに、その係数を算出する。

外挿値(evs_extrapolated および stds_extrapolated)は、指定された外挿関数の順序に従って並べ替えられます。 複数の外挿関数が指定された場合、結果のデータに報告 stds される および evs は、最初に成功した外挿関数を指します。なお、外挿関数の成功の判定はヒューリスティックに行われます。

noise_factors

field

タイプ: Annotated[Sequence[Annotated[float, Field(ge``=``1)]], AfterValidator(at_least_two_noise_factors)] | Literal['auto']

デフォルト値: 'auto'

ノイズ増幅に使用するノイズ係数。

デフォルトは DEFAULT_NOISE_FACTORS です。 要求されたすべての外挿関数において、自由度(DOF)よりも多くの値が含まれている必要があります。

update

update(**kwargs)

GitHub

オプションを更新してください。

パラメーター

kwargs (Any)

戻りの型

なし

このページは役に立ちましたか?
バグや誤字の報告、またはコンテンツの要求はGitHubで行ってください。