Notes de publication de Qiskit 0.29
0.29.1
Terra 0.18.2
Corrections des erreurs
- Correction d'un problème avec la fonction
assemble()lorsqu'elle est appelée avec le kwargbackenddéfini et que le kwargparametric_pulsesest défini sur une liste vide, le qobj de sortie contiendrait le paramètreparametric_pulsesde la fonctionBackendConfigurationau lieu de la liste vide attendue. Corrigé #6898 - Le dessinateur de circuits Matplotlib ne dupliquera plus les dessins lors de l'utilisation de
ipykernel>=6.0.0. Corrige #6889.
Aer 0.8.2
Pas de modification
Ignis 0.6.0
Pas de modification
Aqua 0.9.5
Corrections des erreurs
- Correction d'une erreur de manipulation dans le fournisseur Yahoo lorsqu'un seul ticker est saisi. Ajout d'une exception d'erreur si aucun téléscripteur n'est saisi. Limiter yfinance à >= 0.1.62 car les versions précédentes ont une erreur de décodage JSON.
IBM 0.16.0 du fournisseur Q
Pas de modification
0.29.0
Terra 0.18.1
Prélude
Cette version corrige quelques problèmes mineurs et régressions dans la version 0.18.0. Il y a également un changement mineur dans la façon dont pip gère le supplément [all] lors de l'installation directe de qiskit-terra , par rapport à 0.18.0.
Mise à niveau
pip install qiskit-terra[all]n'essaiera plus d'installer le supplémentbip-mapper. En effet, la dépendancecplexn'est pas bien supportée par la gamme des versions de Python et des systèmes d'exploitation pris en charge par Terra, et l'échec d'une dépendance supplémentaire entraînerait l'échec de la résolution de l'ensemble du paquet. Si vous utilisez Python 3.7 ou 3.8 et que vous êtes sur Linux-x64 ou -ppc64le, macOS-x64 ou Windows-x64 vous devriez pouvoir installerqiskit-terra[bip-mapper]explicitement, si vous le souhaitez, alors que d'autres combinaisons de systèmes d'exploitation, d'architectures de plates-formes et de versions Python échoueront probablement.
Corrections des erreurs
- Correction d'un problème où la classe
QuantumInstancepouvait essayer d'utiliser la classeCompleteMeasFitteravant qu'elle ne soit importée, ce qui provoquait une erreur. Corrigé #6774 - Correction des roues manquantes de Linux aarch64 qui n'ont pas été publiées pour la version 0.18.0. Ils devraient maintenant continuer à être construits comme prévu pour toutes les versions futures.
- Correction d'un problème avec les backends fictifs situés dans
qiskit.test.mockqui, dans certaines situations (principalement les backends fictifs avec des données stockées dans la base de données), permettaient à l'utilisateur d'accéder à la base de donnéesBackendPropertiesexécutant unQuantumCircuitavecqiskit-aerinstallé), le passage d'options d'exécution à la méthoderun()d'un faux objet backend n'était pas transmis au simulateur sous-jacent à la méthoderun()et n'avait pas d'effet. Corrigé #6741 - Correction d'un bug dans
EvolvedOperatorAnsatzlorsque la phase globale est égale à 0 (comme dans le cas deQAOAAnsatz) mais qu'il s'agit toujours d'unParameterExpression. - Correction d'un problème avec l'attribut
settingsdeQNSPSAqui manquait l'argumentfidelitydans la sortie. Ceci est maintenant correctement inclus dans la sortie de l'attribut. - Correction d'un problème avec la méthode
subgraph()de la classeCouplingMapqui ajoutait incorrectement des nœuds à l'objet outputCouplingMaplorsque l'argumentnodelistcontenait une liste non contiguë d'indices de qubits. Ce problème a été corrigé de sorte que, quels que soient les indices d'entrée dansnodelist, la sortie ne contiendra que les nœuds spécifiés réindexés à partir de 0CouplingMapne contiendra que les nœuds spécifiés réindexés à partir de 0. Corrige #6736 - Précédemment,
Optimize1qGatesDecompositionn'a pas réussi à optimiser correctement les portes à un qubit qui sont suffisamment proches de la matrice d'identité. Ce problème a été corrigé de sorte que toutes les portes qui diffèrent de l'identité de moins de 1e-15 sont supprimées. - Correction de la génération et du chargement des fichiers QPY avec
qiskit.circuit.qpy_serialization.dump()etqiskit.circuit.qpy_serialization.load()pour les objets contenant des instructions avec des conditions classiques sur un seul objetQuantumCircuitqui contiennent des instructions avec des conditions classiques sur un seulClbitau lieu d'unClassicalRegister. Bien que l'utilisation de conditionsClbitn'est pas encore totalement supportée, si vous les utilisiez dans un circuit, elles sont maintenant correctement sérialisées par QPY.
Aer 0.8.2
Pas de modification
Ignis 0.6.0
Pas de modification
Aqua 0.9.4
Pas de modification
IBM 0.16.0 du fournisseur Q
Nouvelles fonctions
-
Un utilisateur peut désormais définir et récupérer des préférences pour
qiskit.providers.ibmq.experiment.IBMExperimentService. Les préférences sont enregistrées sur le disque dans le fichier$HOME/.qiskit/qiskitrc. Actuellement, la seule option de préférence estauto_save, qui indique aux applications qui utilisent ce service, telles que qiskit-experiments, si vous souhaitez que les modifications soient automatiquement sauvegardées. Exemples d'utilisation :provider.experiment.save_preferences(auto_save=True) # set and save preferences provider.experiment.preferences # return all saved preferences -
Les méthodes
qiskit.providers.ibmq.experiment.IBMExperimentService.create_figure()etqiskit.providers.ibmq.experiment.IBMExperimentService.update_figure()acceptent désormais le mot-clésync_upload. Cette option détermine si la figure sera téléchargée de manière asynchrone ou synchrone vers le stockage en arrière-plan. Par défaut,sync_uploadestTruepour le téléchargement synchrone.
Mise à niveau
IBMExperimentServiceest mis à jour pour fonctionner avec le nouveauqiskit-experiments. En conséquence, la syntaxe du service d'expérimentation est radicalement modifiée. Cette modification fait cependant sortir le service d'expérimentation du mode bêta, et les modifications futures assureront la compatibilité ascendante conformément à la politique de dépréciation de Qiskit.qiskit.providers.ibmq.runtime.utils.RuntimeEncoderconvertit désormais un objet callable enNone, puisque les objets callables ne sont pas sérialisables en JSON.qiskit.providers.ibmq.IBMQBackend.run()n'accepte plus validate_qobj comme paramètre. Si vous comptez sur cette validation de schéma, vous devriez extraire les schémas de Qiskit/ibm-quantum-schemas et valider directement vos payloads avec cela.