IBM Compositeur quantique
Description
IBM Quantum® Composer est un outil graphique de programmation quantique qui vous permet de glisser-déposer des opérations pour construire des circuits quantiques et les exécuter sur du matériel quantique.
Que peut-il faire?
Visualiser les états des qubits
Voyez comment les modifications apportées à votre circuit affectent l'état des qubits, sous la forme d'une q-sphère interactive, d'histogrammes montrant les probabilités de mesure ou de simulations de vecteurs d'état.
Exécuter sur du matériel quantique
Faites fonctionner vos circuits sur du matériel quantique réel pour comprendre les effets du bruit des appareils.
Générer automatiquement du code
Au lieu d'écrire du code à la main, générez automatiquement du code OpenQASM ou Python qui se comporte de la même manière que le circuit que vous avez créé avec le Composer.
Visite guidée de l'interface
IBM Quantum Composer est un ensemble d'outils personnalisables qui vous permettent de construire, de visualiser et d'exécuter des circuits quantiques sur des unités de traitement quantique (QPU). Le menu "Plus d'options" de chaque fenêtre permet d'accéder à des outils et actions supplémentaires.
-
Catalogue d'opérations - Ce sont les éléments constitutifs des circuits quantiques. Glissez-déposez ces portes et autres opérations dans l'éditeur graphique de circuits. Les différents types de barrières sont regroupés par couleur. Par exemple, les portes classiques sont en bleu foncé, les portes de phase en bleu clair et les opérations non unitaires en gris.
Pour en savoir plus sur les portes et les opérations disponibles, cliquez avec le bouton droit de la souris sur une opération et sélectionnez Info pour lire sa définition.
-
Éditeur de code - Utilisez le menu View pour ouvrir ou fermer l'éditeur de code, qui vous permet de visualiser le code OpenQASM ou Qiskit pour le circuit. Vous pouvez modifier le code OpenQASM; le code Qiskit est en lecture seule.
-
Éditeur de circuits graphiques - C'est ici que vous construisez un circuit. Faites glisser les portes et autres opérations sur les "fils" horizontaux des qubits qui constituent votre registre quantique.
Pour supprimer une porte d'un câble, sélectionnez la porte et cliquez sur l'icône de la corbeille.
Pour modifier les paramètres et les réglages des portes qui prennent en charge l'édition, sélectionnez la porte dans l'éditeur graphique et cliquez sur Modifier.
-
Barre d'outils - Permet d'accéder aux outils fréquemment utilisés pour annuler et rétablir des actions, modifier l'alignement de la porte et passer en mode inspection. Le mode inspection permet de visualiser, étape par étape, les états des qubits au fur et à mesure de l'évolution du calcul du circuit. Pour en savoir plus, voir Inspecter votre circuit, étape par étape.
-
Disques de phase - La phase du vecteur d'état du qubit dans le plan complexe est donnée par la ligne qui s'étend du centre du diagramme au bord du disque gris (qui tourne dans le sens inverse des aiguilles d'une montre autour du point central).
Le menu View permet d'afficher ou de masquer les disques de phase.
-
Visualisations - Les visualisations caractérisent votre circuit au fur et à mesure que vous le construisez. Ils utilisent un simulateur de vecteur d'état à prise unique, qui est différent de la QPU spécifiée dans les paramètres "Run circuit". Notez que les visualisations ignorent les opérations de mesure que vous ajoutez. Connectez-vous et cliquez sur Exécuter le circuit pour obtenir les résultats à partir du backend spécifié.
Pour en savoir plus, consultez la section Visualisations.
Construire, modifier et inspecter des circuits quantiques
Si vous souhaitez continuer à travailler sur un circuit ultérieurement, veillez à télécharger votre fichier de circuit et à le stocker localement avant de quitter votre session Composer en cours. Utilisez le lien "Enregistrer le fichier" dans le coin supérieur droit, ou allez dans le menu Fichier et choisissez "Enregistrer le fichier". Lorsque vous êtes prêt à travailler à nouveau avec le circuit, allez dans le menu Fichier et choisissez "Télécharger le fichier.qasm", puis naviguez jusqu'à votre fichier de circuit sur votre disque local et cliquez sur Ouvrir.
1. Ouvrez IBM Quantum Composer
- (Facultatif) Si vous n'êtes pas connecté à IBM Quantum, sélectionnez Sign in dans le coin supérieur droit. Ensuite, vous pouvez soit vous connecter, soit créer un compte IBM Cloud.
Si vous ne vous connectez pas, les visualisations affichent automatiquement les résultats simulés pour un maximum de quatre qubits. Si vous voulez faire fonctionner votre circuit sur un ordinateur quantique, ou si vous voulez visualiser un circuit qui a plus de quatre qubits, vous devez vous connecter.
-
Ouvrez IBM Quantum Composer en cliquant sur le lien dans la navigation de la page d'apprentissage. L'espace de travail affiche un circuit vide sans titre. Vous pouvez soit créer un nouveau circuit, soit télécharger un fichier.qasm pour continuer à travailler avec un circuit que vous avez déjà créé.
-
Nommez votre circuit en cliquant sur les mots Circuit sans titre et en tapant un nom pour votre circuit. Cliquez sur la coche pour enregistrer le nom.
-
(Facultatif) Personnalisez votre espace de travail :
- Utilisez le menu Affichage pour passer du thème par défaut à un thème monochrome. Vous pouvez également sélectionner les panneaux à inclure dans votre espace de travail, puis utiliser le menu situé dans le coin droit de chaque panneau pour accéder aux options permettant une personnalisation plus poussée. Les options permettant d'afficher ou de masquer les disques de phase, de choisir l'alignement des qubits sur votre circuit et de réinitialiser l'espace de travail à sa valeur par défaut se trouvent également dans le menu Affichage.
- Vous pouvez passer d'un thème d'espace de travail sombre à un thème d'espace de travail clair dans le coin inférieur droit du pied de page.
Pour construire un circuit, vous pouvez soit faire glisser et déposer des opérations, soit saisir le code OpenQASM dans l'éditeur de code.
2. Construisez votre circuit par glisser-déposer
Catalogue des opérations
Glissez-déposez les opérations du catalogue d'opérations sur les registres quantiques et classiques. Cliquez sur l'icône de recherche et entrez un terme dans la barre de recherche pour trouver rapidement une opération.
Réduisez et développez le catalogue d'opérations en cliquant sur l'icône dans le coin supérieur droit du panneau d'opérations. Cliquez sur l'icône à côté pour basculer entre une vue en grille et une vue en liste du catalogue.
Cliquez avec le bouton droit de la souris sur une icône d'opération et sélectionnez Info pour afficher la définition d'une opération, ainsi que sa référence QASM.
Pour annuler ou rétablir, utilisez les flèches courbes de la barre d'outils.
Alignement
Choisissez l'alignement libre pour placer les opérations n'importe où sur le circuit. Pour une vue plus compacte de votre circuit, choisissez l'alignement gauche. Pour connaître l'ordre d'exécution des opérations, choisissez l'option Alignement des calques, qui appliquera l'alignement à gauche et ajoutera des délimiteurs de colonnes indiquant l'ordre d'exécution, de gauche à droite et de haut en bas.
Une fois les opérations placées sur votre circuit, vous pouvez continuer à les faire glisser et à les déposer à de nouvelles positions.
Copie et collage
Cliquez sur une opération et utilisez les icônes du menu contextuel pour la copier et la coller.
Sélectionner plusieurs opérations
Vous pouvez sélectionner plusieurs opérations pour les copier et les coller, les faire glisser vers un nouvel emplacement ou les regrouper dans une opération unitaire personnalisée qui s'affiche dans votre catalogue d'opérations et fonctionne comme un portail unique.
Pour sélectionner plusieurs opérations, placez votre curseur juste à l'extérieur de l'une d'entre elles, puis cliquez et faites glisser le curseur sur la zone à sélectionner. Shift-cliquez sur des opérations individuelles pour les sélectionner ou les désélectionner. Une ligne en pointillés délimite l'ensemble des opérations sélectionnées et chaque opération faisant partie de la sélection est soulignée en bleu.
Par exemple, dans l'image suivante, la porte de Hadamard sur q1 et la porte CX sont sélectionnées. La porte de Hadamard sur q0 n'est pas sélectionnée.
Sélectionnez Copier dans le menu contextuel pour copier le groupe.
Pour coller le groupe d'opérations, faites un clic droit dans le circuit et sélectionnez Coller.
Créez une opération personnalisée à l'aide de la fonctionnalité de groupe
Pour regrouper plusieurs opérations et les enregistrer en tant qu'opération personnalisée, sélectionnez d'abord les opérations comme décrit ci-dessus, puis sélectionnez Grouper dans le menu contextuel. Vous êtes invité à donner un nom à l'opération personnalisée ou vous pouvez accepter le nom par défaut. Cliquez sur OK et l'opération personnalisée sera représentée par une seule case, à la fois dans votre circuit et dans le catalogue des opérations.
Vous pouvez maintenant faire glisser et déposer la nouvelle opération dans votre circuit. Notez que l'opération est enregistrée dans ce circuit mais n'apparaît pas dans le catalogue des opérations pour les autres circuits.
Vous pouvez également créer une opération personnalisée directement dans l'éditeur de code OpenQASM; voir Créer une opération personnalisée dans OpenQASM pour plus d'informations.
Dégrouper une opération personnalisée ou prédéfinie
Pour dégrouper les portes d'une opération personnalisée ou prédéfinie, cliquez sur l'opération dans le compositeur et sélectionnez Dégrouper dans le menu contextuel. Vous pouvez maintenant déplacer les opérations séparément. Lorsque vous dégroupez une opération, chaque élément de l'ancien groupe s'exécute indépendamment, ce qui peut signifier qu'ils s'exécutent dans un ordre différent de celui dans lequel ils étaient regroupés.
Développer la définition d'une opération
Pour visualiser les opérations qui constituent une opération personnalisée ou prédéfinie sans les dégrouper, cliquez sur Développer la définition dans le menu contextuel pour afficher les portes de définition. Cliquez à nouveau sur l'icône pour réduire la définition.
Renommer ou supprimer une opération personnalisée
Pour renommer ou supprimer une opération personnalisée, cliquez avec le bouton droit de la souris sur l'opération dans le catalogue des opérations et sélectionnez Renommer ou Supprimer. La suppression d'une opération personnalisée du catalogue des opérations supprime également toutes les instances de cette opération sur votre circuit.
La suppression d'une opération personnalisée du circuit lui-même ne la supprime pas du catalogue d'opérations; vous ne pouvez supprimer une opération personnalisée du catalogue qu'en cliquant avec le bouton droit de la souris et en sélectionnant Supprimer.
Ajouter ou supprimer des registres
Pour ajouter ou supprimer des registres quantiques ou classiques, cliquez sur Modifier → Gérer les registres. Vous pouvez augmenter ou diminuer le nombre de qubits ou de bits dans votre circuit et renommer les registres. Cliquez sur Ok pour appliquer les modifications. Vous pouvez également cliquer simplement sur le nom du registre (par exemple, q[0]) et utiliser les options du menu contextuel pour ajouter ou supprimer rapidement des registres ou des qubits.
Ajouter une condition
Pour ajouter une condition à une porte, faites glisser l'opération if sur la porte et définissez les paramètres dans le panneau Editer l'opération qui s'ouvre automatiquement. Vous pouvez également double-cliquer sur une porte pour accéder au panneau d'opération de modification et définir les paramètres conditionnels de cette manière.
Ajouter un modificateur de contrôle
Un modificateur de contrôle produit une porte dont le fonctionnement initial dépend désormais de l'état du qubit de contrôle. Pour plus de détails, cliquez avec le bouton droit de la souris sur le symbole du modificateur de contrôle dans le catalogue des opérations, puis cliquez sur Info.
Faites glisser le modificateur de contrôle sur une porte afin d'y ajouter un contrôle. Un point apparaît sur le qubit de contrôle et une ligne le relie au qubit cible. Pour modifier quel qubit est le contrôle ou la cible, cliquez sur la porte et sélectionnez l'icône d'opération d'édition (ou double-cliquez sur la porte) pour ouvrir le panneau d'opération d'édition, puis spécifiez vos paramètres. Dans le panneau d'opération Edit, vous pouvez également supprimer un contrôle d'un qubit en cliquant sur le x situé à côté du nom du qubit.
Visualisez à l'aide de disques de phase tout au long de votre circuit
Pour visualiser l'état de tous les qubits à n'importe quel point de votre circuit, faites glisser l'icône du disque de phase depuis le catalogue des opérations et placez-la n'importe où dans votre circuit. Une colonne d'opérations de barrière et une colonne de disques de phase sont ajoutées (une opération de barrière et un disque de phase par qubit). Survolez chaque disque de phase pour lire l'état du qubit à ce point du circuit. Notez que l'ajout des disques de phase ne modifie pas votre circuit; il s'agit simplement d'un outil de visualisation.
En savoir plus sur la visualisation du disque de phase.
Exporter une image de circuit
Pour exporter une image de votre circuit, sélectionnez Fichier → Exporter l'image du circuit. La fenêtre des options d'exportation s'ouvre et vous permet de choisir un thème (clair, foncé, blanc sur noir ou noir sur blanc), un format (.svg ou.png) et d'appliquer ou non un retour à la ligne. Après avoir choisi vos options, cliquez sur Exporter.
3. Construisez votre circuit avec le code de l' OpenQASM
IBM Quantum Composer prend actuellement en charge OpenQASM 2.0.
- Pour ouvrir l'éditeur de code, cliquez sur Vue → Panneaux → Éditeur de code.
- Voir le glossaire des opérations de Composer pour OpenQASM les références aux portes et autres opérations.
- Vous pouvez définir vos propres opérations personnalisées; voir Créer une opération personnalisée dans OpenQASM.
- Pour plus d'informations sur l'utilisation du langage OpenQASM, y compris des exemples de lignes de code, consultez le guide Introduction to OpenQASM ou lisez le document de recherche original, Open Quantum Assembly Language. Le tableau des déclarations linguistiques OpenQASM du document est reproduit ci-dessous. La grammaire de OpenQASM se trouve à l' annexe A du document.
| Instruction | Description | Exemple |
|---|---|---|
OPENQASM 2.0; | Indique un fichier au format OpenQASM (voir [a]) | OPENQASM 2.0; |
qreg [namesize]; | Déclarer un registre nommé de qubits | qreg [q5]; |
creg [namesize]; | Déclarer un registre nommé de bits | creg [c5]; |
inclure "nom de fichier"; | Ouvrir et analyser un autre fichier source | inclure “qelib1.inc”; |
gate name(params) qargs | Déclarer une porte unitaire | (voir le texte du document) |
nom opaque(params) qargs; | Déclarer une porte opaque | (voir le texte du document) |
// texte du commentaire | Commenter une ligne de texte | // oups! |
U(theta,phi,lambda) qubit|qreg; | Appliquer la (les) porte(s) à qubit unique intégrée(s) (voir [b]) | U( pi/2,2*pi/3,0) [q0]; |
CX qubit|qreg,qubit|qreg; | Appliquer la (les) porte(s) CNOT intégrée(s) | CX [q0], [q1]; |
mesure qubit|qreg -> bit|creg; | Effectuer la/les mesure(s) sur la base du site | mesure q -> c; |
réinitialiser le qubit|qreg; | Préparer le(s) qubit(s) en | réinitialiser [q0]; |
gatename(params) qargs; | Appliquer une porte unitaire définie par l'utilisateur | crz( pi/2 ) [q1], [q0]; |
si(creg==int) qop; | Application conditionnelle de l'opération quantique | if( c==5 ) CX [q0], [q1]; |
barrière qargs; | Empêcher les transformations à travers cette ligne de source | barrière [q0], [q1]; |
[a] Il doit s'agir de la première ligne sans commentaire du fichier.
[b] Les paramètres thêta, phi et lambda sont donnés par des expressions de paramètres; pour plus d'informations, voir la page 5 du document et l' annexe A.
Créer une opération personnalisée dans l' OpenQASM
Vous pouvez définir de nouvelles opérations unitaires dans l'éditeur de code (voir la figure ci-dessous pour un exemple). Les opérations sont appliquées à l'aide de l'instruction name(params) qargs; , tout comme les opérations intégrées. Les parenthèses sont facultatives s'il n'y a pas de paramètres.
Pour définir une opération personnalisée, saisissez-la dans l'éditeur de code OpenQASM en utilisant le format suivant : gatename(params) qargs;. Si vous cliquez sur +Ajouter dans la liste des opérations, vous serez invité à saisir un nom pour votre opération personnalisée, que vous pourrez ensuite construire dans l'éditeur de code.
Une fois que vous avez défini votre opération personnalisée, faites-la glisser dans l'éditeur graphique et utilisez l'icône d'édition pour affiner les paramètres.
Exemple d'opération personnalisée | |
|---|---|
| Les portes à inclure dans l'opération personnalisée : | ![]() |
| Le code de la nouvelle opération : | ![]() |
| La nouvelle opération dans l'éditeur graphique : | ![]() |
4. Inspectez votre circuit, étape par étape
Le mode Inspection démystifie le fonctionnement interne des circuits que vous créez. Il effectue une simulation de votre circuit, une couche à la fois, afin que vous puissiez voir l'état des qubits au fur et à mesure de l'évolution du calcul.
-
Dans le menu Affichage, sélectionnez les panneaux correspondant aux visualisations que vous souhaitez utiliser.
-
Cliquez sur le bouton Inspecter dans la barre d'outils. Notez qu'une fois le mode Inspection activé, vous ne pouvez plus ajouter d'opérations jusqu'à ce qu'il soit à nouveau désactivé.
-
Si vous avez construit votre circuit avec l'alignement Freeform activé, notez que le mode Inspection active automatiquement l'alignement Left.
-
Pour avancer pas à pas dans la visualisation des composants de votre circuit, utilisez les boutons "avancer" et "reculer".

-
Pour n'inspecter que certaines opérations, cliquez sur les opérations que vous souhaitez inspecter. Une superposition colorée apparaît alors pour indiquer qu'elles seront incluses lors de l'exécution en mode inspection. Pour désélectionner une opération, cliquez à nouveau sur celle-ci et la superposition disparaît.
-
Pour en savoir plus sur l'interprétation des visualisations, voir la rubrique Visualisations.
-
Pour quitter le mode Inspection et revenir à l'édition de votre circuit, cliquez sur le bouton Inspecter dans la barre d'outils.
Le simulateur crée un caractère aléatoire en générant des résultats à partir d'une graine. La graine est la valeur initiale introduite dans l'algorithme qui génère des nombres pseudo-aléatoires. Vous pouvez voir le numéro de la graine en sélectionnant "Visualisations graine" dans le menu Edition. Vous pouvez également définir vous-même la semence en modifiant la valeur dans la case.
Exécuter des circuits et afficher les résultats
Suivez les étapes ci-dessous pour exécuter des circuits quantiques sur des QPU et visualiser les résultats.
Choisissez vos paramètres professionnels
Cliquez sur Exécuter le circuit dans le coin supérieur droit. Dans la fenêtre qui s'ouvre, sélectionnez une QPU disponible. Vous pouvez également choisir une instance associée à un plan (tel que les plans Open, Flex ou Premium). L'instance que vous choisissez détermine les QPU disponibles. Cliquez sur le lien "Voir les détails" dans le tableau des QPU pour obtenir plus d'informations sur chaque QPU.
Ensuite, vous pouvez définir le nombre de tirs (exécutions) de votre circuit que le backend effectuera.
Vous pouvez également nommer le travail et ajouter des balises dans ce panneau. Cela ne changera pas le nom du circuit. Une étiquette "Composer" pré-remplie facilite le filtrage de votre tableau des charges de travail par les travaux de Composer. Vous pouvez supprimer cette étiquette.
Lorsque vous exécutez un circuit, il est automatiquement envoyé à la QPU la moins occupée, sauf si vous spécifiez une QPU dans les paramètres d'exécution. Si vous exécutez à nouveau le même circuit, la fenêtre de sélection du QPU reprendra par défaut votre choix précédent.
Cliquez sur « Exécuter sur (nom du QPU) »
Vous pouvez voir la progression du travail en cliquant sur le bouton "View jobs" dans le coin supérieur droit, ce qui ouvrira la page Workloads dans IBM Quantum Platform.
Afficher les résultats
Une fois le travail terminé, les détails sont mis à jour dans le tableau Workloads de IBM Quantum Platform.
La page des résultats des travaux affiche les détails de l'exécution, les diagrammes du circuit original et du circuit transpilé, un histogramme des résultats, ainsi que les onglets OpenQASM et Qiskit pour visualiser les circuits originaux et transpilés sur OpenQASM ou Qiskit.
Vous pouvez télécharger les circuits et l'histogramme en cliquant sur le menu situé dans le coin supérieur droit de chaque diagramme, puis en sélectionnant un format de téléchargement (PNG, PDF ou SVG; en outre, vous pouvez exporter l'histogramme sous la forme d'un fichier CSV). Vous pouvez ouvrir les circuits OpenQASM directement dans Composer.
Visualisations
Les visualisations en direct dans IBM Quantum Composer vous montrent différentes vues de la façon dont les circuits quantiques affectent l'état d'une collection de qubits. Chaque type de visualisation en direct est expliqué en détail ci-dessous.
Les visualisations en direct proviennent d'un simulateur de vecteur d'état à prise unique, ce qui est différent de la QPU spécifiée dans les paramètres d'exécution, qui peut avoir plusieurs prises. Le simulateur crée un caractère aléatoire en générant des résultats à partir d'une graine. La graine est la valeur initiale introduite dans l'algorithme qui génère des nombres pseudo-aléatoires. Vous pouvez voir le numéro de la graine en sélectionnant "Visualisations graine" dans le menu Edition. Vous pouvez également définir vous-même la semence en modifiant la valeur dans la case.
Voir les visualisations
Les visualisations en direct sont affichées dans des fenêtres situées en bas de l'espace de travail du Composeur (à l'exception du disque de phase, qui apparaît à l'extrémité de chaque fil de qubit). Vous pouvez choisir n'importe quelle combinaison de visualisations de vecteurs d'état, de probabilités et de sphères q qui apparaîtront au bas de l'espace de travail. Sélectionner ou désélectionner des visualisations dans le menu Affichage.
Télécharger les visualisations
Téléchargez l'une des visualisations situées au bas de l'espace de travail du Composeur en cliquant sur le menu "Plus d'options" dans la fenêtre de visualisation. Vous pouvez télécharger les visualisations sous forme de SVG, de PNG ou de CSV des données sous-jacentes. Vous pouvez également télécharger les images de visualisation des probabilités de mesure et des histogrammes des vecteurs d'état au format PDF.
Disque de phase
Un état à qubit unique peut être représenté comme suit
où est la probabilité que le qubit soit dans l'état , et est la phase quantique. est fortement analogue à un bit probabiliste classique. Pour , le qubit est dans l'état , pour le qubit est dans l'état , et pour le qubit est un mélange 50/50. On parle de superposition car, contrairement aux bits classiques, ce mélange peut avoir une phase quantique. Le disque de phase visualise cet état.
Le disque de phase à l'extrémité de chaque qubit dans IBM Quantum Composer donne l'état local de chaque qubit à la fin du calcul. Les composants du disque de phase sont décrits ci-dessous.
Probabilité que le qubit soit dans l' état
La probabilité que le qubit soit dans l'état est représentée par le remplissage du disque bleu.
Phase quantique
La phase quantique de l'état du qubit est donnée par la ligne qui s'étend du centre du diagramme au bord du disque gris (qui tourne dans le sens inverse des aiguilles d'une montre autour du point central).
Exemple : disques de phase pour deux qubits différents
Deux exemples de visualisation du disque de phase. Le premier exemple est un état et le second montre l'état avec une phase relative non nulle.
Connexion à la sphère de Bloch
Le disque de phase, qui contient toutes les informations de la sphère de Bloch, est une représentation bidimensionnelle d'un qubit. Pour convertir la représentation de la sphère de Bloch : , , et .
États à N qubits : 15 qubits au maximum
Un état quantique à N qubits se présente sous la forme suivante
où est la probabilité que les qubits soient dans l'état avec la phase quantique par rapport à l'état . est la probabilité que les qubits ne soient pas dans l'état fondamental . Ici, il est simple de voir que pour un état quantique à N qubits, il existe des probabilités et des phases . Le disque de phase ne permet pas de représenter cet état, car les disques de phase à N qubits ne contiendraient que des probabilités et des phases ; cela s'explique par le fait que la plupart des états sont intriqués et ne peuvent être séparés en états quantiques indépendants à qubits uniques. Pour représenter le fait que l'information complète n'est pas contenue dans cette visualisation, nous introduisons la pureté réduite en tant que composante du disque de phase.
Pureté réduite de l'état du qubit
Le rayon de l'anneau noir sur le disque de phase représente la pureté réduite de l'état du qubit, qui, pour l' e de qubit dans un état de qubits d' , est donnée par . La pureté réduite d'un qubit unique se situe dans l'intervalle ; une valeur égale à un indique que le qubit n'est intriqué avec aucun autre qubit. À l'inverse, une pureté réduite de l' e indique que le qubit se trouve dans un état de mélange complet et présente un certain degré d'intrication avec les qubits d' restants, voire avec l'environnement.
Vue des probabilités
limite de 8 qubits
Cette vue permet de visualiser les probabilités de l'état quantique sous la forme d'un graphique à barres. L'axe horizontal indique les états de base de calcul. L'axe vertical mesure les probabilités en termes de pourcentages. Dans cette optique, les phases quantiques ne sont pas représentées et il s'agit donc d'une représentation incomplète. Cependant, il est utile pour prédire les résultats si chaque qubit est mesuré et que la valeur est stockée dans son propre bit classique.
Considérons le circuit quantique suivant et sa vue des probabilités :
Le circuit place les deux qubits dans l'état . Les états de base computationnels sont et . Les probabilités pour chacun des états computationnels sont de 1/4.
Vue Q-sphère
limite de 5 qubits
La q-sphère représente l'état d'un système composé d'un ou plusieurs qubits en associant chaque état de la base de calcul à un point de la surface d'une sphère. Un nœud est visible à chaque point. Le rayon de chaque nœud est proportionnel à la probabilité ( ) de son état de base, tandis que la couleur du nœud indique la phase quantique ( ).
Les nœuds sont disposés sur la sphère q de manière à ce que l'état de base avec tous les zéros (par exemple, ) se trouve à son pôle nord et que l'état de base avec tous les uns (par exemple, ) se trouve à son pôle sud. Les états de base ayant le même nombre de zéros (ou de uns) se trouvent sur une latitude commune de la sphère q (par exemple, ). En partant du pôle nord de la sphère q et en progressant vers le sud, chaque latitude successive comporte des états de base avec un plus grand nombre de uns; la latitude d'un état de base est déterminée par sa distance de Hamming par rapport à l'état zéro. La q-sphère contient des informations complètes sur l'état quantique dans une représentation compacte.
Considérons le circuit quantique suivant et sa q-sphère, qui représente l'état créé par le circuit :

Vous pouvez sélectionner, maintenir et faire glisser la q-sphère pour la faire pivoter. Pour rétablir l'orientation par défaut de la q-sphère, sélectionnez le bouton de flèche de retour en haut à droite de la q-sphère.
Il est important de souligner que la q-sphère n’est pas la même que la sphère de Bloch, même pour un seul qubit. En effet, comme le disque de phase, la sphère de Bloch donne une vue locale de l'état quantique, où chaque qubit est considéré isolément. Pour comprendre comment les registres de qubits (états multi-qubits) se comportent lors de l'application de circuits quantiques, il est plus judicieux d'adopter une vision globale et d'examiner l'état quantique dans son intégralité. La q-sphère fournit une représentation visuelle de l'état quantique, et donc ce point de vue global. Par conséquent, lors de l'exploration d'applications et d'algorithmes quantiques sur un petit nombre de qubits, la q-sphère devrait être la principale méthode de visualisation.
Vue vecteur d'état
limite à 6 qubits
Il est courant d'appeler l'amplitude quantique. Cette vue permet de visualiser les amplitudes quantiques sous la forme d'un graphique à barres. L'axe horizontal indique les états de base de calcul. L'axe vertical mesure l'ampleur des amplitudes ( ) associées à chaque état de la base de calcul. La couleur de chaque barre représente la phase quantique ( ).
Considérons le circuit quantique suivant et son vecteur d'état :
Le circuit place les deux qubits dans l'état . Les états de base de calcul sont , , , et . Les amplitudes sont , et les phases quantiques par rapport à l'état fondamental sont pour et , et pour .
Glossaire des opérations du compositeur
Cette page est une référence qui définit les différentes opérations classiques et quantiques que vous pouvez utiliser pour manipuler les qubits dans un circuit quantique. Les opérations quantiques comprennent des portes quantiques, telles que la porte de Hadamard, ainsi que des opérations qui ne sont pas des portes quantiques, telles que l'opération de mesure.
Chaque entrée ci-dessous fournit des détails et la référence OpenQASM pour chaque opération. Pour plus d'informations, voir la rubrique " Construisez votre circuit avec le code OpenQASM ".
L'image de la sphère q dans chaque entrée de porte ci-dessous montre l'état après que la porte a opéré sur l'état de superposition égal initial , où est le nombre de qubits nécessaires pour supporter la porte. Voir la rubrique q-sphere pour plus d'informations sur cette visualisation.
Vous pouvez définir une opération personnalisée à utiliser dans IBM Quantum Composer. Pour obtenir des instructions, consultez la rubrique Créer une opération personnalisée sur OpenQASM.
Les couleurs du portail sont légèrement différentes selon qu'il s'agit d'un thème clair ou d'un thème foncé. Les couleurs du thème lumineux sont représentées ici.
Cliquez sur une opération quantique ci-dessous pour en voir la définition.
Portails classiques
NOT Gate
La porte NOT, également connue sous le nom de porte X de Pauli, renverse l'état en , et vice versa. La porte NOT est équivalente à RX pour l'angle ou à 'HZH'.
Référence du compositeur | OpenQASM référence | Q-sphere | Note sur les représentations des sphères q |
|---|---|---|---|
![]() | x q[0]; | ![]() | La représentation de la sphère q montre l'état après que la porte a opéré sur l'état de superposition égal initial où est le nombre de qubits nécessaires pour supporter la porte. |
Porte du CNOT
La porte NOT contrôlée, également connue sous le nom de porte CX contrôlée, agit sur une paire de qubits, dont l'un sert de "contrôle" et l'autre de "cible". Elle effectue un NOT sur la cible chaque fois que le contrôle est dans l'état . Si le qubit de contrôle est dans une superposition, cette porte crée un enchevêtrement.
Tous les circuits unitaires peuvent être décomposés en portes à qubit unique et en portes CNOT. Étant donné que l'exécution d'une porte CNOT à deux qubits sur du matériel réel prend beaucoup plus de temps que celle d'une porte à un qubit, le coût du circuit est parfois mesuré en fonction du nombre de portes CNOT.
Référence du compositeur | OpenQASM référence | Q-sphere | Note sur les représentations des sphères q |
|---|---|---|---|
cx q[0], q[1]; | ![]() | La représentation de la sphère q montre l'état après que la porte a opéré sur l'état de superposition égal initial où est le nombre de qubits nécessaires pour supporter la porte. |
Porte Toffoli
La porte de Toffoli, également connue sous le nom de porte CCX (double controlled-NOT gate), possède deux qubits de contrôle et une cible. Il applique un NOT à la cible uniquement lorsque les deux commandes sont dans l'état .
La porte de Toffoli et la porte de Hadamard constituent un ensemble de portes universel pour l'informatique quantique.
Référence du compositeur | OpenQASM référence | Q-sphere | Note sur les représentations des sphères q |
|---|---|---|---|
![]() | ccx q[0], q[1], q[2]; | ![]() | La représentation de la sphère q montre l'état après que la porte a opéré sur l'état de superposition égal initial où est le nombre de qubits nécessaires pour supporter la porte. |
Porte SWAP
La porte SWAP permute les états de deux qubits.
Référence du compositeur | OpenQASM référence | Q-sphere | Note sur les représentations des sphères q |
|---|---|---|---|
![]() | swap q[0], q[1]; | ![]() | La représentation de la sphère q montre l'état après que la porte a opéré sur l'état de superposition égal initial où est le nombre de qubits nécessaires pour supporter la porte. |
Porte d'identité
La porte de l'identité (parfois appelée porte de l'Id ou porte de l'I) est en fait l'absence de porte. Il garantit que rien n'est appliqué à un qubit pendant une unité de temps de porte.
Référence du compositeur | Référence QASM |
|---|---|
![]() | id q[0]; |
Portes de phase
Porte T
La porte T est équivalente à RZ pour l'angle . Les ordinateurs quantiques tolérants aux pannes compileront tous les programmes quantiques en se limitant à la porte T et à son inverse, ainsi qu'aux portes de Clifford.
Référence du compositeur | OpenQASM référence | Q-sphere | Note sur les représentations des sphères q |
|---|---|---|---|
t q[0]; | ![]() | La représentation de la sphère q montre l'état après que la porte a opéré sur l'état de superposition égal initial où est le nombre de qubits nécessaires pour supporter la porte. |
Porte S
La porte S applique une phase de à l'état . Il est équivalent à RZ pour l'angle . Notez que S=P( ).
Référence du compositeur | OpenQASM référence | Q-sphere | Note sur les représentations des sphères q |
|---|---|---|---|
s q[0]; | ![]() | La représentation de la sphère q montre l'état après que la porte a opéré sur l'état de superposition égal initial où est le nombre de qubits nécessaires pour supporter la porte. |
Porte Z
La porte Z de Pauli agit comme une identité sur l'état et multiplie le signe de l'état par -1. Il inverse donc les états et . Dans la base +/-, elle joue le même rôle que la porte NOT dans la base / .
Référence du compositeur | OpenQASM référence | Q-sphere | Note sur les représentations des sphères q |
|---|---|---|---|
z q[0]; | ![]() | La représentation de la sphère q montre l'état après que la porte a opéré sur l'état de superposition égal initial où est le nombre de qubits nécessaires pour supporter la porte. |
porte
Également connu sous le nom de Tdg ou T-dagger gate.
L'inverse de la porte T.
Référence du compositeur | OpenQASM référence | Q-sphere | Note sur les représentations des sphères q |
|---|---|---|---|
tdg q[0]; | ![]() | La représentation de la sphère q montre l'état après que la porte a opéré sur l'état de superposition égal initial où est le nombre de qubits nécessaires pour supporter la porte. |
porte
Également connu sous le nom de Sdg ou S-dagger gate.
L'inverse de la porte S.
Référence du compositeur | OpenQASM référence | Q-sphere | Note sur les représentations des sphères q |
|---|---|---|---|
sdg q[0]; | ![]() | La représentation de la sphère q montre l'état après que la porte a opéré sur l'état de superposition égal initial où est le nombre de qubits nécessaires pour supporter la porte. |
Porte de phase
La porte Phase (anciennement appelée porte U1 ) applique une phase de à l'état . Pour certaines valeurs de , elle est équivalente à d'autres portes. Par exemple, P( )=Z, P( / )=S, et P( )=T. Jusqu'à une phase globale de , il est équivalent à RZ( ).
Référence du compositeur | OpenQASM référence | Q-sphere | Note sur les représentations des sphères q |
|---|---|---|---|
p(theta) q[0]; | ![]() | La représentation de la sphère q montre l'état après que la porte a opéré sur l'état de superposition égal initial où est le nombre de qubits nécessaires pour supporter la porte. |
Dans IBM Quantum Composer, la valeur par défaut de theta est .
Porte RZ
La porte RZ met en œuvre . Sur la sphère de Bloch, cette porte correspond à une rotation de l'état du qubit autour de l'axe z selon l'angle donné.
Référence du compositeur | OpenQASM référence | Q-sphere | Note sur les représentations des sphères q |
|---|---|---|---|
![]() | rz(angle) q[0]; | ![]() | La représentation de la sphère q montre l'état après que la porte a opéré sur l'état de superposition égal initial où est le nombre de qubits nécessaires pour supporter la porte. |
Dans IBM Quantum Composer, la valeur par défaut pour angle est . Il s'agit donc de l'angle utilisé dans la visualisation de la sphère q.
Opérateurs et modificateurs non unitaires
Opération de réinitialisation
L'opération de réinitialisation ramène un qubit à l'état , quel que soit son état avant l'application de l'opération. Il ne s'agit pas d'une opération réversible.
Référence du compositeur | OpenQASM référence |
|---|---|
reset q[0]; |
Mesure
Mesure dans la base standard, également connue sous le nom de base z ou base de calcul. Peut être utilisé pour mettre en œuvre tout type de mesure lorsqu'il est combiné avec des portes. Il ne s'agit pas d'une opération réversible.
Référence du compositeur | OpenQASM référence |
|---|---|
measure q[0]; |
Modificateur de contrôle
Un modificateur de contrôle produit une porte dont le fonctionnement initial dépend désormais de l'état du qubit de contrôle. Lorsque la commande est dans l'état , le(s) qubit(s) cible(s) subit(vent) l'évolution unitaire spécifiée. En revanche, aucune opération n'est effectuée si le contrôle est dans l'état . Si la commande est dans un état de superposition, l'opération résultante découle de la linéarité.
Faites glisser le modificateur de contrôle sur une porte afin d'y ajouter un contrôle. Des points apparaissent au-dessus et au-dessous de la porte, sur les fils des qubits, qui peuvent être des cibles à contrôler; cliquez sur un ou plusieurs points pour assigner la cible à un ou plusieurs qubits. Vous pouvez également assigner un contrôle en cliquant avec le bouton droit de la souris sur une porte.
Pour supprimer un contrôle, cliquez avec le bouton droit de la souris sur le portail et sélectionnez l'option de suppression du contrôle.
Référence du compositeur | OpenQASM référence |
|---|---|
c |
Fonctionnement de la barrière
Pour rendre votre programme quantique plus efficace, le compilateur essaiera de combiner les portes. La barrière est une instruction donnée au compilateur pour empêcher la réalisation de ces combinaisons. En outre, il est utile pour les visualisations.
Référence du compositeur | OpenQASM référence |
|---|---|
![]() | barrier q; |
porte de Hadamard
Porte H
La porte H, ou porte de Hadamard, fait pivoter les états et en et , respectivement. Il est utile pour réaliser des superpositions. Si l'on dispose d'un ensemble de portes universelles sur un ordinateur classique et que l'on y ajoute la porte de Hadamard, on obtient un ensemble de portes universelles sur un ordinateur quantique.
Référence du compositeur | OpenQASM référence | Q-sphere | Note sur les représentations des sphères q |
|---|---|---|---|
h q[0]; | ![]() | La représentation de la sphère q montre l'état après que la porte a opéré sur l'état de superposition égal initial où est le nombre de qubits nécessaires pour supporter la porte. |
Portes quantiques
porte
Également connue sous le nom de porte NOT à racine carrée.
Cette porte met en œuvre la racine carrée de X, . En appliquant cette porte deux fois de suite, on obtient la porte de Pauli-X standard (porte NOT). Comme la porte de Hadamard, crée un état de superposition égal si le qubit est dans l'état , mais avec une phase relative différente. Sur certains matériels, il s'agit d'une porte native qui peut être implémentée avec une impulsion ou X90.
Référence du compositeur | OpenQASM référence | Q-sphere | Note sur les représentations des sphères q |
|---|---|---|---|
![]() | sx q[0]; | ![]() | La représentation de la sphère q montre l'état après que la porte a opéré sur l'état de superposition égal initial où est le nombre de qubits nécessaires pour supporter la porte. |
porte
Également connue sous le nom de porte SXdg ou porte NOT-dagger à racine carrée.
C'est l'inverse de la porte . En l'appliquant deux fois de suite, on obtient la porte de Pauli-X (porte NOT), puisque la porte NOT est son propre inverse. Comme la porte , cette porte peut être utilisée pour créer un état de superposition égal, et elle est également implémentée de manière native sur certains matériels à l'aide d'une impulsion X90.
Référence du compositeur | OpenQASM référence | Q-sphere | Note sur les représentations des sphères q |
|---|---|---|---|
![]() | sxdg q[0]; | ![]() | La représentation de la sphère q montre l'état après que la porte a opéré sur l'état de superposition égal initial où est le nombre de qubits nécessaires pour supporter la porte. |
Porte Y
La porte Y de Pauli est équivalente à Ry pour l'angle . Elle est équivalente à l'application de X et Z, jusqu'à un facteur de phase global.
Référence du compositeur | OpenQASM référence | Q-sphere | Note sur les représentations des sphères q |
|---|---|---|---|
y q[0]; | ![]() | La représentation de la sphère q montre l'état après que la porte a opéré sur l'état de superposition égal initial où est le nombre de qubits nécessaires pour supporter la porte. |
Porte RX
La porte RX implémente . Sur la sphère de Bloch, cette porte correspond à une rotation de l'état du qubit autour de l'axe x selon l'angle donné.
Référence du compositeur | OpenQASM référence | Q-sphere | Note sur les représentations des sphères q |
|---|---|---|---|
rx(angle) q[0]; | ![]() | La représentation de la sphère q montre l'état après que la porte a opéré sur l'état de superposition égal initial où est le nombre de qubits nécessaires pour supporter la porte. |
Dans IBM Quantum Composer, la valeur par défaut pour angle est . Il s'agit donc de l'angle utilisé dans la visualisation de la sphère q.
Porte RY
La porte RY met en œuvre . Sur la sphère de Bloch, cette porte correspond à la rotation de l'état du qubit autour de l'axe y selon l'angle donné et n'introduit pas d'amplitudes complexes.
Référence du compositeur | OpenQASM référence | Q-sphere | Note sur les représentations des sphères q |
|---|---|---|---|
ry(angle) q[0]; | ![]() | La représentation de la sphère q montre l'état après que la porte a opéré sur l'état de superposition égal initial où est le nombre de qubits nécessaires pour supporter la porte. |
Dans IBM Quantum Composer, la valeur par défaut pour angle est . C'est donc l'angle utilisé dans la visualisation de la sphère q ci-dessous.
Porte RXX
La porte RXX met en œuvre . La porte de Mølmer-Sørensen, la porte native des systèmes à piège à ions, peut être exprimée comme une somme de portes RXX.
Référence du compositeur | OpenQASM référence | Q-sphere | Note sur les représentations des sphères q |
|---|---|---|---|
rxx(angle) q[0], q[1]; | ![]() | La représentation de la sphère q montre l'état après que la porte a opéré sur l'état de superposition égal initial où est le nombre de qubits nécessaires pour supporter la porte. |
Dans IBM Quantum Composer, la valeur par défaut de angle est .
Porte RZZ
La porte RZZ ne nécessite qu'un seul paramètre : un angle exprimé en radians. Cette porte est symétrique; intervertir les deux qubits sur lesquels elle agit ne change rien.
Référence du compositeur | OpenQASM référence | Q-sphere | Note sur les représentations des sphères q |
|---|---|---|---|
rzz(angle) q[0], q[1]; | ![]() | La représentation de la sphère q montre l'état après que la porte a opéré sur l'état de superposition égal initial où est le nombre de qubits nécessaires pour supporter la porte. |
Dans IBM Quantum Composer, la valeur par défaut de angle est .
Porte U
(Précédemment appelée porte U3 ) Les trois paramètres permettent de construire n'importe quelle porte à un qubit. A une durée d'une unité de temps de porte.
Référence du compositeur | OpenQASM référence | Q-sphere | Note sur les représentations des sphères q |
|---|---|---|---|
u(theta, phi, lam) q[0]; | ![]() | La représentation de la sphère q montre l'état après que la porte a opéré sur l'état de superposition égal initial où est le nombre de qubits nécessaires pour supporter la porte. |
Dans IBM Quantum Composer, la valeur par défaut de angle est .
Porte RCCX
La porte de Toffoli simplifiée, également appelée porte de Margolus.
La porte de Toffoli simplifiée met en œuvre la porte de Toffoli jusqu'aux phases relatives. Cette mise en œuvre nécessite trois portes CX, ce qui est le minimum possible, comme le montre l'illustration suivante https://arxiv.org/abs/quant-ph/0312225. Notez que la porte de Toffoli simplifiée n'est pas équivalente à la porte de Toffoli, mais qu'elle peut être utilisée dans les cas où la porte de Toffoli n'est pas calculée à nouveau.
Référence du compositeur | OpenQASM référence | Q-sphere | Note sur les représentations des sphères q |
|---|---|---|---|
![]() | rccx a, b, c; | ![]() | La représentation de la sphère q montre l'état après que la porte a opéré sur l'état de superposition égal initial où est le nombre de qubits nécessaires pour supporter la porte. |
RC3X porte
La porte de Toffoli simplifiée à trois commandes.
La porte de Toffoli simplifiée met en œuvre la porte de Toffoli jusqu'aux phases relatives. Notez que la porte de Toffoli simplifiée n'est pas équivalente à la porte de Toffoli, mais qu'elle peut être utilisée dans les cas où la porte de Toffoli n'est pas calculée à nouveau.
Référence du compositeur | OpenQASM référence | Q-sphere | Note sur les représentations des sphères q |
|---|---|---|---|
![]() | rc3x a, b, c, d; | ![]() | La représentation de la sphère q montre l'état après que la porte a opéré sur l'état de superposition égal initial où est le nombre de qubits nécessaires pour supporter la porte. |


































