Qiskit SDK 1.4 Versionshinweise
1.4.6
Vorspiel
Qiskit v1.4.6 ist eine reine Sicherheitsversion und die letzte Version der Qiskit-Reihe v1.x.
Qiskit v1.x wird in keiner Form mehr gepflegt.
Sicherheitsprobleme
-
Die beiden Parser „ OpenQASM “ (
qasm2.load()undqasm2.loads()) beenden nun den Vorgang mit einemRecursionErrorFehler, wenn versucht wird, einen zu tief verschachtelten Ausdruck auszuwerten. Die maximal zulässige Tiefe wird bei der Übergabe an die Parser aus demsys.getrecursionlimit()„ Python “ übernommen.Bisher konnten die Parser im Rust-Speicher beliebig rekursiv arbeiten, was schließlich dazu führte, dass der maximale Stapelspeicherplatz überschritten wurde und der Prozess mit einem Segfault abstürzte.
1.4.5
Vorspiel
Qiskit v1.4.5 ist die letzte Bugfix-Veröffentlichung der 1.4 Serie und markiert das Ende des Lebenszyklus der Serie. Der Support für die Sicherheitskorrekturen der Serie 1.4 wird bis zum 31. März 2026 fortgesetzt.
Fehlerkorrekturen
-
Die Behandlung von anonymen Bits in der Schaltkreisvisualisierung wurde korrigiert. Früher wurden Bits, die nicht mit einem Register verbunden waren, mit der Standarddarstellung Python angezeigt, während sie jetzt den Index in lesbarer Form zeigen. #14031 behoben.
-
Es wurde ein Problem in der
Optimize1qGatesDecompositionwenn der Durchgang mit einem Gatter initialisiert wurdeTargetder 1q Gatter mit festen Winkelparametern enthält. Zuvor gab der Durchlauf möglicherweise Gatter außerhalb des Ziels aus, da nicht überprüft wurde, ob das Gatter im Ziel beliebige Parameterwerte unterstützt. Behoben #14743. -
Falsches Verhalten im
BasisTranslatorpass, bei dem ein Multi-Qubit-Gatter innerhalb einesControlFlowOpblock die unterstützte Operation mit seinen lokalen Qubit-Indizes verfolgte, anstatt die absoluten Indizes des äußeren Schaltkreises zu verwenden. Behoben #13728. -
Ein Fehler wurde behoben in
HighLevelSynthesisbehoben, bei dem benutzerdefinierte Gatterkalibrierungen nicht erkannt wurden, wenn das Gatter innerhalb anderer Befehlsobjekte verschachtelt war. Teilweise behoben #13728. -
Es wurde ein Fehler in der Schaltkreistext-Schublade behoben, der auftreten konnte, wenn Schaltkreisblöcke innerhalb von Kontrollflussoperationen auf anderen Registern definiert waren als der äußere Schaltkreis. Diese Situation kann zum Beispiel beim direkten Anhängen
ControlFlowOpoperationen direkt oder für Schaltungen nach der Transpilierung.
1.4.4
Vorspiel
Qiskit v1.4.4 ist ein kleineres Bugfix-Release für die v1.4.x Release-Serie.
Fehlerkorrekturen
-
ApplyLayoutwird nun den Fall der Anwendung eines Null-Qubits korrekt behandelnLayout. Zuvor wurde behauptet, es sei kein Layout festgelegt worden, selbst wenn das Feld"layout"der DateiPropertySetgleichLayout()war. -
Es wurde ein Fehler in der Methode
QuantumCircuit.assign_parameters()der zu einem Fehler bei String-Eingaben und dem Argumentstrict=Falseführte. Siehe #13933 für weitere Einzelheiten. -
Behoben wurde das
nameattribut derOrGateklasse korrigiert, so dass es jetzt auf"or"gesetzt ist, um dieses Tor eindeutig zu identifizieren. Zuvor war er fälschlicherweise auf"and"gesetzt, was es unmöglich machte, ihn vonAndGatezu unterscheiden oder Synthese-Plugins zur Synthese einesOrGate. Behoben #14434 -
Es wurde ein Fehler im
ElidePermutationstranspiler-Pass, bei dem die Qubit-Zuordnung nicht korrekt aktualisiert wurde, wenn einPermutationGates nicht korrekt aktualisiert wurde, was zu falschen Schaltungen und Aktualisierungen des Eigenschaftssatzes des Pass-Managers führte. -
Ein Fehler im Programm
PauliEvolutionSynthesisDefaultundPauliEvolutionSynthesisRustiqplugins behoben, die beim Setzen vonpreserve_order=Falsedas Attribut.synthesisdes ursprünglichen Stromkreises veränderten. Das Verhalten der Plugins wurde wiederhergestellt, und der ursprüngliche Schaltkreis wird nun in der gesamten Transpilationspipeline beibehalten. -
Es wurde ein Fehler behoben, der beim Export von Schaltungen mit Verzögerungsanweisungen unter Verwendung von
'ps'Einheiten nach QASM3 auftrat. -
Ein Kompatibilitätsproblem mit der minimal unterstützten Version von rustworkx, 0.15, wurde behoben. Bei bestimmten Eingaben werden die
VF2LayoutundVF2PostLayouteine rustworkx-Methode verwendet, die in rustworkx 0.16.0 hinzugefügt wurde, was zu einem Fehler führte, wenn eine ältere rustworkx-Version verwendet wurde, die als unterstützt aufgeführt ist. -
SabreLayoutundSabreSwapgerät nicht mehr in Panik, wenn das Routing-Ergebnis auf einen Schaltkreis angewendet wird, derexpr.Varobjekte in einem verschachtelten Kontrollflussbereich verwendet. -
Die Funktion der Schaltkreisbibliothek
quantum_volume()wurde aktualisiert, um einnumpy.random.Generatorals Eingabe für ihrseedArgument zu verwenden. Früher hätte ein solches Generator-Argument zu einerTypeErrorgeführt. -
Ein Fehler in den Funktionen der Schaltkreisbibliothek wurde behoben
evolved_operator_ansatz(),qaoa_ansatz()undhamiltonian_variational_ansatz(), bei denen die Parameter eine komplexe Komponente von Null hatten. Dies war meist kein Problem, es sei denn, es wurde mit der Methode SymPyParameterExpression.sympify()methode, die dann einen Fehler auslösen würde.
1.4.3
Vorspiel
Qiskit v1.4.3 ist ein kleineres Bugfix-Release für die v1.4.x Release-Serie.
Fehlerkorrekturen
-
Es wurde ein Fehler in
DAGCircuitder dazu führte, dass AusgabeVarknoten währenddeepcopyund Pickling zu Eingabeknoten wurden. -
Es wurde ein Problem im
BasisTranslatortranspilerdurchgang, bei dem die globale Phase der DAG nicht korrekt aktualisiert wurde. Behoben #14074. -
Es wurde ein Fehler in QPY (
qiskit.qpy), bei dem Schaltungen mit Gattern der KlasseMCMTGateenthalten, nicht serialisiert werden konnten. Siehe #13965. -
SabreLayoutpropagiert nun korrekt dienameundmetadatafelder einer Schaltung korrekt weiter, wenn sie als gemeinsamer Layout- und Routing-Durchgang ausgeführt werden. -
Es wurde ein Problem im
SolovayKitaevSynthesisunitären Synthese-Plugin behoben, bei dem durch wiederholtes Ausführen des Plugins mit verschiedenen Basisgattern fälschlicherweise nur die Basisgatter des ersten Laufs wiederverwendet wurden. Das Problem wurde durch das Ignorieren der Basistore beim Zwischenspeichern von Basisapproximationen verursacht und ist nun behoben. -
Es wurde ein Problem im
SolovayKitaevtranspiler-Durchgang, bei dem es zu einem Absturz kommen konnte, wenn eine 180-Grad-Drehung in der internen Rekursion auftrat, die nicht korrekt behandelt wurde. -
Es wurde ein Problem im
SolovayKitaevtranspiler-Durchgang behoben, bei dem die generierte Annäherung eine Phase haben konnte, die um vom korrekten Wert abwich. Dies ist auf die interne Darstellung zurückzuführen, die eine zusätzliche Behandlung erfordert, um das richtige Vorzeichen der Qubit-Gate-Matrix zu erhalten. Behoben #9552 -
Die Fallback-Fehlerheuristik in
VF2LayoutundVF2PostLayoutdie verwendet wurde, als es keine gemeldeten Fehlerquoten gab, konnte früher Fehler größer als eins zuweisen und unvorhersehbare Auswirkungen auf die resultierenden Layout-Punktzahlen haben.
1.4.2
Vorspiel
Qiskit 1.4.2 ist ein Patch-Release, das Fehler aus der 1.4 Release-Serie behebt.
Neue Funktionen
- Der Funktion wurde ein neues Flag
trust_payloadhinzugefügtqpy.load()funktion. Dies wird verwendet, um die Funktion zu zwingen, eine potenziell unsichere Nutzlast zu laden. Wenn die Nutzlast Folgendes enthältScheduleBlockobjekte (entweder eigenständig oder als Teil vonQuantumCircuit.calibrations) und die symbolische Kodierung in der QPY-Datei aufsympygesetzt ist, dann ist die Nutzlast potentiell unsicher und das Laden könnte die Ausführung von beliebigem Code ermöglichen. Da dieses Flag für die Steuerung der Deserialisierung vonScheduleBlockinstanzen dient, die in Qiskit >= 2.0.0 nicht existieren, wird dieses Flag nur in Qiskit 1.4.x und nicht in Qiskit >= 2.0.0 existieren.
Anmerkungen zu Upgrades
- Standardmäßig löst
qpy.loadnun eineQpyErroraus, wenn es mit einer QPY-Nutzlast aufgerufen wird, die einScheduleBlockobjekt enthält (entweder eigenständig oder als Teil vonQuantumCircuit.calibrations), dassympyzur Kodierung symbolischer Ausdrücke verwendet. Der Grund dafür ist, dass die Nutzlast potenziell angreifbar ist und nur geladen werden sollte, wenn Sie dem Inhalt vertrauen. Wenn Sie sicher sind, dass die Nutzlast nicht bösartig ist, können Sie das neue Argumenttrust_payloadvonqpy.loadaufTruesetzen, um das Laden der Nutzlast zu ermöglichen.
Sicherheitsprobleme
- Es wurde eine Sicherheitslücke in
qpy.load()beim Laden von Payloads, diesympyzur Serialisierung vonParameterExpressionobjekte und andere symbolische Ausdrücke. Dazu gehören potenziell alle QPY-Nutzdaten, die die QPY-Version < 10 und optional 10, 11 und 12 verwenden, je nach der im Serialisierungsschritt verwendeten symbolischen Kodierung (qpy.dump()).
Fehlerkorrekturen
- Ein Fehler bei der Erzeugung der Basisapproximation für
SolovayKitaev. Bisher schlug die Erzeugung diskreter Basisapproximationen mitgenerate_basis_approximationsfür eine Basis mit"sx"oder"sxdg"Gattern fehl. Dies wurde nun behoben.
1.4.1
Vorspiel
Qiskit 1.4.1 ist ein kleines Patch-Release, das einige Fehler in der 1.4 extended support series behebt.
Fehlerkorrekturen
-
Schaltkreise, die mit einem voreingestellten Passmanager kompiliert wurden, der von
generate_preset_pass_manager()erstellt wurden, behalten nun korrekt ihrnameattribut beibehalten, wie es auch beitranspile(). -
Ein Problem mit QPY 13 wurde behoben, das beim Serialisieren oder Deserialisieren eines
ParameterExpression-Objekts auftrat, das durch den AufrufParameterExpression.subs()definiert wurde, um einParameterdurch einParameterExpression. Zum Beispiel:from qiskit.circuit import Parameter a = Parameter("A") b = Parameter("B") expr = a + b c = Parameter("C") new_expr = c ** 3.14 final_expr.subs({b: new_expr})Wenn Sie in früheren Versionen eine Serialisierung einer
QuantumCircuitdas einen Ausdruck wie diesen enthält, mitqpy.dump()enthielt, wurde bei der Verwendung von QPY 13 (der Standardeinstellung) eineAttributeErrormit der Fehlermeldung ‘ParameterExpression’ object has no attribute 'name' ausgegeben. Dies wurde behoben, so dass die Ausnahme nicht mehr ausgelöst wird und Sie eine Nutzlast, die diese verschachtelten Objekte enthält, serialisieren und deserialisieren könnenParameterExpressionobjekte enthält. Siehe #13879.
1.4.0
Vorspiel
Die Qiskit v1.4 Version ist die letzte kleinere Version für die v1.x Serie. Diese Version enthält minimale Funktionen und fügt in erster Linie neue Verwerfungswarnungen für API-Änderungen hinzu, die in der zukünftigen Hauptversion v2.0 erscheinen werden. Es ist vollständig kompatibel mit den Qiskit v1.3.x Versionen. Es wird dringend empfohlen, von v1.3.x auf v1.4 zu aktualisieren, damit Sie die Warnungen darüber sehen können, welche Schnittstellen sich mit Qiskit v2.0 ändern werden. Die v1.4.x Release-Serie wird weiterhin unterstützt und erhält 6 Monate lang Bugfixes und 1 Jahr lang Sicherheitskorrekturen. Die Korrekturen werden in Form von Patches veröffentlicht. Für weitere Details über den Veröffentlichungszeitplan und den Support-Zyklus siehe: qiskit-sdk-version-strategy, das den Veröffentlichungszeitplan detaillierter dokumentiert.
Schaltkreise Funktionen
- Eine neue Methode wurde hinzugefügt,
QuantumCircuit.estimate_duration()zur Berechnung der geschätzten Dauer einer geplanten Schaltungsausgabe aus dertranspiler. Dieses Attribut sollte verwendet werden, wenn Sie eine Schätzung der Gesamtdauer des Stromkreises benötigen, anstatt das veralteteQuantumCircuit.durationattribut.
Veraltete Schaltungen
-
Unterklassifizierung
RegisteroderBitoder einer Unterklasse davon (zum Beispiel,QuantumRegisteroderQubit) ist ab Qiskit v1.4 veraltet. Die Unterklassifizierung dieser Typen wurde von Qiskit nie explizit unterstützt, und ihre Bedeutung wurde nie definiert. In Qiskit v2.0 kann die Unterklassifizierung aufgrund technischer Beschränkungen unmöglich werden und wird mit Sicherheit nicht in einem Schaltkreis gespeichert werden. Dies ist darauf zurückzuführen, dass das Datenmodell zur Verbesserung der Leistung in den Rust-Raum verschoben wurde. -
Der optionale Parameter
dagim Konstruktor vonDAGNodeUnterklassen (nämlichDAGOpNode), der seit Qiskit v1.2 unbenutzt war und ignoriert wurde, ist nun ab Qiskit v1.4 veraltet und wird in Qiskit v2.0 entfernt werden. -
Die Klasse Multiple-Control-Multiple-Target (MCMT) in
MCMTist nun veraltet und wird ersetzt durchMCMTGateersetzt, die eine eigeneGateunterklasse ist. Die Verwendung eines Gatters anstelle einer Schaltung ermöglicht es dem Compiler, das Objekt auf einer höheren Abstraktionsebene zu betrachten und ermöglicht die Verwendung mehrerer Synthese-Plugins. -
Das
qiskit.circuit.classicalfunctionmodul, und damit auch dieClassicalFunctionklasse und die damit verbundenenclassical_function()undBooleanExpressionsind seit Qiskit v1.4 veraltet und werden in Qiskit v2.0 entfernt.Diese Änderung wird durchgeführt, um eine Abhängigkeit von der externen Bibliothek
tweedledumzu vermeiden, die nicht mehr mit allen von Qiskit unterstützten Plattformen und Python Versionen kompatibel ist. Für eine ähnliche Funktionalität verwenden Sie bitte diePhaseOracledie eine Implementierung haben wird, dietweedledumnicht verwendet, und dieBitFlipOracle, die in Qiskit v2.0 hinzugefügt wird.Bis
BitFlipOraclehinzugefügt wird, kann ein Phasenumkehr-Orakel in ein Bitumkehr-Orakel umgewandelt werden, indem es auf das Ergebnis-Qubit konditioniert wird und Hadamard-Gatter vor und nach der Anwendung des Orakels angewendet werden, wie im folgenden Beispiel (wobei das Orakel aufqr_xund das Ergebnis aufqr_yliegt):from qiskit import QuantumRegister, QuantumCircuit from qiskit.circuit.library.phase_oracle import PhaseOracle bool_expr = "(x0 & x1 | ~x2) & x4" qr_x = QuantumRegister(4, "x") qr_y = QuantumRegister(1, "y") bit_flip_oracle = QuantumCircuit(qr_x, qr_y) phase_flip_oracle = PhaseOracle(bool_expr) controlled_phase_flip_oracle = phase_flip_oracle.control(1) bit_flip_oracle.h(qr_y) bit_flip_oracle.compose(controlled_phase_flip_oracle, qubits=[*qr_y, *qr_x], inplace=True) bit_flip_oracle.h(qr_y) print(bit_flip_oracle)Dies führt zu
┌───────────────┐ x_0: ─────┤0 ├───── │ │ x_1: ─────┤1 ├───── │ Phase Oracle │ x_2: ─────┤2 ├───── │ │ x_3: ─────┤3 ├───── ┌───┐└───────┬───────┘┌───┐ y: ┤ H ├────────■────────┤ H ├ └───┘ └───┘
Veraltete Primitive
- Die Bereitstellung von Eingaben des Typs
BackendV1an das ArgumentbackendvonBackendSamplerV2undBackendEstimatorV2ist ab Qiskit 1.4 veraltet und wird in Qiskit 2.0 entfernt werden. Verwenden Sie stattdessen eine Instanz vonBackendV2stattdessen.
Anbieter-Deprecations
-
Die
BackendV2Converterklasse undconvert_to_target()funktionen wurden in Qiskit v1.4 veraltet, nachdem die KlasseBackendV1. Die Funktionconvert_to_target()funktion wird verwendet, um eineTargetinstanz aus einer Reihe von Objekten aus dem veraltetenBackendV1arbeitsablauf:BackendConfiguration,BackendPropertiesundPulseDefaults.BackendV2Converterdient der Umwandlung vonBackendV1inBackendV2verwendet und kann nicht beibehalten werden, wennBackendV1entfernt wird. -
Die Methode
BasicSimulator.run_experiment()methode ist veraltet und wird in Qiskit v2.0 entfernt werden. Die Methode nimmt einQasmQobjExperimentals Eingabeargument, die zusammen mit der KlasseQobjund anderen verwandten Funktionen veraltet ist. Sie können anrufenBasicSimulator.run()mit einerQuantumCircuiteingabe aufrufen. -
Die Fehlerarten
BackendPropertyErrorundBackendConfigurationErrorwurden in Qiskit 1.4 veraltet und werden in Qiskit 2.0 entfernt. Diese Fehler werden nur beim Abrufen von Elementen aus den veraltetenBackendPropertiesundBackendConfigurationobjekten. -
Die Klassen
GateProperties,BackendStatus, undqiskit.providers.models.JobStatus, die Teil des veraltetenBackendV1arbeitsablaufs sind, sind jetzt veraltet. Diese sollten in Qiskit 1.2 zusammen mit den entsprechenden Elementen inqiskit.providers.models.
Synthese-Veraltungen
-
Die Signatur des Arguments
atomic_evolutionim Konstruktor der KlassenLieTrotter,ProductFormula, undSuzukiTrotterwurde in Qiskit v1.2 geändert, um die Visualisierung der Ausgangsschaltung zu verbessern. Die ältere Signatur ist nun zugunsten der neuen Alternative veraltet. Ab Qiskit v2.0 ist nur noch die neue Alternative gültig.Um zu migrieren, ändern Sie bitte den Callable von
Callable[[Pauli | SparsePauliOp, float], QuantumCircuit]aufCallable[[QuantumCircuit, Pauli | SparsePauliOp, float], None].
Transpiler-Veraltungen
-
Die
DAGOpNode.sort_key,DAGOutNode.sort_key, undDAGInNode.sort_keyattribute sind veraltet und werden in der Qiskit v2.0 Version entfernt. Diese Attribute wurden ursprünglich als lexikographischer Schlüssel für die topologische Sortierung von Knoten in einerDAGCircuit. Der Schlüssel wird dafür jedoch nicht mehr verwendet, da die Sortierung jetzt intern im Rust-Code erfolgt. Wenn Sie dieses Attribut verwenden, können Sie den Schlüssel aus den anderen Attributen eines Knotens neu erstellen. Sie können zum Beispiel eine Funktion wie diese verwenden:def get_sort_key(node: DAGNode): if isinstance(node, (DAGInNode, DAGOutNode)): return str(node.wire) return ",".join( f"{dag.find_bit(q).index:04d}" for q in itertools.chain(node.qargs, node.cargs) )die eine Zeichenkette erzeugt, wie es der Sortierschlüssel tut.
-
Die folgenden Verwendungen des
BackendPropertiesobjekts in der Transpilationspipeline sind seit Qiskit v1.4 veraltet und werden in Qiskit entfernt v2.0:backend_propeingabeargument inDenseLayoutpropertieseingabeargument inVF2Layoutpropertiesundcoupling_mapEingabeargumente inVF2PostLayout. Beachten Sie, dasscoupling_mapnur in Anwesenheit vonpropertiesverwendet wurde.backend_propseingabeargument inUnitarySynthesisbackend_propertieseingabeargument inPassManagerConfigbackend_propertiesinTarget.from_configuration()backend_propertiesingenerate_routing_passmanager()backend_propertiesingenerate_translation_passmanager()
Die Klasse
BackendPropertiesklasse ist seit Qiskit v1.2 veraltet, zusammen mit anderen Elementen aus demBackendV1workflow, und wird in Qiskit v2.0 entfernt. Der alternative Pfad für die Übermittlung von Hardware-Informationen an das Transpilationsargument ist dieTargetklasse, die mit dem Eingabeargumenttargetfestgelegt werden kann. Spezifische Anweisungseigenschaften, wie z. B. Gatterfehler oder Zeitdauer, können einerTargetbei der Konstruktion durch dieTarget.add_instruction()methode hinzugefügt werden.Im Falle von
generate_routing_passmanager()undgenerate_translation_passmanager()ist das Argumentbackend_propertiesoptional und wird ersetzt, wenn das erforderliche Argumenttargetausgefüllt ist. Die Verwendung des Arguments kann in 1.x sicher entfernt werden, solange Sie ein Ziel übergeben haben, was die empfohlene Verwendung war. -
Die Verwerfung von Pulse in Qiskit v1.3, beinhaltete Kalibrierungserstellungsübergänge wie
RXCalibrationBuilder. DerNormalizeRXAnglepass ist eine Anforderung vonRXCalibrationBuilderund wird daher in Qiskit v1.4 veraltet sein. Die Funktionrzx_templates()funktion im Kalibrierungsmodul ist ebenfalls veraltet, da sie in unserer Codebasis nicht verwendet wird.
Veraltete Visualisierungen
-
Die Parameter
show_idleundshow_barrierin den Zeitleistenschubladen sind ab Qiskit v1.4 veraltet. Die Alternativen sind die Parameteridle_wiresundplot_barriers, die in Qiskit v1.1 eingeführt wurden und völlig gleichwertig sind. Die alten Parameternamen werden in Qiskit v2.0 entfernt. -
In Qiskit v1.4 gibt die Funktion timeline drawer
timeline_drawer()eine Verwerfungswarnung aus, wenn keintargetangegeben wird, um die Dauer von Anweisungen zu ermitteln. Von Qiskit v2.0 an wirdtargetbenötigt undtimeline_drawer()schlägt fehl, wenn es nicht angegeben wird. -
Die Bereitstellung von Eingaben des Typs
BackendV1an das Argumentbackendvonplot_gate_map(),plot_circuit_layout(), undplot_error_map()sind ab Qiskit 1.4 veraltet und werden in Qiskit 2.0 entfernt. Verwenden Sie stattdessen eine Instanz vonBackendV2stattdessen.
Versch. Einstellung von Unterstützung
- Die Verwendung von Positionsargumenten im Konstruktor von
Resultist ab Qiskit 1.4 veraltet und wird in Qiskit 2.0 deaktiviert. Bitte setzen Sie alle Argumente in der kwarg-Syntax, d.h.:Result(backend_name="name", ....). Darüber hinaus ist das Argumentqobj_idveraltet und wird in Qiskit 2.0 nicht mehr verwendet. Es wird jedoch weiterhin möglich sein,qobj_idals generischen kwarg zu setzen, der im Metadatenfeld mit den anderen generischen kwargs landet.
Fehlerkorrekturen
- Ein Problem wurde behoben in
Target.has_calibration()undTarget.get_calibration()wo die Übergabe eines parametrisierten Gates nicht wie erwartet funktionierte. Siehe qiskit/#11657 und qiskit/#11658 für weitere Informationen.
Sonstige Anmerkungen
-
Die Übergabe von
property_setals beliebiges Schlüsselwortargument an dierun()methode einer Unterklasse vonBasePassManagerwird das Verhalten in Qiskit v2.0 ändern. Es wird derzeit an die internen Funktionen zur Umwandlung der Darstellung des Pass-Managers weitergeleitet, ebenso wie jedes beliebige Schlüsselwortargument für diese Methode. Ab Qiskit v2.0 wird die Option stattdessen verwendet, um den Seed derPropertySetfür den Pipeline-Lauf gesetzt, und das Argument wird nicht an die Konvertierungsfunktionen weitergegeben.Dieser Hinweis betrifft nur Implementierer von Unterklassen von
BasePassManagerdie ihre Implementierungen von_passmanager_frontendund_passmanager_backendso gewählt haben, dass sie ein Schlüsselwortargument namensproperty_setakzeptieren.