Skip to main content
IBM Quantum Platform

Parity Twine Optimizer API リファレンス

  • Qiskit Functions

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


入力

このAPIが受け付けるすべての入力パラメータについては、以下のリストを参照してください。

problem

タイプ: dict[str, float]

解くべき目的関数。 辞書のキーは量子ビットのラベルに対応し、値は係数に対応します。

  • 必須:はい
  • 例: {"()": 3, "(0,)": 1, "(0, 1)": 2, "(1, 2)": -1}

variable_type

タイプ: str

変数の型が ( s∈{−1,1}s \in \{-1, 1\}spin ) であるか、 binary ( x∈{0,1}x \in \{0, 1\} ) であるか。

  • 必須:はい
  • 選択肢: spin または binary

backend_name

タイプ: str

使用するバックエンドの名前。 指定がない場合は、負荷が最も低いバックエンドが選択されます。

  • 必須:いいえ
  • 例: ibm_phoenix

problem_type

タイプ: str

デフォルト値: ""

特殊な後処理を有効にするために、問題の種類を指定します。 現時点では、 mis (最大独立集合)のみがサポートされています。 が設定 mis されている場合、アルゴリズムはMIS構造を活用した特定の後処理を適用する。 空欄のままにすると、標準の後処理が適用されます。

  • 必須:いいえ
  • 選択 (Choices): mis

オプション

タイプ: dict[str, Any]

入力オプションには、以下のものが含まれます:(オプション)オプションは、ネストされた辞書として指定されます。 オプションの一覧とそのデフォルト値をすべて確認してください。

  • 必須:いいえ
  • 例: {"shots": 1000, "problem_type": "my_problem", "postprocessing_level": 1, "transpile_only": False, "job_tags": ["my_tag"]}

オプション・リスト

shots

タイプ: int

デフォルト値: 100000

使用するショットの数。

postprocessing_level

タイプ: int

デフォルト値: 1

従来の後処理を行うかどうか。 取り得る値は 0(後処理なし)と 1(後処理を行う)です。

transpile_only

タイプ: bool

デフォルト値: False

回路のトランスパイレーションのみを行うかどうかを示すブール値。 その場合、回路のメトリクスが返されます。

job_tags

タイプ: list[str]

デフォルト値: None

IBM Quantum® Platform 上のジョブを識別するためのラベル。

  • デフォルト: None
  • 例: ["my_job_tag"]

出力

このAPIの出力は、解、解のビット文字列、目的関数値、およびメタデータを含むオブジェクト dict です。 このフラグ transpile_only が設定されている場合、回路メトリックフィールドにのみ値が入力されます。

例:

{
    'solution': {'0': -1, '1': 1, '2': 1}, 
    'objective_value': -1.0,
    'solution_bitstring': '100',
    'metadata': {
        'circuit_metrics': {
            'depth': 23, 
            'gate_count': 200,
            'two_qubit_gate_depth': 4,
            'two_qubit_gate_count': 4,
            'num_qubits': 3,
            'operations': {'delay': 158, 'rz': 18, 'sx': 15, 'cz': 4, 'measure': 3, 'x': 2}
        }, 
        'solver_info': {
            'variable_mapping': {'0': 0, '1': 1, '2': 2},
            'bitstring_distributions': {
                'before_postprocessing': {'011': 3, '001': 1, '110': 1, '111': 3, '101': 1, '010': 1},
                'after_postprocessing': {'011': 4, '100': 6}
            }, 
            'best_parameters': {
                'beta': [-0.46259546391008877],
                'gamma': [0.6181957189727373]
            }
        },
        'resource_usage': {
            'RUNNING: MAPPING': {'CPU_TIME': 15.536},
            'RUNNING: OPTIMIZING_FOR_HARDWARE': {'CPU_TIME': 0.04}, 
            'RUNNING: WAITING_FOR_QPU': {'CPU_TIME': 0.0},
            'RUNNING: EXECUTING_QPU': {'QPU_TIME': 8.945},
            'RUNNING: POST_PROCESSING': {'CPU_TIME': 0.765}
        }
    }
}

出力構造

solution

タイプ: dict[str, int]

ソリューションの価値。 キーは、. で定義されているものと対応しています problem。

  • 例: {'0': -1, '1': 1, '2': 1}

objective_value

タイプ: float

ソリューションの費用。 ソリューションの品質を定量的に評価します。

  • 例: -1.0

solution_bitstring

タイプ: str

コストが最も低いものに対応するビット文字列。

  • 例: '100'

metadata

circuit_metrics

タイプ: dict[str, Any]

Twineのトランスパイレーションに関する情報。

depth

タイプ: int

回路の深さ。

gate_count

タイプ: int

回路内のゲート数。

two_qubit_gate_depth

タイプ: int

回路の2量子ビットの深さ。

two_qubit_gate_count

タイプ: int

回路の2量子ビット数。

num_qubits

タイプ: int

回路内でアクティブな量子ビットの数。

operations

タイプ: dict[str, int]

回路におけるゲート種別(キー)と出現箇所(値)。

solver_info

タイプ: dict[str, Any]

アルゴリズムに関する知見

variable_mapping

タイプ: dict[str, int]

計算で使用される変数から量子ビットへの対応付け。

bitstring_distributions

タイプ: dict[str, Any]

基底状態と、それがサンプリングされた頻度のマッピング。

before_postprocessing

タイプ: dict[str, int]

従来の後処理を行う前の、測定されたビット列の分布。

after_postprocessing

タイプ: dict[str, int]

従来の後処理を施した後の、測定されたビット列の分布。

best_parameters

タイプ: dict[str, Any]

最適化された変分学習パラメータ。

beta

タイプ: list[float]

最適化された変分パラメータβ。

gamma

タイプ: list[float]

最適化された変分パラメータγ。

resource_usage

タイプ: dict[str, Any]

時期に関する情報。

RUNNING: MAPPING

タイプ: dict[str, float]

マッピング問題のCPU時間(秒)。

RUNNING: OPTIMIZING_FOR_HARDWARE

タイプ: dict[str, float]

ハードウェア最適化にかかるCPU時間(秒)。

RUNNING: WAITING_FOR_QPU

タイプ: dict[str, float]

QPUを待機していたCPU時間(秒)。

RUNNING: EXECUTING_QPU

タイプ: dict[str, float]

使用されたQPU時間(秒)。

RUNNING: POST_PROCESSING

タイプ: dict[str, float]

結果のポスト処理にかかるCPU時間(秒)。

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