ConvertISAToClifford
class ConvertISAToClifford(*args, **kwargs)
ベース: TransformationPass
ISA回路のゲートをクリフォードゲートに変換する。
qiskit.circuit.library.RZGateISA回路には、限定された集合のクリフォードゲートのみが含まれており、それらは任意の角度で接続されている。 これらをクリフォード回路に変換するため、このパスでは、すべての qiskit.circuit.library.RZGate または qiskit.circuit.library.RZZGate または qiskit.circuit.library.RXGate の角度を、 pi/2 の最も近い倍数(角度が指定されていない場合は pi/2 のランダムな倍数)に丸めつつ、すべてのクリフォードゲート、測定、およびバリアをスキップします。
import numpy as np
from qiskit.circuit import QuantumCircuit, Parameter
from qiskit.transpiler import PassManager
from qiskit_ibm_runtime.transpiler.passes import ConvertISAToClifford
# An ISA circuit ending with a Z rotation by pi/3
qc = QuantumCircuit(2, 2)
qc.sx(0)
qc.rz(np.pi/2, 0)
qc.sx(0)
qc.barrier()
qc.cx(0, 1)
qc.rz(np.pi/3, 0) # non-Clifford Z rotation
qc.rz(Parameter("th"), 0) # Z rotation with unspecified angle
# Turn into a Clifford circuit
pm = PassManager([ConvertISAToClifford()])
clifford_qc = pm.run(qc)レイズ
ValueError - 指定された回路に、非ISAゲートなど、サポートされていない演算が含まれている場合。
属性
is_analysis_pass
パスが分析パスかどうかをチェックする。
パスが AnalysisPass,、パスがDAGを分析し、その分析結果をプロパティセットに書き込むことができることを意味する。 この種のパスでは、DAGの変更は許されない。
is_transformation_pass
パスが変身パスかどうかをチェックする。
パスが TransformationPass, の場合、そのパスはDAGを操作することはできるが、プロパティセットを変更することはできない(ただし、読み取ることはできる)ことを意味する。
方法
__call__
__call__(circuit, property_set=None)
パスオン回路を作動させる。
パラメーター
- circuit (QuantumCircuit) – 峠を越える日。
- property_set (PropertySet | dict | None) – 入力/出力プロパティセット 解析パスはプロパティセットをインプレース変更する可能性がある。 指定されない場合、パスの既存の
property_set属性(設定されている場合)が使用されます。
戻り値
変換が成功した場合、結果として QuantumCircuit が生成されます。 解析に合格した場合、入力回路へ。
戻りの型
execute
execute(passmanager_ir, state, callback=None)
入力Qiskit IRに対して最適化タスクを実行する。
パラメーター
- passmanager_ir (DAGCircuit) – 最適化対象のQiskit IR。
- state (DAGCircuit) – パスマネージャー自身によるワークフローの実行に関連する状態。
- callback (Callable[[Task, DAGCircuit, PropertySet, float, int], None] | None) – 最適化タスクの実行ごとに呼び出されるコールバック関数。
戻り値
Qiskit IRとワークフローの状態を最適化。
戻りの型
タプル[ DAGCircuit、 PassManagerState ]
name
name()
パスの名前
戻りの型
str
run
update_status
update_status(state, run_state)
ワークフローのステータスを更新する。
パラメーター
- state (PassManagerState) – 更新するマネージャーの状態を渡す。
- run_state (RunState) – 現在のタスクの完了状況。
戻り値
パスマネージャーの状態を更新。
戻りの型