Skip to main content
IBM Quantum Platform

qiskit_noise_learning.analysis.Fit

class qiskit_noise_learning.analysis.Fit(*, model: LinearMap[Hashable, FidelityIndex] | None = None, paths: list[Path] | None = None, instruction_sequences: list[InstructionSequence] | None = None, relations: set[tuple[int, int]] | None = None, _store: dict[type[LeveledData], list[LeveledData | AbsentType | SkippedType]] | None = None)

GitHub

ベース: object

分析階層の各レベルにおけるデータを格納するコンテナ。

これらは、処理されたデータのさまざまな段階を表 LEVELS しています。 順に、以下の通りです:

  • RawData 実行された命令シーケンスのビット数に対応する。
  • ObservableData 命令シーケンスを辿る経路のランダム化に対応する観測量。
  • AggregatedObservableData 無作為化ごとに集計された観測量の組み合わせに対応する。
  • ModelData モデル適合パラメータに対応する。

各レベルには、そこに書き込まれたすべての値の履歴が保持されており、現在の値は常に最新のものです。 新しいレベルは から始まります Absent。 そのステージでスキップされたレベルにはマークが付いています Skipped。

例:

result = my_stage.run(my_raw_data)
result.raw_data           # current RawData
result.history.raw_data   # full write history at the RawData level

パラメーター

  • モデル – 推定対象のモデル。 指定される場合、それはフィデリティモデル、すなわち出力空間 LinearMap が であるものでなければならない( LogFidelitySpace 参照 is_fidelity_model())。
  • paths – 分析対象のパス。
  • instruction_sequences – 実験で使用された命令シーケンス。
  • 関係 – どの命令シーケンスがどのパスを辿るかを示す、事前に計算されたタプ (path_idx, sequence_idx) ルの集合。

昇給

TypeError – model が ではなく、 None かつフィデリティモデルでもない場合。

__init__

__init__(*, model: LinearMap[Hashable, FidelityIndex] | None = None, paths: list[Path] | None = None, instruction_sequences: list[InstructionSequence] | None = None, relations: set[tuple[int, int]] | None = None, _store: dict[type[LeveledData], list[LeveledData | AbsentType | SkippedType]] | None = None)


方法

コラム「 1 」
コラム「 2 」
__init__(*[, model, paths, ...])
copy()各レベルにおける完全な履歴を保持したコピーを返す。
plot_qubit_pair_decays([pairs, ...])このフィットのデータに基づいて、量子ビットペアごとの忠実度の減衰を示すグリッドをプロットする。

属性

コラム「 1 」
コラム「 2 」
aggregated_observable_data当該レベル AggregatedObservableData における最新のデータ。
history各レベルごとの書き込み履歴の全記録。
instruction_sequences実験で使用された命令シーケンス、または設定されていない None 場合は。
model設計行列の構築に使用されたフィデリティモデル。
model_data当該レベル ModelData における最新のデータ。
observable_data当該レベル ObservableData における最新のデータ。
paths観測可能量の計算を行うためのパス。
raw_data当該レベル RawData における最新のデータ。
relationsパスとシーケンスの関係、または設定されていない None 場合は。

copy

copy() → Self

各レベルにおける完全な履歴を保持したコピーを返す。

history

タイプ: FitHistory

各レベルごとの書き込み履歴の全記録。

model

タイプ: LinearMap[Hashable, FidelityIndex] | None

設計行列の構築に使用されたフィデリティモデル。

raw_data

種類: RawData | AbsentType | SkippedType

当該レベル RawData における最新のデータ。

observable_data

種類: ObservableData | AbsentType | SkippedType

当該レベル ObservableData における最新のデータ。

aggregated_observable_data

種類: AggregatedObservableData | AbsentType | SkippedType

当該レベル AggregatedObservableData における最新のデータ。

model_data

種類: ModelData | AbsentType | SkippedType

当該レベル ModelData における最新のデータ。

paths

タイプ: list[Path]

観測可能量の計算を行うためのパス。

instruction_sequences

タイプ: list[InstructionSequence] | None

実験で使用された命令シーケンス、または設定されていない None 場合は。

relations

タイプ: set[tuple[int, int]] | None

パスとシーケンスの関係、または設定されていない None 場合は。

plot_qubit_pair_decays

plot_qubit_pair_decays(pairs: Sequence[tuple[int, int]] | None = None, *, restrict_to_qubits: Iterable[int] | None = None, observable_type: Literal['raw', 'means', 'both'] | None = None, exponential_fit: bool = False, model_prediction: bool = False, observable_marker_kwargs: Mapping[str, object] | None = None, means_marker_kwargs: Mapping[str, object] | None = None, exponential_fit_line_kwargs: Mapping[str, object] | None = None, model_line_kwargs: Mapping[str, object] | None = None, num_cols: int = 3, noise_site: Mapping[str, Literal['before', 'after']] | None = None, paths: Sequence[Path] | None = None, fragment_depths: Sequence[float] | None = None, title: str | None = None) → InteractiveFigure

このフィットのデータに基づいて、量子ビットペアごとの忠実度の減衰を示すグリッドをプロットする。

1組につき1つのサブプロットとし、組間でラベルや色を共有する。 どの崩壊が描写されるかは、以下のトグルスイッチで制御されます。すべてデフォルトではオフになっているため、必要なものをオンにしてください。 このフィッティングにおいて、データがまだ計算されていない要求された減衰は、警告を表示してスキップされます。

パラメーター

  • pairs – プロットする量子ビットのペア。各ペアごとに1つのサブプロットが表示されます。 ペアには順序がない―― は と同じサブプロット (1, 0) を指す―― (0, 1) ため、同じペアが重複することはない。 デフォルトでは、このフィットで設定されたゲートの結合マップのペアのうち、その範囲内にあり qubit_subset、かつ描画されている崩壊のうち少なくとも1つを含むもののみが選択されます。
  • restrict_to_qubits – オプションの量子ビットインデックスのセット。このセットに含まれる量子ビットのみを対象に pairs 絞り込むためのものです。
  • observable_type – 実測データをどのように描画するか: "raw" (ランダム化ごとの未加工の散布図)、 "means" (フラグメント深度ごとの平均値と誤差棒)、 "both"、または None (デフォルト)で実測点を省略する。 このフィットの.を使用します ObservableData。
  • exponential_fit – このフィットの( AggregatedObservableData そのフィットのパラメータ)に基づいて、適合 fragment_depth == -1 された指数関数的減衰曲線を描画するかどうか。 デフォルトは False. です。
  • model_prediction – このフィットのモデルと に基づいて、モデル予測の減衰曲線を描画するかどうか ModelData。 デフォルトは False. です。
  • observable_marker_kwargs – オプション。生のオブザーバブルのデータポイントに対する上書き marker 設定。
  • means_marker_kwargs – オプション。オブザーバブルの平均値ポイントに対する上書き marker 設定。
  • exponential_fit_line_kwargs – 指数関数フィットの曲線に対する、オプションのオーバーライド line 設定。
  • model_line_kwargs – モデル曲線に対するオプションのオーバーライド line 。
  • num_cols – サブプロットの列数。行数はペアの数から算出される。
  • noise_site – ラベルフォーマッタに渡される、オプションのノイズ・サイトマッピング(デフォルトのラベル "formula" スタイルでは、これによりコンパクトなラベル f^{gate}_{pauli} が生成されます)。 フィット対象のモデルが単一である場合、または単一のモデルを含む場合、デフォルトではそのモデルのノイズサイトが設定されます PauliLindbladModel。
  • パス – すべてのレイヤーに描画するパス。 デフォルトでは、このフィットの観測データ/集計観測データに見られる減衰経路が使用され、そのようなデータが存在しない場合は paths 、フィット独自の減衰経路が使用されます。 これを入力すると、モデルのみを考慮したフィットのモデル予測曲線が描画されます(パス導出のための観測データや集計観測データは含まれません)。
  • fragment_depths – 曲線のフラグメント深度の範囲。 デフォルトでは、利用可能な実測データの中で最大のフラグメント深度まで 0 、あるいは実測データが存在しない場合は 0–10 となります。
  • title – 図のタイトル(任意)。

戻り値

インタラクティブな凡例付きの図。

昇給

  • ValueError – フィットにラベルを生成するためのモデル(したがってゲートセット)がない場合、または同じペアに2回名前 pairs が付けられている場合。
  • ValueError – が指定 pairs されておらず、かつデフォルト値を導き出すことができない場合。
  • ValueError – が restrict_to_qubits すべてのペアを除外した場合。
  • ImportError – matplotlib がインストールされていない場合。
このページは役に立ちましたか?
バグや誤字の報告、またはコンテンツの要求はGitHubで行ってください。