FermionicPassManager
class FermionicPassManager(tasks=(), max_iteration=1000)
ベース: BasePassManager[DAGCircuit]
あるものを別のもの FermionicCircuit に変換するトランスパイラー・パス・マネージャー。
このパスマネージャーの内部表現(IR)は ですが FermionicDAGCircuit、入力型と出力型は です FermionicCircuit。
空のパスマネージャーオブジェクトを初期化します。
パラメーター
- tasks (Task[IR, IR] | list[Task[IR, IR]]) – パスマネージャーのスケジュールに追加される予定のパスです。
- max_iteration (int) – 条件が満たされない場合に、スケジュールがループされる最大反復回数。
継承されるメソッド
append
append(tasks)
パススケジュールにタスクを追加する。
パラメーター
tasks (Task[IR, IR] | list[Task[IR, IR]]) – スケジュールに追加するパスマネージャーのタスク一式。
昇給
TypeError – タスクのいずれかの要素が、passmanagerのTaskのサブクラスでない場合。
戻りの型
なし
remove
remove(index)
スケジューラ内の特定のパスを削除します。
パラメーター
index (int) –. 内の位置に基づいて、削除するインデックスを渡します passes()。
昇給
PassManagerError – インデックスが見つからない場合。
戻りの型
なし
replace
replace(index, tasks)
スケジューラ内の特定のパスを置き換える。
パラメーター
- index (int) – 置き換えるタスクのインデックス(内の位置に基づく)
tasks() - tasks (Task[IR, IR] | list[Task[IR, IR]]) – スケジュールに追加するパスマネージャーのタスク一式。
昇給
- TypeError – タスクのいずれかの要素が、passmanagerのTaskのサブクラスでない場合。
- PassManagerError – インデックスが見つからない場合。
戻りの型
なし
run
run(in_programs, callback=None, num_processes=None, *, property_set=None, **kwargs)
指定されたに対して、すべてのパスを実行します in_programs。
パラメーター
-
in_programs (Any |list[Any]) – 登録されているすべてのパスを通じて変換を行うプログラムを入力してください。 単一の入力オブジェクトとして、 Python の組み込みリストオブジェクトを指定することはできません。 リストオブジェクトは、最適化の対象となる複数の入力オブジェクトとみなされます。
-
callback (Callable[[Task, IR, PropertySet, float, int], None] | None) –
各パスの実行後に呼び出されるコールバック関数。 この関数は、5つのキーワード引数を受け取って呼び出されます:
task (GenericPass): the pass being run passmanager_ir (Any): depending on pass manager subclass property_set (PropertySet): the property set running_time (float): the time to execute the pass count (int): the index for the pass execution渡される具体的な引数は、パスマネージャーの内部構造を明らかにするものであり、パスマネージャーの内部構造が変更されるにつれて変更される可能性があります。 コールバック関数を複数のリリースにわたり再利用する予定の場合は、渡される引数が同じであることを必ず確認してください。
コールバック機能を使用するには、kwargs 辞書を受け取り、変数にアクセスする関数を定義します。 例:
def callback_func(**kwargs): task = kwargs['task'] passmanager_ir = kwargs['passmanager_ir'] property_set = kwargs['property_set'] running_time = kwargs['running_time'] count = kwargs['count'] ... -
num_processes (int | None) – 並列実行が有効になっている場合に起動する並列プロセスの最大数。 この設定は、ユーザー設定ファイルおよび環境
QISKIT_NUM_PROCS変数でのnum_processes設定を上書きします。 に設定した場合、システムのデフォルトNone設定またはローカルユーザーの設定が使用されます。 -
property_set (dict[str, object] | None) – 指定された場合、パスマネージャパイプラインの
PropertySet初期値として使用される値。 これは、分析結果を共有しても問題がないことが分かっている場合、ある実行から次の実行へと分析結果を保持するために使用できます。 一部の解析は入力回路や特定の条件に依存する場合があるためTarget、この議論を用いる際には細心の注意を払う必要があります。 -
kwargs – コンパイラのフロントエンドおよびバックエンドに渡される任意の引数。
戻り値
変換されたプログラム。
戻りの型
to_flow_controller
to_flow_controller()
このマネージャーを単一のマネージャーに線形化して FlowControllerLinear、別のパスマネージャー内にネストできるようにします。
戻り値
線形化されたパスマネージャー。
戻りの型
フローコントローラー[* 線形IR*、 IR]