Skip to main content
IBM Quantum Platform

OBPメタデータ

class OBPMetadata(truncation_error_budget, num_slices, operator_budget, backpropagation_history, num_backpropagated_slices)

GitHub

ベース: object

backpropagate() メソッド中に生成されたメタデータのコンテナ。


属性

パラメーター

truncation_error_budget

タイプ: TruncationErrorBudget

観測可能な切り捨て戦略を指定する値。

num_slices

タイプ: int | None

バックプロパゲートを試みるスライスの総数。

operator_budget

タイプ: OperatorBudget

演算子の大きさを指定する値。

backpropagation_history

タイプ: list[SliceMetadata]

バックプロパゲーションの進行を追跡するための一連のメタデータオブジェクト。

num_backpropagated_slices

タイプ: int

バックプロパゲートされたスライスの数。

この値は、 operator_budget.max_paulisoperator_budget.max_qwc_groups のような停止基準によってバックプロパゲーションが終了した場合には、 len(backpropagation_history) と異なることがある。 最後のスライスでしきい値を超えたので、この値は len(backpropagation_history) - 1 。 しかし、便宜上、これらの値はエンドユーザーが検査できるように記録されている。


方法

accumulated_error

accumulated_error(observable_idx, slice_idx=None)

GitHub

ある "時間 "における、ある観測値に対する累積誤差を計算する。

この方法は、バックプロパゲーションの過程で与えられた「時間」における、与えられた観測可能なインデックスに対する累積誤差を計算する。 ここでいう "時間 "とは、バックプロパゲートされたスライスの離散的なステップのことである。

累積誤差は、個々の誤差の和として計算される SliceMetadata.slice_errors。 これらは、指定された範囲内で計算される可能性があります TruncationErrorBudget.p_norm。 したがって、計算された累積誤差は、 ミンコフスキーの不等式 (Lp-ノルム(ただし、以外)に対する三角不等式の一般化 p=2)によって示されるように、実際の累積誤差の上界となる。

一般的なLpノルム( p=2 以外)は内積ノルムではないので平行四辺形の法則を 満たさない。 したがって、累積誤差の上限としてミンコフスキー不等式を使わなければならない。

パラメーター

  • observable_idx (int) – 累積誤差を計算する観測値のインデックス。
  • slice_idx (int | None) – 累積誤差を計算するスライス(離散的な「時間」ステップ)のインデックス。 これが None の場合、デフォルトは self.num_backpropagated_slices 。これは、アルゴリズムの停止基準を超えていない最新の時点における観測値の累積誤差を計算することと同じである

戻り値

上記の説明に従って計算された累積誤差。

戻りの型

浮動小数点

from_json

classmethod from_json(json_file)

GitHub

jsonファイルからメタデータを読み込む。

パラメーター

json_file (str) – ロードするファイルへのパス。

戻り値

読み込まれたメタデータ。

戻りの型

OBPMメタデータ

left_over_error_budget

left_over_error_budget(observable_idx, slice_idx=None)

GitHub

与えられた "時間 "における、与えられた観測値に対する、残されたエラーバジェットを計算する。

この方法は、バックプロパゲーションの過程で、与えられた "時間 "において、与えられた観測可能なインデックスに対して残されたエラーバジェットを計算する。 ここでいう "時間 "とは、バックプロパゲートされたスライスの離散的なステップのことである。

残りの誤差予算は、総予算から個々の誤差予算の合計を差し引いた残額として計算される SliceMetadata.slice_errors。 これらは、指定された範囲内で計算される可能性があります TruncationErrorBudget.p_norm

の説明も参照されたい。 accumulated_error() を参照されたい。個々のスライスの誤差がどのように合計され、ミンコフスキー不等式によって実誤差の上界が形成されるかの詳細については、以下の説明を参照されたい。

残されたエラー予算は、 self.truncation_error_budget.max_error_total の値に対する相対的なものである。 numpy.inf の場合は、このメソッドの戻り値も numpy.inf になる。

パラメーター

  • observable_idx (int) – 誤差予算を計算する観測値のインデックス。
  • slice_idx (int | None) – 残されたエラーバジェットを計算するスライス(離散的な "時間 "ステップ)のインデックス。 これが None の場合、デフォルトは self.num_backpropagated_slices 。これは、アルゴリズムの停止基準を超えていない最新の時点で、観測可能なエラーバジェットの残りを計算することと同じである

戻り値

上記の説明に従って計算された誤差予算。

戻りの型

浮動小数点

to_json

to_json(json_file, **kwargs)

GitHub

このメタデータをjsonファイルにダンプする。

パラメーター

  • json_file (str) – メタデータをダンプするファイルへのパス。
  • kwargs - json.dump() に渡されるキーワード引数。

戻りの型

なし

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