Skip to main content
IBM Quantum Platform

FullAncillaAllocation

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

GitHub

ベース: AnalysisPass

カ ッ プ リ ン グ マ ッ プ ま たは タ ーゲ ッ ト か ら すべてのア イ ド ル ノ ー ド を レ イ ア ウ ト 上のア ン シ ラ と し て割 り 当て る。

すべてのアイドル物理量子ビット(カップリング・マップまたはターゲットには存在するが、ダグ回路には存在しない)をアンシラとして割り当てるためのパス。 また、それらの物理アンシラに対応する新しい仮想量子ビットを選択する。

これは解析パスであり、物理的なアンシラ位置とそれに対応する仮想量子ビットの選択のみを担当する。 別の変換パスで、その仮想量子ビットを回路に追加しなければならない。

FullAncillaAllocation イニシャライザー。

パラメーター

coupling_map (Union[CouplingMap, Target]) – カップリング・マップを表す有向グラフ。


属性

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

ダグに FullAncillaAllocation。

新しい(物理量子ビット、仮想量子ビット)ペアでレイアウトを拡張する。 ダグは、どの仮想量子ビットがすでに回路内にあるかを示す。 このパスでは、衝突が起こらないように(つまりレイアウトの両対称性が保たれるように)新しい仮想量子ビットを割り当てます

coupling_mapとlayoutは、どの物理量子ビットが空いているかを決定する。

パラメーター

dag (DAGCircuit) – 解析する回路

戻り値

は同じダグ回路をそのまま返す

戻りの型

DAGサーキット

レイズ

TranspilerError – プロパティセットにレイアウトが含まれていない場合、または初期化時に設定されていない場合。

update_status

update_status(state, run_state)

GitHub

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

パラメーター

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

戻り値

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

戻りの型

PassManagerState

validate_layout

static validate_layout(layout_qubits, dag_qubits)

GitHub

layout_qregs にあるすべての qreg が dag_qregs にすでに存在するかどうかをチェックする。 そうでなければ、上げる。

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