Skip to main content
IBM Quantum Platform

ConvertToPauliRotations

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

GitHub

ベース: TransformationPass

1量子ビット、2量子ビット、および3量子ビットの標準ゲート、障壁、および測定を含む量子回路を、ゲートと PauliProductMeasurementPauliProductRotationGate 命令を含む等価回路に変換する。

例:

from qiskit.circuit import QuantumCircuit
from qiskit.transpiler.passes import ConvertToPauliRotations
from qiskit.quantum_info import Operator

qc = QuantumCircuit(3)
qc.h(0)
qc.cx(0, 1)
qc.ry(0.123, 0)
qc.t(2)
qc.rzz(pi/4, 0, 2)

# The transformed circuit consists of PauliProductRotationGate gates
qct = ConvertToPauliRotations()(qc)
ops_names = set(qct.count_ops().keys())
self.assertEqual(ops_names, {"pauli_product_rotation"})

# The circuits before and after the transformation are equivalent
assert Operator(qc) == Operator(qct)

属性

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

に対して dagConvertToPauliRotations の最適化パスを実行する。

パラメーター

dag (DAGCircuit) – 入力DAG。

戻り値

出力DAG。

昇給

TranspilerError – 回路に、そのパスがサポートしていない命令が含まれている場合。

戻りの型

DAG回路

update_status

update_status(state, run_state)

GitHub

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

パラメーター

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

戻り値

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

戻りの型

PassManagerState

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