RemoveIdentityEquivalent
class qiskit.transpiler.passes.RemoveIdentityEquivalent(*args, **kwargs)
ベース: TransformationPass
無視できる効果のゲートを取り除く。
大域的な位相と指定された許容範囲まで、同一性操作に近い効果を持つゲートを削除する。 パラメータ化されたゲートは、このパスでは考慮されない。
カットオフ・フィデリティ に対して、このパスは、アイデンティティに関する平均ゲート・フィデリティが 以下のゲートを削除する。具体的には、ゲート は、 ここで
ここで、 は の量子ビットのゲートの次元である。
この関数はマルチスレッド対応であり、デフォルトではCPUコア数と同じ数のスレッドを持つスレッドプールを起動する可能性があります。 スレッド数は、環境 RAYON_NUM_THREADS 変数で調整できます。 たとえば、 を設定すると、スレッドプールは RAYON_NUM_THREADS=4 4 スレッドに制限されます。
トランスパイラー・パスを初期化する。
パラメーター
- approximation_degree - 同値チェックのために近似する次数。 これは0から1の間の浮動小数点値、または
None。 値が1の場合、浮動小数点精度以上の近似値は得られない。 この値は、カットオフ・フィデリティのスケーリング・ファクターとして使用される。 値がNoneの場合、targetで指定されたゲートの忠実度まで近似する。targetが設定されていない場合は、少数量子ビット系での蓄積を考慮し、デフォルトとして16 * machine_epsまで近似する。 - target -
approximation_degreeがNoneに設定され、このフィールドにTargetがこのフィールドに指定されている場合、操作が ID と等価かどうかを判断するための許容誤差は、ターゲットで報告されたエラー率に設定される。approximation_degree(デフォルト)の場合、これは何の効果もない。approximation_degree=Noneの場合、評価されるゲートのTargetで指定されたエラー・レートが使用され、targetが設定された 1 以外の数値が、ターゲットのエラー・レートのスケーリング・ファクターとして使用される。
属性
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)
DAGCircuitでパスを実行する。 これはパス開発者によって実装される。
パラメーター
dag (DAGCircuit) – パスが実行されるダグ。
レイズ
NotImplementedError - パスが未実装の場合。
戻りの型
update_status
update_status(state, run_state)
ワークフローのステータスを更新する。
パラメーター
- state (PassManagerState) – 更新するマネージャーの状態を渡す。
- run_state (RunState) – 現在のタスクの完了状況。
戻り値
パスマネージャーの状態を更新。
戻りの型