Skip to main content
IBM Quantum Platform

OptimizeAnnotated

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

GitHub

ベース: TransformationPass

注釈付き演算を持つ回路の最適化パス。

最適化を実施:

  • アノテーションされた各オペレーションについて、そのモディファイアのリストを正規形に変換する。 例えば、 inverse()control(2)inverse() を連続して適用することは、 control(2) を適用することと同じである。
  • 可能な限り注釈を削除する。 例えば、 AnnotatedOperation(SwapGate(), [InverseModifier(), InverseModifier()])SwapGate() と等価である。
  • 注釈を再帰的に組み合わせる。 例えば、 g1 = AnnotatedOperation(SwapGate(), InverseModifier())g2 = AnnotatedOperation(g1, ControlModifier(2)) の場合、 g2AnnotatedOperation(SwapGate(), [InverseModifier(), ControlModifier(2)]) に置き換えることができる。
  • 注釈付き操作に共役削減を適用する。 例として、 control - [P -- Q -- P^{-1}]P -- control - [Q] -- P^{-1} と書き換えることができる。 これは逆変化やパワー変調にも有効である。

OptimizeAnnotated イニシャライザー。

パラメーター

  • target – このパスで使用するバックエンドターゲット。
  • equivalence_library - 使用される等価ライブラリ(このライブラリ内の命令は、このパスでは最適化されない)。
  • basis_gates – アンロール先のターゲット基底名。例 [: ‘u3’、‘cx’] (このリストに含まれる命令は、このパスでは最適化されません)。 も指定されている target 場合は無視されます。
  • recurse - デフォルトでは、 target または basis_gates のいずれかが指定されると、パスはゲート定義に再帰的に降下します(どちらも指定されていない場合は、そのようなオブジェクトを合成する必要がないため、再帰は適用されません)。 この値を False に設定すると、どのような場合でも再帰が行われなくなる。
  • do_conjugate_reduction - 抱合体還元を行うかどうかを制御する。

属性

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

ダグに OptimizeAnnotated。

パラメーター

dag (DAGCircuit) – 入力ダグ。

戻り値

より高度な操作が最適化されたダグを出力する。

レイズ

TranspilerError - 何か問題が起きたとき

update_status

update_status(state, run_state)

GitHub

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

パラメーター

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

戻り値

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

戻りの型

PassManagerState

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