Visualisations
qiskit.visualization
Le module de visualisation contient des fonctions qui permettent de visualiser les résultats des mesures, les états quantiques, les circuits, les dispositifs, etc.
Pour utiliser les fonctions de visualisation, vous devez installer les options de visualisation dans votre environnement de développement :
pip install 'qiskit[visualization]'De manière générale, les outils de visualisation de Qiskit peuvent appeler des programmes système à partir de données saisies par l'utilisateur, et ne doivent être utilisés qu'avec des données fiables. QuantumCircuit.draw()Les outils de visualisation fournis par Qiskit sont principalement destinés à la visualisation locale et permettent délibérément l'injection de code utilisateur à plusieurs endroits, par exemple dans les étiquettes de nœuds Graphviz (telles que les noms de registres dans DAGCircuit.draw()) ou dans les étiquettes d'instructions « LaTeX » issues de Instruction.label en mode latex .
Arguments courants relatifs aux mots-clés
La plupart des figures créées par les fonctions de visualisation de ce module sont créées par Matplotlib et acceptent un sous-ensemble des arguments communs suivants. Consultez la documentation individuelle pour plus de détails.
title(str) : une chaîne de texte à utiliser pour le titre de l'intrigue.legend(list) : une liste de chaînes à utiliser pour les étiquettes des données.figsize(tuple) : taille de la figure en pouces.color(list) : une liste de chaînes de caractères pour le traçage.ax( matplotlib.axes.Axes ) : Un objet facultatifAxesà utiliser pour la sortie de la visualisation. Si aucun n'est spécifié, un nouveau matplotlib.figure.Figure sera créée et utilisée. De plus, si elle est spécifiée,Figurene sera pas renvoyée car elle est redondante.filename(str) : chemin d'accès au fichier dans lequel l'image doit être enregistrée.
L'exemple suivant illustre l'utilisation courante de ces arguments :
from qiskit.visualization import plot_histogram
counts1 = {'00': 499, '11': 501}
counts2 = {'00': 511, '11': 489}
data = [counts1, counts2]
plot_histogram(data)
Vous pouvez spécifier legend, title, figsize et color en passant aux kwargs.
from qiskit.visualization import plot_histogram
counts1 = {'00': 499, '11': 501}
counts2 = {'00': 511, '11': 489}
data = [counts1, counts2]
legend = ['First execution', 'Second execution']
title = 'New histogram'
figsize = (10,10)
color=['crimson','midnightblue']
plot_histogram(data, legend=legend, title=title, figsize=figsize, color=color)
Vous pouvez enregistrer la figure dans un fichier en passant le nom du fichier à filename kwarg ou en utilisant la méthode matplotlib.figure.Figure.savefig méthode.
plot_histogram(data, filename='new_hist.png')
hist = plot_histogram(data)
hist.savefig('new_hist.png')Comptes Visualisations
Cette section contient des fonctions qui permettent de visualiser les résultats des mesures.
plot_histogram(données[, taille de l'image, couleur,...] ) | Tracer un histogramme des données de comptage d'entrée. |
Exemple d'utilisation
Voici un exemple d'utilisation de plot_histogram() pour visualiser le nombre de résultats de mesure :
from qiskit.visualization import plot_histogram
counts = {"00": 501, "11": 499}
plot_histogram(counts)
Les données peuvent prendre la forme d'un dictionnaire dont les clés sont des chaînes de bits et les valeurs des nombres, ou, plus couramment, d'un Counts objet obtenu à partir de get_counts().
Visualisations de distribution
Cette section contient des fonctions qui permettent de visualiser des distributions échantillonnées.
plot_distribution(données[, taille de l'image, couleur,...] ) | Tracer une distribution à partir de données échantillonnées en entrée. |
Visualisations d'État
Cette section contient des fonctions qui permettent de visualiser les états quantiques.
plot_bloch_vector(Bloch[, titre, hache,...] ) | Tracer la sphère de Bloch. |
plot_bloch_multivector(État[, titre,...] ) | Tracer une sphère de Bloch pour chaque qubit. |
plot_state_city(état[, titre, taille de l'illustration,...] ) | Tracer le paysage urbain de l'état quantique. |
plot_state_hinton(état[, titre, taille de l'illustration,...] ) | Tracez un diagramme de Hinton pour la matrice de densité d'un état quantique. |
plot_state_paulivec(état[, titre, taille de l'illustration,...] ) | Tracez la représentation du vecteur de Paul d'un état quantique sous la forme d'un diagramme à barres. |
plot_state_qsphere(état[, taille_figure, axe,...] ) | Tracer la représentation de la qsphère d'un état quantique. |
Exemple d'utilisation
Voici un exemple d'utilisation de plot_state_city() pour visualiser un état quantique :
from qiskit.visualization import plot_state_city
state = [[ 0.75 , 0.433j],
[-0.433j, 0.25 ]]
plot_state_city(state)
L'état peut être une liste de listes de type tableau, numpy.array ou, plus couramment Statevector , DensityMatrix des objets obtenus à partir d'un QuantumCircuit:
from qiskit import QuantumCircuit
from qiskit.quantum_info import Statevector
from qiskit.visualization import plot_state_city
qc = QuantumCircuit(2)
qc.h(0)
qc.cx(0,1)
# plot using a Statevector
state = Statevector(qc)
plot_state_city(state)
from qiskit import QuantumCircuit
from qiskit.quantum_info import DensityMatrix
from qiskit.visualization import plot_state_city
qc = QuantumCircuit(2)
qc.h(0)
qc.cx(0,1)
# plot using a DensityMatrix
state = DensityMatrix(qc)
plot_state_city(state)
Vous trouverez des exemples de code pour chaque fonction de visualisation sur la page API de la fonction individuelle.
Visualisations des appareils
plot_gate_map(backend[, figsize,...] ) | Trace la carte des portes d'un appareil. |
plot_error_map(backend[, figsize,...] ) | Affiche la carte des erreurs d'un backend donné. |
plot_circuit_layout(circuit, backend[,...] ) | Tracer l'agencement d'un circuit transposé pour un backend cible donné. |
plot_coupling_map(num_qubits,...[,...] ) | Trace une carte de couplage arbitraire de qubits (intégrés dans un plan). |
Visualisations de circuits
circuit_drawer(circuit[, échelle, nom de fichier,...] ) | Dessinez le circuit quantique. |
Visualisations DAG
dag_drawer(jour[, échelle, nom de fichier, style] ) | Tracer le graphe acyclique dirigé (dag) pour représenter les dépendances d'opérations dans un circuit quantique. |
Visualisations du gestionnaire de mots de passe
pass_manager_drawer(pass_manager[,...] ) | Dessine le gestionnaire de passe. |
Visualisations chronologiques
timeline_drawer(programme[, style,...] ) | Générer des données de visualisation pour les programmes de circuits programmés. |
Visualisations des transitions d'état d'un qubit unique
visualize_transition(circuit[, piste,...] ) | Crée une animation montrant les transitions entre les états d'un seul qubit en appliquant des portes quantiques. |
Visualisations de tableaux/matrices
array_to_latex(tableau[, précision, préfixe,...] ) | Représentation Latex d'un tableau numpy complexe (de dimension 1 ou 2) |
Exceptions
VisualizationError
exception qiskit.visualization.VisualizationError(*message)
Bases : QiskitError
Pour les erreurs spécifiques à la visualisation.
Définir le message d'erreur.