Quantum Elements Orbit API リファレンス
Qiskit Functions — パートナー組織によって開発された既製のツール — ソフトウェア開発ワークフローの一部を抽象化することで、ユーティリティ規模でのアルゴリズムの発見やアプリケーション開発を簡素化し、加速させます。 このQiskit関数のガイドを表示するには、ここをクリックしてください。
『Quantum Elements』オービットガイド
Quantum Elements Orbit は、選択された IBM Quantum® バックエンド向けに量子回路を準備し、スケジュールされたアイドルウィンドウに動的デカップリング(DD)を挿入し、その結果得られたワークロードを IBM Quantum プリミティブを通じて実行するQiskit関数です。 Orbitは、SamplerおよびEstimatorのPUBを受け入れ、トップレベルの結果および各 Primitive Unified Bloc( PUB ) の結果に、Orbit固有のメタデータが PrimitiveResult 添付された標準形式の結果を返します。
が省略 backend_name された場合、Orbitは、 IBM Quantum Compute Serviceで利用可能な、条件を満たす最も負荷の低い IBM Quantum バックエンドを選択します。 が省略 options された場合、またはの場合 None、Orbitは組み込みのデフォルト設定を使用します。具体的には、回路のトランスパイルとスケジューリングを行い、デフォルトのDD戦略を挿入し、サービスに送信し、結果にDD挿入メタデータを付加します。
入力
一般的な呼び出しでは、PUBを送信し、プリミティブを選択し、必要に応じてバックエンドを選択し、さらに必要に応じてOrbit固有のオプションを渡します:
job = orbit.run(
primitive="sampler",
pubs=[pub, pub, pub],
backend_name="ibm_boston",
options={
"pub_options": [
{"mode": "raw"},
{"mode": "orbit"},
{
"mode": "custom",
"dd_strategy": [[{"dd_sequence": "CPMG", "pulse_density": 1.00, "dd_reps": 1}]],
"transpilation_mode": "optimize",
"mem": True,
},
]
},
)
result = job.result()pubs 実行に必要な回路とプリミティブ入力を提供します。 primitive IBM Quantum プリミティブ契約を選択します。 backend_name IBM Quantum バックエンドを選択します。省略した場合は、Orbitが最も負荷の低いバックエンドを選択します。 options OrbitのDD挿入、量子コンピューティングのオプション、プレビュー/シミュレータの動作、およびメタデータ機能を制御します。 各入力項目の詳細については、以下をご覧ください。
pubs
タイプ: Iterable[SamplerPubLike] or Iterable[EstimatorPubLike]
選択されたプリミティブに一致する 1 つ以上の PUB。
- 必須:はい
- 有効な入力型:Sampler PUB のようなオブジェクトの反復可能オブジェクト、または Estimator PUB のようなオブジェクトの反復可能オブジェクト
各 PUB は、選択されたプリミティブの入力契約と一致している必要があります。
(circuit, parameter_values, shots)「Forprimitive="sampler": each」 PUB は、次のような「 Sampler PUB 」シェイプに従います。(circuit, observables, parameter_values, precision)``primitive="estimator"各 PUB は、 Estimator PUB の形状に従います。例えば、.- デフォルト
options.transpilation_mode="optimize"のパスでは、回路がISA回路である必要はありません。Orbitが内部でそれらをトランスパイルおよびスケジューリングを行います。
primitive
タイプ: str
Orbitが実行に使用する IBM Quantum プリミティブを選択します。
- 必須:はい
- 有効な入力タイプ:
str
プリミティブは、各 PUB がどのような内容を含まなければならないか、およびそれぞれ PubResult がどのような結果データを返すかを決定します。
- 選択肢:
"sampler"/"estimator" - サンプリングされたビット文字列データには、`` を使用
"sampler"してください。 - 期待値と標準誤差には を使用
"estimator"してください。
backend_name
タイプ: str or None
デフォルト値: None
実行する IBM Quantum バックエンドの名前。
-
必須:いいえ
-
デフォルト値:
None -
有効な入力タイプ:
strまたはNone -
least_busy()``None省略された場合、または、Orbit は、条件を満たす動作可能な非シミュレータ・バックエンドを で解決します。 -
例:
"ibm_boston"
options
タイプ: dict or None
デフォルト値: None
Orbitの実行動作を制御する、機能固有のオプション。
- 必須:いいえ
- デフォルト値:
None - 有効な入力タイプ:
dictまたはNone
オプションでは、トランスパイレーション、DDの挿入、Quantum Computeのオプション、プレビューモード、シミュレータモード、バックエンド情報のエクスポート、および測定誤差の軽減を制御します。
- 不明なオプションキーは拒否されます。
{}``None「,」または「」を指定するか、省略optionsしてすべてのデフォルト設定を使用します。- 例:
{
"pub_options": [
{"mode": "raw"},
{"mode": "orbit"},
{
"mode": "custom",
"dd_strategy": [[{"dd_sequence": "CPMG", "pulse_density": 1.00, "dd_reps": 1}]],
"transpilation_mode": "optimize",
"mem": True
}
]
}オプション・リスト
preview
タイプ: bool
デフォルト値: False
Orbitが、Quantum Computeジョブを送信せずにDD挿入レポートを返すかどうか。
-
必須:いいえ
-
デフォルト値:
False -
有効な入力タイプ:
bool -
Trueこの場合、QPU時間は使用されず、orbitは単に回路を前処理し、pubs挿入レポートを提供するだけです。 -
False(デフォルト値)の場合、Orbitで修正された回路を含むQuantum Computeジョブが送信され、処理されます。 -
Trueとsimulatorの両preview方が の場合、プレビューモードが優先され、シミュレータの実行は無視されます。
debug_return_circuits
タイプ: bool
デフォルト値: False
プレビューモードでは、各 PUB のメタデータに、Orbit後の回路が準備されているかどうかが表示されます。
-
必須:いいえ
-
デフォルト値:
False -
有効な入力タイプ:
bool -
preview=True. の場合にのみ使用されます。 -
debugCircuit.usedQubits``debugCircuit.circuit``True各 PUB レポートには、、、および操作回数が含まれます。 また、Qiskitが回路をエクスポートできる場合は、ベストエフォートdebugCircuit.qasm方式も含まれます。 -
通常の実行時には、回路のペイロードが大きくなる可能性があるため、この設定は無効のままにしておいてください。
transpilation_mode
タイプ: string
デフォルト値: optimize
Orbit社では、DD挿入の前に PUB 回路をどのように準備しているか。
-
必須:いいえ
-
デフォルト値:
"optimize" -
有効な入力値:
"optimize","prepare", または"validate" -
"optimize"Qiskitoptimization_level=2によるトランスパイレーションを繰り返し実行し、静的回路および動的回路について、2量子ビットの深さが最も浅い候補を保持します。 -
"prepare"Qiskitoptimization_level=0の準備とALAPのスケジューリングを実行します。 が指定された場合physical_layout、Orbit はまずその物理ワイヤインデックス上に回路をマテリアライズし、Qiskit の単純なレイアウト手法を使用します。 -
"validate"入力回路がすでに物理的に準備済みであるとみなす。 Orbit は、可能な範囲でバックエンドとの互換性を検証しますが、DD の挿入前にリマップ、ルーティング、最適化、またはスケジュール修正は行わず、警告を表示して無視physical_layoutします。
physical_layout
タイプ: object or null
デフォルト値: None
論理キュービットから物理キュービットへのマッピングは任意である。
- 必須:いいえ
- デフォルト値:
None - 有効な入力型:キーと値が非負の整数であるオブジェクト、または
None
例: {"0": 85, "1": 89} 論理量子ビット 0 を物理量子ビット 85 に、論理量子ビット 1 を物理量子ビット 89 に割り当てます。 Python 呼び出し元は整数のキーを使用できます。JSONオブジェクトのキーは文字列です。
- モードでは
"optimize"、これは初期レイアウトのシードとして渡され、最適化や配線処理の過程で最終的なマッピングが変更される場合があります。 layout_method="trivial"モードでは"prepare"、Orbitは回路をこれらの物理ワイヤインデックス上に具現化し、その後、 level-0 の準備を を使用して行います。 明示的なルーティングを行うSWAPは、実行中に量子状態を移動させる可能性があります。- モードでは
"validate"、指定された回路の配線が優先されるためphysical_layout、は警告とともに無視されます。
num_transpilation_steps
タイプ: int
デフォルト値: 300
transpilation_mode="optimize". における確率的トランスパイレーションのシード数、および Orbit の試行回数。
- 必須:いいえ
- デフォルト値:
300 - 有効な入力型:正の整数
mem
タイプ: bool or None
デフォルト値: None
Orbitが、 M3 を使用して、サンプラーのみによる測定誤差の低減を行っているかどうか。
-
必須:いいえ
-
デフォルト値:
None -
有効な入力タイプ:
boolまたはNone -
sampler``Trueが、からのショットに対して測定誤差の低減を適用する場合。 -
Falseの場合、ショットの後処理は行われません。 -
None「When」の場合、オービットモードでは実行されたサンプラーPUBに対してMEMが有効になりますが、rawモードおよびカスタムモードでは、設定されていない限りMEMはスキップされます。 -
simulator=False``preview=False``primitive="sampler"Explicit には、、True、およびが必要です。 -
Raw Samplerのカウント数は保持され、軽減されたカウント数がOrbitのメタデータに添付されます。
-
後処理中に緩和措置が失敗した場合、Orbitは未加工の結果を保持し、メタデータに緩和措置の失敗を記録します。
pub_options
タイプ: list[dict] or None
デフォルト値: None
PUB の実行モードおよびオーバーライドについて。
-
必須:いいえ
-
デフォルト値:
None -
有効な入力タイプ:
list[dict]またはNone -
1つのエントリをすべてのPUBにブロードキャストします。それ以外の場合は、 PUB ごとに1つのエントリを渡します。
-
{"mode": "raw"}静的回路や動的回路に対して、Qiskitoptimization_level=0による単一のトランスパイレーションおよびスケジューリング処理を行い、Orbitの最適化、Orbit DD、動的DD、およびMEMをスキップします。 -
{"mode": "orbit"}Orbitのデフォルト設定を使用します。 -
dynamic_dd_seq``dd_strategy``dd_qubits``physical_layout``transpilation_mode``{"mode": "custom"}その PUB に対して、、、、、、、およびmemを上書きすることができます。 -
physical_layout=NoneRawモードでは、常に と を使用transpilation_mode="prepare"し、Orbit DDをスキップし、グローバルな準備オプションを無視します。 -
Orbit およびカスタム PUB は、 PUB に従ってそれらを上書きしない限り、グローバルな
transpilation_modeおよびphysical_layoutを継承します。 -
複製したPUBを と組み合わせて使用することで
pub_options、1つのQuantum Computeジョブ内で、生データ、Orbitのデフォルト設定、およびカスタムDD戦略を比較することができます。 単純なCPMGベースラインについては、カスタム PUB の内部{"dd_sequence": "CPMG", "pulse_density": 1.00, "dd_reps": 1}で以下を使用してくださいdd_strategy。
発信者側で準備された回線の場合、Orbit対応のPUBでは以下を使用 transpilation_mode="validate" してください:
options = {
"pub_options": [
{"mode": "raw"},
{"mode": "orbit", "transpilation_mode": "validate"},
{
"mode": "custom",
"transpilation_mode": "validate",
"dd_qubits": None,
"dd_strategy": [[{"dd_sequence": "CPMG", "pulse_density": 1.00, "dd_reps": 1}]],
"mem": False,
},
]
}dd_strategy
タイプ: list[list[dict]]
PUB 回路に適用するためのDD戦略を順序付けました。
-
必須:いいえ
-
デフォルト値:
[[{"dd_sequence": "auto", "pulse_density": 0.25, "dd_reps": 1}]] -
有効な入力タイプ:
list[list[dict]] -
選択肢:空でない戦略リストの集合からなる、空でない外側のリスト。
-
外側のリストは、PUBまたは回路をインデックス付けしています。 戦略が1つだけ指定された場合、Orbitはその戦略をすべてのPUBにブロードキャストします。
-
各内部リストは、ラウンドごとに同じ回路に対して適用されます。
-
1``0.25``dd_sequence各ラウンドには が必要です。pulse_densityデフォルトは です。dd_repsデフォルトは です。
dd_strategy 丸い畑
タイプ: str or dict or list
dd_sequenceフィールド:1回のDDラウンドで挿入するシーケンス。- 必須:はい
str有効な入力タイプ:、dict、またはカスタムパルスグループlist[[0.0], ["Y"], ["Xb", 0.5]]``{"name": "ur", "variant": "8"}``"auto"選択肢:、組み込みのシーケンス名、のようなバリアント辞書、またはのようなカスタムパルスグループのリスト。"KDD"``"superEuler"``"XY8"``"superCPMG"``"superHahn"パルススロットごとに分類された固定の組み込み名を以下に示します。2スロットのシーケンスは"CPMG","pureY", および です。4スロットのシーケンスは"XY4"および です。8スロットのシーケンスは です。16スロットのシーケンスは です。20スロットのシーケンスは です。- パラメータ化された組み込みファミリ:
"CDD-n"整数n >= 1を持つもの("CDD-1"は と同等であり、"XY4"この数列は再帰的に増加する);"UR-n"あるいは"URn"、偶数n >= 4を持つもの(例:"UR-8"または"URn8");および"T-n"、"Tn"偶数n >= 2を持つもの(例:"T-8"または"Tn8")。 - RGAの組み込みバリアント:
"RGA-2x","RGA-4","RGA-4p","RGA-8a""RGA-8c","RGA-16a",,"RGA-16b","RGA-32a","RGA-32c","RGA-64a","RGA-64c", および"RGA-256a"。 - 組み込みのシーケンス名では、大文字と小文字は区別されず、ハイフンやアンダースコアなどの区切り文字も無視されます。
"UR8"例えば、"RGA-8a"と"rga8a"は同値であり、 と も同様である"UR-n-8"。 - カスタム数値入力は、xy平面におけるπ回転の角度(πを単位とする)を表します。
0.0は +X で0.5、は +Y です。 "Yb"``"Xb"``"Y"``"X"カスタム文字列エイリアスには、、、、およびが含まれます。
タイプ: float
pulse_densityフィールド:このラウンドのDDパルスに使用可能な、各アイドルギャップの割合。- 必須:いいえ
- デフォルト値:
0.25 - 有効な入力タイプ:
floatまたはint - 選択肢:~から
0.0~まで浮遊する1.0 0.0そのラウンドでは、ギャップを埋めないままにします。1.0シーケンスのタイミングが許す限り、パルスを高密度に詰め込みます。
タイプ: int
デフォルト値: 1
dd_repsフィールド:各対象となるアイドルギャップ内で、このラウンドのDDシーケンスが繰り返された回数。- 必須:いいえ
- デフォルト値:
1 - 有効な入力タイプ:
int - 選択肢:1以上の整数
dynamic_dd_seq
タイプ: str or dict or list or None
デフォルト値: XY8
Orbitの動的回路フィードフォワードDD挿入に使用されるDDシーケンス。
-
必須:いいえ
-
デフォルト値:
"XY8" -
有効な入力タイプ:
str,dict, カスタムパルスグループlist, またはNone -
dd_strategy[].dd_sequence選択肢:「」と同じシーケンス形式、またはNone「」を選択すると、動的なフィードフォワード挿入ステージが無効になります。 -
Orbitが条件分岐や制御フローを検出し、動的回路(DD)パイプラインを使用する場合に適用されます。
-
まず通常の
dd_strategyパスが実行され、その後、Orbitがこのシーケンスをラベル付けされた動的なフィードフォワード領域全体に適用します。
dd_qubits
タイプ: list[int] or None
デフォルト値: None
Orbit DDへの挿入対象となる量子ビットインデックスのグローバル許可リスト。
-
必須:いいえ
-
デフォルト値:
None -
有効な入力タイプ:
list[int]またはNone -
選択肢:
Noneまたは 0 以上の整数のリスト -
Noneアクティブなクビット、またはタッチされたクビットのみを対象とします。 -
リストには「アイドル専用」の量子ビットを含めることができ、リストに記載されていない量子ビットは除外されます。
-
orbit``pub_options[i].dd_qubitsこの値は、customPUB のエントリ内で上書きすることができます。 -
"validate"明示的な許可リストは、解決済みがtranspilation_modeであるOrbit対応PUBに対してのみ指定可能であり、これにより呼び出し元が物理量子ビットのインデックスを所有することになります。dd_qubitsRaw PUBはOrbit DDをスキップし、.を受け付けません。
save_backend_info
タイプ: bool
デフォルト値: False
Quantum Computeジョブの実行後、Orbitがバックエンドのキャリブレーションプロパティを保存するかどうか。
-
必須:いいえ
-
デフォルト値:
False -
有効な入力タイプ:
bool -
選択肢:
True/False -
/data``service.job(job_id).properties()有効にすると、Orbit はクエリを実行し、シリアライズされたバックエンドのプロパティを に書き込み、保存されたパスを Orbit メタデータに記録します。 -
失敗は警告として報告され、それ以外が正常に完了したプリミティブの結果は破棄されません。
default_shots
タイプ: int
デフォルト値: 4096
ショットを明示的に指定していないサンプラーPUBで使用されるデフォルトのショット。
-
必須:いいえ
-
デフォルト値:
4096 -
有効な入力タイプ:
int -
選択肢:0より大きい整数
-
primitive="sampler". にのみ適用されます。
default_precision
タイプ: float
デフォルト値: 0.015625
精度を明示的に指定していないEstimator PUBに対して使用されるデフォルトのターゲット精度。
-
必須:いいえ
-
デフォルト値:
0.015625 -
有効な入力タイプ:
floatまたはint -
選択肢:Float > 0
-
primitive="estimator". にのみ適用されます。
runtime_options
タイプ: dict
IBM Quantum 基底となる SamplerV2 または EstimatorV2 プリミティブに渡されるプリミティブオプション。
-
必須:いいえ
-
デフォルト値:
{"resilience_level": 0, "dynamical_decoupling": {"enable": false}} -
有効な入力タイプ:
dict -
選択したプリミティブに対する高度なオプションや実験的なオプションを含め、ネストされたオプション辞書が使用可能です。
-
実行時の動的デカップリングはデフォルトで無効になっているため、ユーザーが明示的に有効にしない限り、OrbitによるDD挿入が唯一のDDパスとなります。
たとえば、Samplerの上級ユーザーは、動的回路デバッグフィールドを有効にすることができます:
options = {
"runtime_options": {
"experimental": {
"execution": {
"scheduler_timing": True,
"stretch_values": True,
}
}
}
}- 警告: したがって、この値を変更する際は注意を払い、DDを除外したまま、手動で「トゥワリング」などの特定の機能を有効にするようにしてください。
resilience_level
タイプ: int or None
デフォルト値: 0
推定器の実行時の耐障害性レベル。
-
必須:いいえ
-
デフォルト値:
0 -
有効な入力タイプ:
intまたはNone -
選択肢:
0/1/2/None -
対象は
primitive="estimator". -
ランタイムオプションを設定しない場合は、を使用
Noneしてください。 -
primitive="sampler"に設定された場合、Orbit はその設定を無視し、Orbit メタデータに警告を追加します。
dynamical_decoupling
タイプ: dict
Quantum Compute に渡される動的デカップリングのオプション。
- 必須:いいえ
- デフォルト値:
{"enable": false} - 有効な入力タイプ:
dict
enable
タイプ: bool
デフォルト値: False
Orbit DDの挿入に加えて、DD qiskit-ibm-runtime を有効にするかどうか。
-
必須:いいえ
-
デフォルト値:
False -
有効な入力タイプ:
bool -
選択肢:
True/False -
この機能を有効にすると、Orbit から警告が表示されます。これは、Runtime DD と Orbit DD を同時に適用すると、予期しない動作を引き起こす可能性があるためです。
sequence_type
タイプ: str or None
デフォルト値: None
オプションのランタイム DD シーケンス型。
- 必須:いいえ
- デフォルト値:
None - 有効な入力タイプ:
strまたはNone
提供された場合は、Quantum Compute に引き継がれます。
scheduling_method
タイプ: str or None
デフォルト値: None
オプションのランタイム DD スケジューリング方式。
- 必須:いいえ
- デフォルト値:
None - 有効な入力タイプ:
strまたはNone
提供された場合は、Quantum Compute に引き継がれます。
extra_slack_distribution
タイプ: str or None
デフォルト値: None
オプションのランタイム DD エクストラ・スラック配布。
- 必須:いいえ
- デフォルト値:
None - 有効な入力タイプ:
strまたはNone
提供された場合は、Quantum Compute に引き継がれます。
skip_reset_qubits
タイプ: bool or None
デフォルト値: None
リセット対象の量子ビットをスキップするかどうかを制御する、オプションのランタイムDD設定。
- 必須:いいえ
- デフォルト値:
None - 有効な入力タイプ:
boolまたはNone
提供された場合は、Quantum Compute に引き継がれます。
max_execution_time
タイプ: int or None
デフォルト値: None
Quantum Compute ジョブの最大実行時間に対するソフトキャップ。
- 必須:いいえ
- デフォルト値:
None - 有効な入力タイプ:
intまたはNone
値は秒単位で指定します。
- 選択肢:
Noneまたは 0 より大きい整数 Noneの場合、ランタイムのデフォルト値が使用されます。
simulator
タイプ: bool
デフォルト値: False
Orbitが、実際のQPUではなく、ローカルのAerシミュレータ上でワークロードを実行するかどうか。
- 必須:いいえ
- デフォルト値:
False - 有効な入力タイプ:
bool
シミュレータは関数コンテナ内で実行されます。
- 選択肢:
True/False Trueが のときはpreview無視される。- Orbitのメタデータが添付された通常の
PrimitiveResult値が返されます。
simulator_noise
タイプ: str
デフォルト値: backend
Trueが のとき simulator 、使用されるノイズモデル。
-
必須:いいえ
-
デフォルト値:
"backend" -
有効な入力タイプ:
str -
選択肢:
"backend"/"ideal" -
"backend"可能な場合は、を使用AerSimulator.from_backend(backend)します。 -
AerSimulator``"ideal"ノイズのないプレーンな.を使用します。
gate_dur
タイプ: int or None
デフォルト値: None
1つのDDゲートまたはパルスの持続時間。
-
必須:いいえ
-
デフォルト値:
None -
有効な入力タイプ:
intまたはNone -
警告: 明示的な値は、管理されたテストの場合、またはバックエンド固有の正当な理由がある場合にのみ使用してください。
-
この値は、バックエンドが遅延の計算に使用するのと同じ単位で表されます。通常は
dt. -
選択肢:
Noneまたは 0 より大きい整数 -
NoneOrbitは、より長いキャリブレーション済みのXまたはsqrt(X)のゲート持続時間を使用して、からbackend.targetバックエンドを意識した値を算出します。
出力
この関数は、入力ごとに1つの PubResultPUB を含むQiskit PrimitiveResult を返します。 quantum_elements_orbitOrbit は、選択されたプリミティブの法線結果データを保持し、. の下に Orbit メタデータを追加します。
タイプ: PrimitiveResult
標準仕様 PrimitiveResult で、Orbitメタデータが付加されています。
primitive="sampler"各PubResult.dataには、classical-register ビット配列などのサンプラーの結果データが含まれています。primitive="estimator"各PubResult.dataには、期待値や標準誤差などの推定結果データが含まれています。- プレビューモードでは、 IBM Quantum プリミティブが送信されていないため、各 は空になっています
PubResult.data。
最上位のメタデータ
metadata["quantum_elements_orbit"]
タイプ: dict[str, Any]
機能呼び出し全体の集計されたOrbitレポート。
functionVersion
タイプ: str
この結果を生成したOrbit Coreのバージョン。
preview
タイプ: bool
その結果がプレビューモードで生成されたものかどうか。
simulator
タイプ: bool
シミュレータモードが要求されたかどうか。
simulatorNoise
タイプ: str
シミュレータのノイズモード: "backend" または "ideal"。
primitive
タイプ: str
選択されたプリミティブ: "sampler" または "estimator"。
ddStrategy
タイプ: list[list[dict]]
この実行では、正規化DD戦略が使用されました。
pubOptions
タイプ: list[dict[str, Any]]
PUB ごとの実行モードとオーバーライドに関する問題を解決しました。 ddStrategy``dynamicDdSeq``ddQubits``orbitEnabled``mem``physicalLayout``transpilationMode各エントリには、 PUB のインデックス、モード、resolved、、、、、、、、、、および該当する場合は、 PUB ごとのresolvedが含まれます。
dynamicDdSeq
タイプ: str or dict or list or None
この実行に使用された動的回路フィードフォワードDDシーケンス。
ddQubits
タイプ: list[int] or None
この実行では、グローバル DD 量子ビットの許可リストのデフォルト設定が使用されました。 PUB ごとのレポートには、各 PUB に対する解決済みの許可リストが含まれています。
runtimeOptions
タイプ: dict[str, Any]
dynamicalDecouplingOrbit が適用を試みた実行時オプションには、および などが含まれます resilienceLevel 。
transpilationMode
タイプ: string
Orbit対応のPUBに対して、グローバル回路準備モードが要求されました。
physicalLayout
タイプ: dict or None
Orbit対応のPUBについて、論理レイアウトから物理レイアウトへのグローバルなマッピングが求められています。
numTranspilationSteps
タイプ: int
最適化されたトランスパイレーション用に設定された確率的トランスパイレーションのシード数。
backendInfo
タイプ: dict[str, Any]
バックエンドのキャリブレーションのエクスポート状況。 これには enabled、 saved、および(利用可能な場合)、バックエンド名、ジョブID、保存先パス、警告が含まれます。
warnings
タイプ: list[str]
resilience_level「プレビューがシミュレータモードを上書きしている」「Orbit DD と並行して Runtime DD が有効になっている」「Sampler が. を無視している」といった、実行レベルの警告。
pubs
タイプ: list[dict[str, Any]]
PUB への入力ごとに、1件の軌道投入レポートが生成されます。
metadata["resource_usage"]
タイプ: dict[str, dict[str, float]]
各フェーズごとのリソース使用状況。ハードウェア最適化、QPU待機、QPU実行、および後処理に関する項目が含まれています。
RUNNING: POST_PROCESSING``RUNNING: EXECUTING_QPU``RUNNING: WAITING_FOR_QPU``RUNNING: OPTIMIZING_FOR_HARDWARE段階には、、、、およびが含まれます。QPU_TIME``RUNNING: EXECUTING_QPUには以下が含まれます。
PUB のOrbitメタデータ
それぞれ PubResult.metadata["quantum_elements_orbit"] には、その PUB に関する挿入レポートが含まれています。
pubIndex
タイプ: int
提出されたワークロードにおける PUB のインデックス。
mode
タイプ: str
PUB ごとの実行モードに応じて解決されます: "raw", "orbit", または "custom"。
orbitEnabled
タイプ: bool
PUB において、Orbit DDの挿入が有効になっていたかどうか。
transpilationMode
タイプ: string
この PUB の回路準備モードが解決されました。
physicalLayout
タイプ: dict or None
この PUB について、論理レイアウトから物理レイアウトへのマッピングを確定しました。 このモードでは validate 、この値は無視され、警告が表示されます。
mem
タイプ: bool or None
この PUB に関する測定誤差の軽減設定を解決しました。
dynamicDdSeq
タイプ: str or dict or list or None
この PUB に対する、動的回路フィードフォワードDDシーケンスが導出されました。
ddQubits
タイプ: list[int] or None
この PUB に対する DD 量子ビットの許可リストを確定しました。
status
タイプ: str
この PUB におけるDDの挿入状況(DDが適用されたか、スキップされたかなど)。
numRounds
タイプ: int
PUB に適用された DD 戦略のラウンド数。
warnings
タイプ: list[str]
PUB DDの挿入および互換性処理による-レベルの警告。
insertionSummary
タイプ: dict[str, Any]
この PUB に関するDD挿入の全体概要。 ステータス、開始ギャップ数および埋まったギャップ数、追加されたDDシーケンスの数、追加されたゲートの数、ゲートの持続時間、挿入前後の回路の深さおよびサイズ、ならびに挿入に関する警告が含まれます。
perRoundSummaries
タイプ: list[dict[str, Any]]
ラウンドごとのDD挿入の概要。 各エントリには、ラウンドインデックス、シーケンス、パルス密度、反復回数、ギャップ数、追加ゲート数、ゲート持続時間、そのラウンド前後の回路の深さおよびサイズ、ならびに警告が含まれています。
measurementErrorMitigation
タイプ: dict[str, Any]
少なくとも1つの PUB に対して「解決時にMEMを有効にする」が有効になっている場合。 M3 の緩和措置が適用されたか、部分的に適用されたか、スキップされたか、または失敗したかを報告します。 PUB の各エントリには、緩和措置が適用されていないカウントが保持され、緩和措置が成功した場合は、緩和措置が適用されたカウントも含まれます。
DDは、スケジュールされたアイドルウィンドウに実際のパルスやサブディレイを挿入するため、報告される回路の深さとサイズは通常、増加します。 この挿入処理では、スケジュールされたアイドルウィンドウの持続時間は維持されますが、ゲートの深さを維持しようとはしません。
出力のプレビュー
options.preview が のとき True、Orbit はメタデータのみを含む を返します PrimitiveResult。 量子コンピューティングジョブは送信されておらず、サンプラーのカウント値や推定値も設定されておらず、QPU時間は「.」と報告されています 0.0。 ハードウェア上で実行する前に、プレビューモードを使用してDD挿入レポートを確認してください。
シミュレータの出力
Falseが True で、 options.preview が の場合 options.simulator 、Orbit は関数コンテナ内のローカル Aer シミュレータを使用して、DD 後のワークロードを実行します。 PrimitiveResult結果は依然として通常の「Orbit」レコード simulator=True であり、トップレベルのメタデータには選択 simulatorNoise されたモードが記録されます。
測定誤差の低減に関する出力
少なくとも1つの PUB に対してMEMが有効に設定されると、Orbitはメタデータを付加 measurementErrorMitigation します。 MEMが成功すると、サンプラーレジスタの get_counts() メソッドは、MEMによって補正されたヒストグラムを返します。 measurementErrorMitigation["rawCounts"]修正されていないランタイムカウントは、引き続き利用可能です。
PUB に対する有効な緩和策のエントリには、次のようなものがあります:
enabledmethodstatusregisterrawCountsquasiDistributionmitigatedCountsmeasurementMappingmappingSourcerawCountsPreserved
動的回路の場合、Orbit はヒストグラムの後処理として、返された出力ビット列に MEM を適用します Orbitは、各ビットが端末側での測定によるものか、 回路中間での測定によるものかを判別せず、また、 未処理の測定結果を使用した条件分岐を、 事後的に、あるいはリアルタイムで変更することはありません。 この処理は、回路の出力として意図されたビット列には適していますが、 ユーザーはこれを、それらの出力を生成した動的な制御フローの修正と 解釈してはなりません。
緩和措置が失敗した場合、Orbitは生の結果を保持し、失敗ステータスとエラーメッセージをメタデータに記録します。
エラー処理
Orbitは、致命的な障害が発生した場合、構造化 qiskit_serverless.ServerlessError エラーを発生させます。 message``code各エラーには、、、および details ペイロードが含まれています。 1221Orbitは、可能な場合はエラーを既存の IBM Quantum のエラーコードカテゴリにマッピングします。検証エラーにはコード が使用されます。 軌道固有の誤差については、既存の IBM Quantum コードのうち、より適合するものが存在しない場合、QE予約コード範囲 4700 の~まで 4709 が使用されます。 エラーコードに関する一般的なガイダンスについては、 IBM Quantum エラーコード・リファレンスを参照してください。
まず、エラー message とフィールド details を確認してください。 Orbitが特定できる場合、無効なフィールド、バックエンド、 PUB インデックス、または上流のQuantum Computeの障害を特定します。
1221入力の検証エラーにはコードを使用します。simulator=True``preview=True``primitive="estimator"``"validate"``dd_strategy``pubsこれには、無効なオプションタイプ、未知のオプションキー、空の、無効な、無効pub_optionsな長さ、dd_qubitsが以外の値に解決transpilation_modeされた、選択されたバックエンドターゲットと互換性のない呼び出し元が準備した回線、無効physical_layoutな値、およびや、や、といった互換性のないMEMリクエストなどがmem=True含まれます。1211サポートされていないプリミティブに関するエラーには、コード を使用します。primitive="estimator"Orbitでは、およびのみprimitive="sampler"を受け付けます。1009バックエンドの選択またはバックエンドの機能に関するエラーには、コード1007または が使用されます。 これには、利用できないバックエンド名、条件を満たす最も負荷の低いバックエンドが存在しない場合、またはDD挿入に必要なタイミング情報を持たないバックエンドなどが含まれます。1003DDの挿入およびQASMの往復通信の失敗には、コードを使用します。 これらは、選択されたバックエンドおよびDD戦略に対して、回路を一貫してトランスパイル、スケジューリング、変換、またはパディングできない場合に発生することがあります。- Quantum Compute の送信失敗にはコード を使用します
1245。結果が生成される前に失敗したジョブにはコード を使用します5203。 Orbit は、上流の Quantum Compute エラーコードが発生した場合、そのコードを保持し、. 内の Orbit フォールバックコードを適用しますdetails。 - 既存の IBM Quantum エラーコードが適用されない場合、予期しない軌道固有の障害は、QE予約範囲(
4700--4709)内で構造化エラーとして報告されます。
Orbit が結果を安全に保持できる場合、致命的ではない状態は、ジョブの失敗としてではなく警告として報告されます。 実行レベルの警告は、 PUB に表示されます metadata["quantum_elements_orbit"]["warnings"]。レベルごとの警告は、各 PUB レポートに表示されます。 Qiskit Functions 環境が警告イベントを受け入れる場合 1300 、回復可能な警告イベントではコード が使用されます。 例としては、がに優先される preview=True 場合 simulator=True、Orbit DDと並行してDD qiskit-ibm-runtime が有効になっている場合、Samplerがを無視する場合 runtime_options.resilience_level、あるいはプリミティブの結果は利用可能なにもかかわらずバックエンドのキャリブレーションのエクスポートに失敗する場合などが挙げられます。
測定誤差の軽減に失敗した場合も、致命的なエラーにはなりません。 M3 による緩和措置を適用できない場合、OrbitはSamplerの生の結果を保持し、Orbitのメタデータにエラーメッセージを記録 measurementErrorMitigation.status="failed" します。