Qiskit 0.41 Versionshinweise
0.41.1
Terra- 0.23.2
Vorspiel
Das Qiskit Terra 0.23.2 Patch-Release behebt weitere Fehler, die in der 0.23 Serie identifiziert wurden.
Fehlerkorrekturen
-
Fügen Sie die folgenden Clifford-Gatter, die bereits in der Schaltkreisbibliothek vorhanden sind, der
Cliffordklasse hinzu:SXGate,SXdgGate,CYGate,DCXGate,iSwapGateundECRGate. -
Hinzufügen einer Zerlegung eines
ECRGatein Clifford-Gatter (bis zu einer globalen Phase) in die Standard-Äquivalenzbibliothek. -
Es wurde ein Problem mit der
BackendV2Converterklasse beim Wrappen einesBackendV1-basierten Simulator. Er würde fehlschlagen, wenn entweder das Feldonline_datein der DateiBackendConfigurationfür den Simulator nicht vorhanden war oder wenn das Simulator-Backend ideale Implementierungen von Gattern unterstützte, die mehr als 1 Qubit umfassen. Behoben #9562. -
Es wurde ein falscher Rückgabewert der Methode
BackendV2Converter.meas_map()behoben, die stattdessen das Backenddtzurückgegeben hatte. -
Fehlende Rückgabewerte der Methoden
BackendV2Converter.drive_channel(),measure_channel(),acquire_channel()undcontrol_channel(). -
Die veralteten
QubitundClbiteigenschaftenregisterundindexwerden nun korrekt von QPY (qiskit.qpy) in allen gültigen Verwendungen vonQuantumRegisterundClassicalRegister. In früheren Versionen der Terra 0.23 Serie gingen diese Informationen verloren. In Versionen vor 0.23.0 wurden diese Informationen teilweise rekonstruiert, konnten aber falsch sein oder für bestimmte Registerkonfigurationen ungültige Schaltungen ergeben.Der korrekte Weg, den Index eines Bits innerhalb eines Schaltkreises und aller Register in diesem Schaltkreis, in denen das Bit enthalten ist, abzurufen, ist der Aufruf
QuantumCircuit.find_bit(). Diese Methode liefert in allen Terra-Versionen seit ihrer Hinzufügung in Version 0.19 die richtigen Informationen. -
Es wurde ein Problem mit der
InstructionScheduleMap.has_custom_gate()methode behoben, die immerTruezurückgab, wenn dasInstructionScheduleMapobjekt erstellt wurde vonTarget. Behoben #9595. -
Ein Fehler in den NumPy-based eigensolvers wurde behoben (
NumPyMinimumEigensolver/NumPyEigensolver) und in den SciPy-based Zeit-Evolvern (SciPyRealEvolver/SciPyImaginaryEvolver), wo Operatoren, die die Umwandlung in dünnbesetzte Matrizen unterstützen, wie z.BSparsePauliOptrotzdem in dichte Matrizen umgewandelt wurden. -
Es wurde ein Fehler in
generate_basic_approximations()behoben, bei dem die Umkehrung desSdgGatenicht korrekt erkannt wurde alsSGate. Behoben #9585. -
Ein Fehler im Algorithmus wurde behoben
VQDalgorithmus behoben, bei dem die Energiebewertungsfunktion keine Stapel von Parametern verarbeiten konnte, wodurch sie mit Optimierern mitmax_evals_grouped>1nicht kompatibel war. Behoben #9500. -
Fehler behoben in
QNSPSAder einen Typfehler auslöste, wenn die berechneten Fidelities zufällig vom Typintwaren, die Störung aber vom Typfloatwar.
Aer- 0.11.2
Keine Änderung
IBM Q Anbieter 0.20.1
Da qiskit-ibmq-provider nun veraltet ist, wurden die Abhängigkeiten auf die neuesten Arbeitsversionen umgestellt und korrigiert. Es gab ein Problem mit der neuesten Version des Pakets requests-ntlm , das dazu führte, dass einige End-to-End-Tests fehlschlugen.
0.41.0
Terra- 0.23.1
Vorspiel
Qiskit Terra 0.23.1 ist ein kleines Patch-Release zur Behebung von Fehlern in Qiskit Terra 0.23.0
Fehlerkorrekturen
-
Ein Kantenfall von pickle
InstructionScheduleMapmit nicht-picklable iterableargumentsist nun behoben. Zuvor konnte die Verwendung einer ungebeizbaren Iterable alsargumentsParameter fürInstructionScheduleMap.add()(z. B.dict_keys) konnte dazu führen, dass parallele Aufrufe vontranspile()fehlschlagen. Diese Argumente werden nun intern korrekt auflistnormalisiert. -
Es wurde ein Leistungsfehler in
ReverseEstimatorGradientbehoben, bei dem die Berechnung eine große Anzahl unnötiger Kopien anfertigte, wenn der Gradient nur für eine Teilmenge von Parametern oder in einer Schaltung mit vielen unparametrisierten Gattern berechnet wurde. -
Behebung einer fehlerhaften Verwerfung von
Register.name_formatbehoben, durch die das Klassenattribut nur für Instanzen und nicht für die Klasse verfügbar war. Beim Versuch, Aufträge mit dynamischen Schaltkreisen an Hardware-Backends zu senden, führte dies häufig zu dem Fehler:AttributeError: 'property' object has no attribute 'match'Behoben #9493.
Aer- 0.11.2
Keine Änderung
IBM Q Anbieter 0.20.0
Vorspiel
Diese Version des Pakets qiskit-ibmq-provider markiert das Paket als veraltet und wird in Zukunft zurückgezogen und archiviert. Die Funktionalität in qiskit-ibmq-provider wurde durch 3 Pakete qiskit-ibm-provider, qiskit-ibm-runtime und qiskit-ibm-experiment ersetzt, die verschiedene Teilmengen der in qiskit-ibmq-provider enthaltenen Funktionalität anbieten. Sie können die Tabelle hier einsehen:
https://github.com/Qiskit/qiskit-ibmq-provider#migration-guides
für Links zu den Migrationsleitfäden für den Umstieg von qiskit-ibmq-provider auf seine Ersatzpakete.
Hinweise zu veralteten Versionen
- Ab der Version 0.20.0 wird
qiskit-ibmq-providernicht mehr unterstützt und kann frühestens 3 Monate nach diesem Datum archiviert werden. Die von qiskit-ibmq-provider zur Verfügung gestellte Funktion wird nicht abgeschafft, sondern auf separate Repositories aufgeteilt. Siehe bitte https://github.com/Qiskit/qiskit-ibmq-provider#migration-guides.
Fehlerkorrekturen
-
In der kommenden Terra-Version wird es einen Release Candidate geben, der vor der endgültigen Version markiert wird. Das Ändern des Versionsstrings für das Paket wird jedoch im Moment vom qiskit-ibmq-provider blockiert, da er versucht, die Version zu analysieren und annimmt, dass es kein Prelease-Suffix im Versionsstring gibt (siehe #8200 für die Details). PR #1135 korrigiert diese Versionsanalyse, um die Regex aus dem pypa/packaging Projekt zu verwenden, die alle PEP440 Paketversionen mit Suffixen aus der Vorveröffentlichung behandelt. Dies ermöglicht es terra, ein 0.21.0rc1 Tag zu veröffentlichen, ohne den qiskit-ibmq-provider zu zerstören.
-
PR #1129 aktualisiert die Methode
least_busy(), so dass BaseBackend nicht mehr als gültiger Ein- oder Ausgabetyp unterstützt wird, da es in qiskit-terra schon lange veraltet ist und kürzlich entfernt wurde. -
threading.currentThreadundnotifyAllwurden in Python 3.10 (Oktober 2021) veraltet und werden in Python 3.12 (Oktober 2023) entfernt. PR #1133 ersetzt sie durchthreading.current_thread,notify_allhinzugefügt in Python 2.6 (Oktober 2008). -
Der Aufruf einer Quantenschaltung mit
dynamic=Trueführt nun zu einem Fehler, der den Benutzer auffordert, die neueqiskit-ibm-providerzu installieren.