Skip to main content
IBM Quantum Platform

Notes de publication de Qiskit 0.41


0.41.1

Terra 0.23.2

Prélude

Le correctif Qiskit Terra 0.23.2 corrige d'autres bogues identifiés dans la série 0.23.

Corrections des erreurs

  • Ajoutez les portes de Clifford suivantes, qui existent déjà dans la bibliothèque de circuits, à la classe Clifford à la classe SXGate, SXdgGate, CYGate, DCXGate, iSwapGate et ECRGate.

  • Ajouter une décomposition d'un ECRGate en portes de Clifford (jusqu'à une phase globale) à la bibliothèque d'équivalence standard.

  • Correction d'un problème avec la classe BackendV2Converter lors de l'encapsulation d'un simulateur basé sur BackendV1-dans un simulateur à base de Une erreur se produirait si le champ online_date dans le fichier BackendConfiguration du simulateur n'était pas présent ou si le backend du simulateur supportait des implémentations idéales de portes impliquant plus d'un qubit. Correction #9562.

  • Correction d'une valeur de retour incorrecte de la méthode BackendV2Converter.meas_map() qui renvoyait le backend dt à la place.

  • Correction des valeurs de retour manquantes des méthodes BackendV2Converter.drive_channel(), measure_channel(), acquire_channel() et control_channel().

  • Les fonctions obsolètes Qubit et Clbit les propriétés register et index seront désormais correctement contournées par QPY (qiskit.qpy) dans toutes les utilisations valides de QuantumRegister et ClassicalRegister. Dans les versions précédentes de la série Terra 0.23, cette information était perdue. Dans les versions antérieures à 0.23.0, ces informations étaient partiellement reconstruites mais pouvaient être incorrectes ou produire des circuits non valides pour certaines configurations de registres.

    La manière correcte de récupérer l'index d'un bit dans un circuit, et tous les registres de ce circuit dans lesquels le bit est contenu, est d'appeler QuantumCircuit.find_bit(). Cette méthode renverra des informations correctes dans toutes les versions de Terra depuis son ajout dans la version 0.19.

  • Correction d'un problème avec la méthode InstructionScheduleMap.has_custom_gate() qui renvoyait toujours True lorsque l'objet InstructionScheduleMap a été créé par Target. Correction #9595.

  • Correction d'un bug dans les eigensolvers de NumPy-based (NumPyMinimumEigensolver / NumPyEigensolver) et dans l'outil d'évolution temporelle SciPy-based (SciPyRealEvolver / SciPyImaginaryEvolver), où les opérateurs qui supportent la conversion en matrices éparses, tels que SparsePauliOpétaient tout de même convertis en matrices denses.

  • Correction d'un bug dans generate_basic_approximations() où l'inverse de l'élément SdgGate n'était pas correctement reconnue comme SGate. Correction #9585.

  • Correction d'un bogue dans l'algorithme VQD où la fonction d'évaluation de l'énergie ne pouvait pas traiter des lots de paramètres, ce qui la rendait incompatible avec les optimiseurs avec max_evals_grouped>1. Correction #9500.

  • Correction d'un bug dans QNSPSA qui soulevait une erreur de type lorsque les fidélités calculées étaient de type int mais que la perturbation était de type float.

Aer 0.11.2

Pas de modification

IBM 0.20.1 du fournisseur Q

Comme qiskit-ibmq-provider est maintenant obsolète, les dépendances ont été mises à jour et corrigées vers les dernières versions fonctionnelles. Il y a eu un problème avec la dernière version du paquet requests-ntlm qui a fait échouer certains tests de bout en bout.


0.41.0

Terra 0.23.1

Prélude

Qiskit Terra 0.23.1 est un petit patch qui corrige des bugs identifiés dans Qiskit Terra 0.23.0

Corrections des erreurs

  • Un cas limite de pickle InstructionScheduleMap avec des itérables non piquables arguments est maintenant corrigé. Auparavant, l'utilisation d'un itérable non piquable comme paramètre arguments à InstructionScheduleMap.add() (comme dict_keys) pouvait faire échouer les appels parallèles à transpile() échouent. Ces arguments seront désormais correctement normalisés en interne à list.

  • Correction d'un bug de performance dans ReverseEstimatorGradient où le calcul effectuait un grand nombre de copies inutiles si le gradient n'était calculé que pour un sous-ensemble de paramètres, ou dans un circuit comportant de nombreuses portes non paramétrées.

  • Correction d'une mauvaise dépréciation de Register.name_format qui rendait l'attribut class disponible uniquement pour les instances et non pour la classe. Lorsque l'on essaie d'envoyer des tâches de circuits dynamiques à des backends matériels, cela provoque souvent une erreur :

    AttributeError: 'property' object has no attribute 'match'

    Correction #9493.

Aer 0.11.2

Pas de modification

IBM 0.20.0 du fournisseur Q

Prélude

Cette version du paquet qiskit-ibmq-provider indique que le paquet est obsolète et qu'il sera retiré et archivé à l'avenir. La fonctionnalité de qiskit-ibmq-provider a été remplacée par 3 paquets qiskit-ibm-provider, qiskit-ibm-runtime, et qiskit-ibm-experiment qui offrent différents sous-ensembles de la fonctionnalité contenue dans qiskit-ibmq-provider . Vous pouvez consulter le tableau ici :

https://github.com/Qiskit/qiskit-ibmq-provider#migration-guides

pour des liens vers les guides de migration pour passer de qiskit-ibmq-provider à ses paquets remplaçants.

Remarques concernant la dépréciation

  • Depuis la version 0.20.0, qiskit-ibmq-provider est obsolète, son support est terminé et son archivage éventuel n'interviendra pas avant 3 mois à compter de cette date. La fonction fournie par qiskit-ibmq-provider n'est pas supprimée, elle est plutôt répartie dans des dépôts séparés. Voir aussi https://github.com/Qiskit/qiskit-ibmq-provider#migration-guides.

Corrections des erreurs

  • Dans la prochaine version de Terra, une version candidate sera étiquetée avant la version finale. Cependant, le changement de la chaîne de version pour le paquet est bloqué sur le qiskit-ibmq-provider en ce moment parce qu'il essaie d'analyser la version et suppose qu'il n'y aura pas de suffixe prelease sur la chaîne de version (voir #8200 pour les détails). PR #1135 corrige cette analyse de version pour utiliser le regex du projet pypa/packaging qui gère toutes les versions des paquets PEP440 en incluant les suffixes de pré-version. Cela permettra à terra de publier une étiquette 0.21.0rc1 sans casser le fournisseur qiskit-ibmq.

  • PR #1129 met à jour la méthode least_busy() pour qu'elle ne supporte plus BaseBackend comme type d'entrée ou de sortie valide puisqu'il a été déprécié depuis longtemps dans qiskit-terra et a été récemment supprimé.

  • threading.currentThread et notifyAll ont été supprimés dans Python 3.10 (octobre 2021) et seront supprimés dans Python 3.12 (octobre 2023). Le PR #1133 les remplace par threading.current_thread, notify_all ajouté à Python 2.6 (octobre 2008).

  • Les appels à l'exécution d'un circuit quantique avec dynamic=True génèrent désormais une erreur qui demande à l'utilisateur d'installer le nouveau qiskit-ibm-provider.

Cette page a-t-elle été utile ?
Signaler un bogue, une coquille ou proposer du contenu sur GitHub.