ConvertToPauliRotations
class qiskit.transpiler.passes.ConvertToPauliRotations(*args, **kwargs)
ベース: 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)
入力されたQiskit IRに対して最適化タスクを実行する。
パラメーター
- passmanager_ir (Any) – 最適化対象のQiskit IR。
- state (PassManagerState) – パスマネージャー自身によるワークフローの実行に関連する状態。
- callback (Callable | None) – 最適化タスクの実行ごとに呼び出されるコールバック関数。
戻り値
Qiskit IRの最適化とワークフローの現状。
戻りの型
タプル [ Any, PassManagerState ]
name
run
run(dag)
に対して dagConvertToPauliRotations の最適化パスを実行する。
パラメーター
dag (DAGCircuit) – 入力DAG。
戻り値
出力DAG。
昇給
TranspilerError – 回路に、そのパスがサポートしていない命令が含まれている場合。
戻りの型
update_status
update_status(state, run_state)
ワークフローのステータスを更新する。
パラメーター
- state (PassManagerState) – 更新するマネージャーの状態を渡す。
- run_state (RunState) – 現在のタスクの完了状況。
戻り値
パスマネージャーの状態を更新しました。
戻りの型