Skip to main content
IBM Quantum Platform

ApplyLayout

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

GitHub

ベース: TransformationPass

の物理量子ビットへの仮想量子ビットのマッピングを適用または更新する。 DAGCircuit.

Qiskitにおける "レイアウト "とは、仮想的な量子ビット(一般的にユーザーが回路を作成する際の用語)と、ハードウェア上でそれらを表現するために使用される物理的な量子ビットとのマッピングのことです。

このパスには、 layoutpost_layout のキーの状態によって、2つの動作モードがある。 PropertySet:

  1. 標準操作: post_layout は設定されていない。 これは DAGCircuit 仮想量子ビットで定義されたものを物理量子ビットで書き換える。 この場合、 layout フィールドはレイアウトパス(たとえば SetLayout または VF2Layoutなど)によって選択され DAGCircuit の両方がアンシラで展開されていなければならない(例えば EnlargeWithAncillaFullAncillaAllocation).

  2. レイアウトの改善: post_layout が設定されている(たとえば VF2PostLayout). この場合、 post_layout はすでに正しいサイズでなければならない。 入力に既に適用されているリラベリングの上に追加されたリラベリングとして解釈される。 DAGCircuit.

    パスが実行されると、 layout フィールドは、2つのリラベルの合成を表すように更新される。 DAGCircuit と最終的な並べ替えが行われる。 post_layout フィールドは削除される。


属性

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 で ApplyLayout パスを実行する。

パラメーター

dag (DAGCircuit) – DAGからマップへ。

戻り値

マッピングされたDAG(物理量子ビットを持つ)。

戻りの型

DAGサーキット

レイズ

TranspilerError - property_set 、レイアウトが見つからないか、物理量子ビットがフルでない場合。

update_status

update_status(state, run_state)

GitHub

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

パラメーター

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

戻り値

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

戻りの型

PassManagerState

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