CollectLinearFunctions
class qiskit_ibm_transpiler.ai.CollectLinearFunctions(do_commutative_analysis: bool = True, min_block_size: int = 4, max_block_size: int = LINEAR_MAX_BLOCK_SIZE, collect_from_back: bool = False, num_reps: int = 10)
ベース: RepeatedCollectAndCollapse
SWAPとCXのブロックを LinearFunction オブジェクトとして収集し、合成後に比較するために元のサブ回路を保存する。
パラメーター
- do_commutative_analysis (bool) – 可換解析の有効/無効、デフォルトはTrue
- min_block_size (int, optional) – 線形関数の収集パスで生成されるブロックの最小サイズを設定します。
- max_block_size (int, optional) – collect線形関数パス中に生成されるブロックの最大サイズを設定する。
- collect_from_back (bool, optional) – ブロックを逆順に収集するかどうかを指定する。
- num_reps (int, optional) – 最適化処理を何回繰り返すかを指定する。デフォルトは10回。
- collect_function (callable) – DAGを受け取り、ノードの "収集された "ブロックのリストを返す関数
- collapse_function (callable) – DAGと "収集された "ブロックのリストを受け取り、各ブロックを統合する関数。
- do_commutative_analysis - Trueの場合、ノード間の可換関係を利用する。
属性
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) – 最適化タスクの実行ごとに呼び出されるコールバック関数。
戻り値
Qiskit IRとワークフローの状態を最適化。
戻りの型
タプル [*Any*、 PassManagerState ]
name
run
run(dag)
CollectLinearFunctions :param dag: 最適化されるDAG。 :type dag:DAGCircuit
戻り値
最適化されたDAG
戻りの型
DAGサーキット
update_status
update_status(state, run_state)
ワークフローのステータスを更新する。
パラメーター
- state (PassManagerState) – 更新するマネージャーの状態を渡す。
- run_state (RunState) – 現在のタスクの完了状況。
戻り値
パスマネージャーの状態を更新。
戻りの型