Parity Twine Optimizer API リファレンス
Qiskit Functions — パートナー組織によって開発された既製のツール — は、ソフトウェア開発ワークフローの一部を抽象化することで、ユーティリティ規模でのアルゴリズムの発見やアプリケーション開発を簡素化し、加速させます。 このQiskit関数のガイドを表示するには、ここをクリックしてください。
ParityQC Parity Twine Optimizer ガイド
入力
このAPIが受け付けるすべての入力パラメータについては、以下のリストを参照してください。
problem
タイプ: dict[str, float]
解くべき目的関数。 辞書のキーは量子ビットのラベルに対応し、値は係数に対応します。
- 必須:はい
- 例:
{"()": 3, "(0,)": 1, "(0, 1)": 2, "(1, 2)": -1}
variable_type
タイプ: str
変数の型が ( spin ) であるか、 binary ( ) であるか。
- 必須:はい
- 選択肢:
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時間(秒)。