Skip to main content
IBM Quantum Platform

Quantum Elements Orbit API リファレンス

  • Qiskit Functions

    Qiskit Functions — パートナー組織によって開発された既製のツール — ソフトウェア開発ワークフローの一部を抽象化することで、ユーティリティ規模でのアルゴリズムの発見やアプリケーション開発を簡素化し、加速させます。 このQiskit関数のガイドを表示するには、ここをクリックしてください。

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)「For primitive="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ジョブが送信され、処理されます。

  • Truesimulator の両 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" Qiskit optimization_level=2 によるトランスパイレーションを繰り返し実行し、静的回路および動的回路について、2量子ビットの深さが最も浅い候補を保持します。

  • "prepare" Qiskit optimization_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"} 静的回路や動的回路に対して、Qiskit optimization_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]

バックエンドのキャリブレーションのエクスポート状況。 これには enabledsaved、および(利用可能な場合)、バックエンド名、ジョブ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後の回路の深さ

DDは、スケジュールされたアイドルウィンドウに実際のパルスやサブディレイを挿入するため、報告される回路の深さとサイズは通常、増加します。 この挿入処理では、スケジュールされたアイドルウィンドウの持続時間は維持されますが、ゲートの深さを維持しようとはしません。

出力のプレビュー

options.preview が のとき True、Orbit はメタデータのみを含む を返します PrimitiveResult。 量子コンピューティングジョブは送信されておらず、サンプラーのカウント値や推定値も設定されておらず、QPU時間は「.」と報告されています 0.0。 ハードウェア上で実行する前に、プレビューモードを使用してDD挿入レポートを確認してください。

シミュレータの出力

FalseTrue で、 options.preview が の場合 options.simulator 、Orbit は関数コンテナ内のローカル Aer シミュレータを使用して、DD 後のワークロードを実行します。 PrimitiveResult結果は依然として通常の「Orbit」レコード simulator=True であり、トップレベルのメタデータには選択 simulatorNoise されたモードが記録されます。

測定誤差の低減に関する出力

少なくとも1つの PUB に対してMEMが有効に設定されると、Orbitはメタデータを付加 measurementErrorMitigation します。 MEMが成功すると、サンプラーレジスタの get_counts() メソッドは、MEMによって補正されたヒストグラムを返します。 measurementErrorMitigation["rawCounts"]修正されていないランタイムカウントは、引き続き利用可能です。

PUB に対する有効な緩和策のエントリには、次のようなものがあります:

  • enabled
  • method
  • status
  • register
  • rawCounts
  • quasiDistribution
  • mitigatedCounts
  • measurementMapping
  • mappingSource
  • rawCountsPreserved

動的回路の場合、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" します。

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