FermionicPassManager
class FermionicPassManager(tasks=(), max_iteration=1000)
Basen: BasePassManager[DAGCircuit]
Ein Transpiler-Pass-Manager, der das eine FermionicCircuit in das andere umwandelt.
Die interne Darstellung (IR) dieses Pass-Managers lautet FermionicDAGCircuit, aber der Eingabe- und Ausgabetyp ist FermionicCircuit.
Initialisiere ein leeres Pass-Manager-Objekt.
Parameter
- tasks (Task[IR, IR] | list[Task[IR, IR]]) – Ein Pass, der in den Zeitplan des Pass-Managers aufgenommen werden soll.
- max_iteration (int) – Die maximale Anzahl an Iterationen, die der Zeitplan durchlaufen wird, wenn die Bedingung nicht erfüllt ist.
Vererbte Methoden
append
append(tasks)
Aufgaben zum Fahrplan hinzufügen.
Parameter
tasks (Task[IR, IR] | list[Task[IR, IR]]) – Eine Reihe von Aufgaben des Pass-Managers, die dem Zeitplan hinzugefügt werden sollen.
Erhöhungen
TypeError – Wenn ein Element der Aufgaben keine Unterklasse von „passmanager Task“ ist.
Rückgabetyp
Keine
remove
remove(index)
Entfernt einen bestimmten Durchlauf aus dem Scheduler.
Parameter
index (int) – Geben Sie den Index des zu entfernenden Elements an, basierend auf der Position in passes().
Erhöhungen
PassManagerError – Falls der Index nicht gefunden wird.
Rückgabetyp
Keine
replace
replace(index, tasks)
Einen bestimmten Durchlauf im Scheduler ersetzen.
Parameter
- index (int) – Zu ersetzender Aufgabenindex, basierend auf der Position in
tasks() - tasks (Task[IR, IR] | list[Task[IR, IR]]) – Eine Reihe von Aufgaben des Pass-Managers, die dem Zeitplan hinzugefügt werden sollen.
Erhöhungen
- TypeError – Wenn ein Element der Aufgaben keine Unterklasse von „passmanager Task“ ist.
- PassManagerError – Falls der Index nicht gefunden wird.
Rückgabetyp
Keine
run
run(in_programs, callback=None, num_processes=None, *, property_set=None, **kwargs)
Führe alle Durchläufe für die angegebene Datei durch in_programs.
Parameter
-
in_programs (Any |list[Any]) – Geben Sie Programme ein, die über alle registrierten Durchläufe transformiert werden sollen. Ein einzelnes Eingabeobjekt darf kein in „ Python “ integriertes Listenobjekt sein. Ein Listenobjekt wird als mehrere zu optimierende Eingabeobjekte betrachtet.
-
callback (Callable[[Task, IR, PropertySet, float, int], None] | None) –
Eine Callback-Funktion, die nach jeder Durchlaufausführung aufgerufen wird. Die Funktion wird mit 5 Schlüsselwortargumenten aufgerufen:
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 executionDie genau übergebenen Argumente geben Einblick in die internen Abläufe des Pass-Managers und können sich ändern, sobald sich diese internen Abläufe ändern. Wenn Sie beabsichtigen, eine Callback-Funktion über mehrere Versionen hinweg wiederzuverwenden, sollten Sie unbedingt sicherstellen, dass die übergebenen Argumente identisch sind.
Um die Callback-Funktion zu nutzen, definieren Sie eine Funktion, die das „kwargs“-Dikt entgegennimmt und auf die Variablen zugreift. Zum Beispiel:
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) – Die maximale Anzahl paralleler Prozesse, die gestartet werden sollen, wenn die parallele Ausführung aktiviert ist. Dieses Argument hat Vorrang vor der Einstellung in
num_processesder Benutzerkonfigurationsdatei und derQISKIT_NUM_PROCSUmgebungsvariable. Wenn diese Option aktiviert ist, wird dieNoneSystemstandardkonfiguration oder die lokale Benutzerkonfiguration verwendet. -
property_set (dict[str, object] | None) – Falls angegeben, der Anfangswert, der als für
PropertySetdie Pipeline des Pass-Managers verwendet werden soll. Dies kann genutzt werden, um Analysen von einem Durchlauf zum nächsten zu übernehmen – sofern Sie sicher sind, dass die Weitergabe der Analyse unbedenklich ist. Beachten Sie, dass manche Analysen spezifisch für die Eingangsschaltung und den jeweiligen Fall sindTarget; daher sollten Sie bei der Anwendung dieses Arguments große Vorsicht walten lassen. -
kwargs – Beliebige Argumente, die an das Frontend und das Backend des Compilers übergeben werden.
Rückgabe
Das/die umgewandelte(n) Programm(e).
Rückgabetyp
to_flow_controller
to_flow_controller()
Linearisieren Sie diesen Manager zu einem einzelnen Element FlowControllerLinear, damit er in einen anderen Pass-Manager eingebettet werden kann.
Rückgabe
Ein linearisierter Pass-Manager.
Rückgabetyp
Durchflussregler Linear [IR, IR]