Skip to main content
IBM Quantum Platform

TemplateOptimization

class qiskit.transpiler.passes.TemplateOptimization(*args, **kwargs)

GitHub

ベース: TransformationPass

テンプレート最適化パスのクラス。

パラメーター

  • template_list (list[QuantumCircuit()]) – 適用する異なるテンプレート回路のリスト。
  • heuristics_backward_param (list[int]) – [length, survivor] これらは、アルゴリズムの後方部分にヒューリスティックを適用するためのパラメータである。 アルゴリズムのこの部分は、マッチするシナリオのツリーを作成する。 この木は指数関数的に成長する。 ヒューリスティックは、どのシナリオが最も長く一致するかを評価し、そのシナリオだけを残す。 長さは木を切る間隔であり、生存者は保存されるシナリオの数である。 l=3、 s=1。 ヒューリスティクスは、最大マッチの一部を失うことを意味する。 詳細はリファレンスをチェック。
  • heuristics_qubits_param (list[int]) – [量子]ビット選択のためのヒューリスティックは、探索する量子ビット構成の数を制限するために、回路のダグ依存性から推測を行う。 長さは、回路のダグ依存性で探索される後継者または先行者の数であり、ノードの各クビットは、許可された量子ビットのセットに追加されます。 length=1。 詳細はリファレンスをチェック。
  • user_cost_dict (Dict[str, int]) – TemplateSubstitution、その動作を設定するために渡される量子コスト辞書。 Noneが与えられない場合、デフォルト値を上書きする。 キーはゲートの名前と量子コストの値である。

属性

is_analysis_pass

パスが分析パスかどうかをチェックする。

パスが AnalysisPass,、パスがDAGを分析し、その分析結果をプロパティセットに書き込むことができることを意味する。 この種のパスでは、DAGの変更は許されない。

is_transformation_pass

パスが変形パスかどうかをチェックする。

パスが TransformationPass, の場合、そのパスはDAGを操作することはできるが、プロパティセットを変更することはできない(ただし、読み取ることはできる)ことを意味する。


方法

execute

execute(passmanager_ir, state, callback=None)

GitHub

入力Qiskit IRに対して最適化タスクを実行する。

パラメーター

  • passmanager_ir (Any) – Qiskit IRを最適化する。
  • state (PassManagerState) – パスマネージャー自身によるワークフロー実行に関連する状態。
  • callback (Callable | None) – 最適化タスクの実行ごとに呼び出されるコールバック関数。

戻り値

Qiskit IRとワークフローの状態を最適化。

戻りの型

タプル [ Any, PassManagerState ]

name

name()

GitHub

パスの名前

戻りの型

str

run

run(dag)

GitHub

パラメーター

dag (DAGCircuit) – DAG回路。

戻り値

最適化されたDAG回路。

戻りの型

DAGサーキット

レイズ

TranspilerError - テンプレートが正しい形でない場合、あるいは出力回路が入力回路と異なる動作をする場合。

update_status

update_status(state, run_state)

GitHub

ワークフローのステータスを更新する。

パラメーター

  • state (PassManagerState) – 更新するマネージャーの状態を渡す。
  • run_state (RunState) – 現在のタスクの完了状況。

戻り値

パスマネージャーの状態を更新。

戻りの型

PassManagerState

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