PassManagerConfig
class qiskit.transpiler.PassManagerConfig(initial_layout=None, basis_gates=None, coupling_map=None, layout_method=None, routing_method=None, translation_method=None, scheduling_method=None, instruction_durations=None, approximation_degree=None, seed_transpiler=None, timing_constraints=None, unitary_synthesis_method='default', unitary_synthesis_plugin_config=None, target=None, hls_config=None, init_method=None, optimization_method=None, qubits_initially_zero=True)
Grundlagen: object
Konfiguration des Pass-Managers.
Ein „ PassManagerConfig “-Objekt initialisieren
Parameter
- initial_layout (Layout | None) – Ausgangsposition der virtuellen Qubits auf den physikalischen Qubits.
- basis_gates (list[str] | None) – Liste der Namen der Basisgatter, in die entrollt werden soll.
- coupling_map (CouplingMap | None) – Gerichteter Graph, der eine Kopplungskarte darstellt.
- layout_method (str | None) – Der Durchlauf, der zur Auswahl der anfänglichen Qubit-Anordnung verwendet wird. Dies ist der Name des Plugins, falls ein externes Layout-Stage-Plugin verwendet wird.
- routing_method (str | None) – der Pass, der für die Weiterleitung von Qubits auf der Architektur verwendet wird. Dies ist der Name des Plugins, falls ein externes Routing-Stufen-Plugin verwendet wird.
- translation_method (str | None) – Der Pass, der zur Übersetzung von Gates in Basis-Gates verwendet werden soll. Dies ist der Name des Plugins, falls ein externes Übersetzungs-Plugin verwendet wird.
- scheduling_method (str | None) – der Pass, der für die Planung von Anweisungen verwendet werden soll. Dies ist der Name eines Plugins, falls ein externes Plugin für die Planungsphase verwendet wird.
- instruction_durations (InstructionDurations | None) – Verzeichnis der Laufzeiten (in dt) für jeden Befehl.
- approximation_degree (float | None) – Heuristischer Regler zur Schaltungsnäherung, wobei
1.0keine Näherung (bis auf die numerische Toleranz) und0.0die maximale Näherung bedeutet. Soferntargetverfügbar ist, bedeutet der Wert,Nonedass für eine Operation im Ziel eine Annäherung bis zur angegebenen Fehlerrate zulässig ist. - seed_transpiler (int | None) – Legt einen Zufallsstartwert für die stochastischen Teile des Transpilers fest.
- timing_constraints (TimingConstraints | None) – Einschränkungen bei der zeitlichen Abstimmung der Hardware.
- unitary_synthesis_method (str) – Die für den
UnitarySynthesisDurchlauf zu verwendende String-Methode. Es wird in den installierten Plugins nach einer gültigen Methode gesucht. Mitunitary_synthesis_plugin_names(). können Sie eine Liste der installierten Plugins anzeigen. - unitary_synthesis_plugin_config (dict | None) – Das Konfigurationswörterbuch, das an das angegebene unitäre Synthese-Plugin übergeben wird. Informationen zur Verwendung finden Sie in der Dokumentation des Plugins.
- target (Target | None) – Das Backend-Ziel
- hls_config (HLSConfig | None) – Eine optionale Konfigurationsklasse, die für
HighLevelSynthesis„pass“ verwendet werden kann. Legt fest, wie verschiedene Objekte auf hoher Ebene synthetisiert werden sollen. - init_method (str | None) – Der Name des Plugins, das in der Init-Phase verwendet werden soll
- optimization_method (str | None) – Der Name des Plugins, das für die Optimierungsphase verwendet werden soll.
- qubits_initially_zero (bool) – Gibt an, ob die Eingangsschaltung auf Null initialisiert ist.
Methoden
from_backend
classmethod from_backend(backend, _skip_target=False, **pass_manager_options)
Erstellen Sie eine Konfiguration auf der Grundlage eines Backends und von Benutzereingaben.
Diese Methode generiert automatisch ein PassManagerConfig-Objekt auf der Grundlage der Funktionen des Backends. Die Benutzeroptionen können verwendet werden, um die Konfiguration zu überschreiben.
Parameter
- backend (BackendV2) – Das Backend, das die Konfiguration bereitstellt.
- pass_manager_options – Benutzerdefinierte Option-Wert-Paare.
Rückgabe
Die auf Grundlage der Argumente generierte Konfiguration.
Rückgabetyp
Erhöhungen
AttributeError – Wenn das Backend keine configuration()-Methode unterstützt.