メインコンテンツへスキップ

オプションの概要

プリミティブにオプションを渡すことで、ニーズに合わせてカスタマイズできます。このセクションでは Qiskit Runtime プリミティブのオプションに焦点を当てています。プリミティブの run() メソッドのインターフェースはすべての実装で共通ですが、オプションは実装によって異なります。qiskit.primitives および qiskit_aer.primitives のオプションについては、対応する API リファレンスを参照してください。

概要

構造

プリミティブを呼び出す際、オプションクラスまたは辞書を使用してオプションを渡すことができます。resilience_level などの一般的によく使われるオプションは第一レベルにあります。その他のオプションは execution などのカテゴリにグループ化されています。詳細については プリミティブオプションの設定 セクションをご覧ください。

デフォルト値

オプションの値を指定しない場合、Unset という特殊な値が与えられ、サーバーのデフォルト値が使用されます。そのため、デフォルト値はコードのバージョンに関わらず同じになります。

オプションクラスのまとめ セクションの表にデフォルト値が記載されています。

オプションの設定

オプションはプリミティブの構築前に定義してプリミティブに渡すことができます。プリミティブはそのコピーを作成します。これはネストされた辞書として行うか、オプションクラスを使用して行うことができます。また、プリミティブの構築後にオプションを変更することも可能です。アプリケーションに最も適したワークフローをご使用ください。詳細については オプションの指定 をご覧ください。

オプションクラスのまとめ

  • ダイナミカルデカップリング: ダイナミカルデカップリングのオプション。
  • 環境: 設定するログレベルや追加するジョブタグなど、実行環境のオプション。
  • 実行: Qubit の初期化の有無や繰り返し遅延など、プリミティブ実行のオプション。
  • レジリエンス: 測定エラー軽減、ZNE、PEC などのエラー軽減手法を設定するための高度なオプション。
  • シミュレーター: 基底 Gate、シミュレーターシード、結合マップなどのシミュレーターオプション。ローカルテストモード のみに適用されます。
  • ツワーリング: 2-Qubit Gate ツワーリングの適用可否や各ランダムサンプルの実行ショット数などのツワーリングオプション。

利用可能なオプション

以下の表は qiskit-ibm-runtime の最新バージョンのオプションを説明しています。古いオプションのバージョンを確認するには、qiskit-ibm-runtime API リファレンス にアクセスして以前のバージョンを選択してください。

default_shots

Circuit ごと、設定ごとに使用するショットの合計数。

選択肢: 整数 >= 0

デフォルト: None

default_shots API ドキュメント

default_precision

精度を指定していない PUB や run() 呼び出しに使用するデフォルトの精度。

選択肢: 浮動小数点数 > 0

デフォルト: 0.015625 (1 / sqrt(4096))

default_precision API ドキュメント

dynamical_decoupling

ダイナミカルデカップリングのエラー軽減設定を制御します。

dynamical_decoupling API ドキュメント

dynamical_decoupling.enable

選択肢: True, False

デフォルト: False

dynamical_decoupling.extra_slack_distribution

選択肢: middle, edges

デフォルト: middle

dynamical_decoupling.scheduling_method

選択肢: asap, alap デフォルト: alap

dynamical_decoupling.sequence_type

選択肢: XX, XpXm, XY4 デフォルト: XX

dynamical_decoupling.skip_reset_qubits

選択肢: True, False デフォルト: False

environment

environment API ドキュメント

environment.callback

Job IDJob result を受け取るコールバック関数。

選択肢: None

デフォルト: None

environment.job_tags

タグのリスト。

選択肢: None

デフォルト: None

environment.log_level

選択肢: DEBUG, INFO, WARNING, ERROR, CRITICAL

デフォルト: WARNING

environment.private

選択肢: True, False

デフォルト: False

execution

execution API ドキュメント

execution.init_qubits

各ショットでQubitを基底状態にリセットするかどうか。

選択肢: True, False

デフォルト: True

execution.rep_delay

測定と後続の量子 Circuit の間の遅延時間。

選択肢: backend.rep_delay_range で提供される範囲内の値

デフォルト: backend.default_rep_delay によって指定される値

max_execution_time

選択肢: [1, 10800] の範囲の整数(秒単位)

デフォルト: 10800(3時間)

max_execution_time API ドキュメント

resilience

レジリエンス戦略を細かく調整するための高度なレジリエンスオプション。

resilience API ドキュメント

resilience.layer_noise_learning

レイヤーノイズの学習に関するオプション。

resilience.layer_noise_learning API ドキュメント

resilience.layer_noise_learning.layer_pair_depths

選択肢: [0, 200] の範囲の 2〜10 個の値を持つ list[int]

デフォルト: (0, 1, 2, 4, 16, 32)

resilience.layer_noise_learning.max_layers_to_learn

選択肢: None、整数 >= 1

デフォルト: 4

resilience.layer_noise_learning.num_randomizations

選択肢: 整数 >= 1

デフォルト: 32

resilience.layer_noise_learning.shots_per_randomization

選択肢: 整数 >= 1

デフォルト: 128

resilience.layer_noise_model

選択肢: NoiseLearnerResult, Sequence[LayerError]

デフォルト: None

resilience.measure_mitigation

選択肢: True, False

デフォルト: True

resilience.measure_noise_learning

測定ノイズ学習のオプション。

resilience.measure_noise_learning API ドキュメント

resilience.measure_noise_learning.num_randomizations

選択肢: 整数 >= 1

デフォルト: 32

resilience.measure_noise_learning.shots_per_randomization

選択肢: 整数、auto

デフォルト: auto

resilience.pec_mitigation

選択肢: True, False

デフォルト: False

resilience.pec

確率的エラーキャンセル(PEC)軽減のオプション。

resilience.pec API ドキュメント

resilience.pec.max_overhead

選択肢: None、整数 >= 1

デフォルト: 100

resilience.pec.noise_gain

選択肢: auto、[0, 1] の範囲の浮動小数点数

デフォルト: auto

resilience.zne_mitigation

選択肢: True, False

デフォルト: False

resilience.zne

resilience.zne.amplifier

選択肢: gate_folding, gate_folding_front, gate_folding_back, pea

デフォルト: gate_folding

resilience.zne.extrapolated_noise_factors

選択肢: 浮動小数点数のリスト

デフォルト: [0, *noise_factors]

resilience.zne.extrapolator

選択肢: 以下のうち1つ以上: exponential, linear, double_exponential, polynomial_degree_(1 <= k <= 7), fallback

デフォルト: (exponential, linear)

resilience.zne.noise_factors

選択肢: 浮動小数点数のリスト(各浮動小数点数 >= 1)

デフォルト: PEA の場合 (1, 1.5, 2)、それ以外の場合 (1, 3, 5)

resilience_level

エラーに対するレジリエンスの強度。レベルが高いほど、処理時間は長くなりますが、より正確な結果が得られます。

選択肢: 0, 1, 2

デフォルト: 1

resilience_level API ドキュメント

seed_estimator

選択肢: 整数

デフォルト: None

seed_estimator

simulator

バックエンドをシミュレートする際に渡すオプション

simulator API ドキュメント

simulator.basis_gates

選択肢: アンロール先の基底ゲート名のリスト

デフォルト: Qiskit Aer シミュレーター がサポートするすべての基底ゲートのセット

simulator.coupling_map

選択肢: 有向 2 Qubit 相互作用のリスト

デフォルト: None(接続制約なし、完全接続を意味します)

simulator.noise_model

選択肢: Qiskit Aer NoiseModel、またはその表現

デフォルト: None

simulator.seed_simulator

選択肢: 整数

デフォルト: None

twirling

Twirling オプション

twirling API ドキュメント

twirling.enable_gates

選択肢: True、False

デフォルト: False

twirling.enable_measure

選択肢: True、False

デフォルト: True

twirling.num_randomizations

選択肢: auto、1 以上の整数

デフォルト: auto

twirling.shots_per_randomization

選択肢: auto、1 以上の整数

デフォルト: auto

twirling.strategy

選択肢: activeactive-circuitactive-accumall

デフォルト: active-accum

experimental

利用可能な場合の実験的オプション。

機能の互換性

デバイスのコンパイルプロセスの違いにより、特定のランタイム機能は 1 つのジョブ内で同時に使用できない場合があります。以下の各タブを選択すると、選択した機能と互換性のない機能のリストを確認できます。

互換性のない機能:

  • Gate-folding ZNE
  • PEA
  • PEC
  • 動的デカップリング

その他の注意事項:

  • 非条件ゲートに対しては Gate twirling と組み合わせて使用できます。
  • qiskit-ibm-runtime v0.42.0 以降を使用する場合、分数ゲートと互換性があります。

次のステップ

おすすめ