Partage via


Conventions encadrant les schémas de circuit quantique

Parfois, les algorithmes quantiques sont plus faciles à comprendre dans un diagramme de circuit que dans la représentation de matrice écrite équivalente. Cet article explique comment lire les diagrammes de circuits quantiques et leurs conventions.

Pour plus d’informations, consultez Comment visualiser les diagrammes de circuits quantiques.

Lecture de diagrammes de circuits quantiques

Dans un circuit quantique, le temps s’écoule de gauche à droite. Les portes quantiques sont représentées dans l’ordre chronologique, la porte la plus à gauche étant la première appliquée aux qubits.

Prenez le diagramme de circuit quantique suivant comme exemple :

Diagramme d’un circuit quantique avec deux registres, une porte hadamard, une porte contrôlée et une mesure.

  1. Registre Qubit : les registres Qubit sont affichés sous forme de lignes horizontales, chaque ligne représentant un qubit. La ligne supérieure est le registre qubit étiqueté 0, la deuxième ligne est le registre qubit étiqueté 1, et ainsi de suite.
  2. Porte quantique : les opérations quantiques sont représentées par des portes quantiques. L’expression « porte quantique » est utilisée par analogie avec les portes logiques classiques. Les portes agissant sur un ou plusieurs registres de qubits sont représentées sous forme de cadres. Dans cet exemple, le symbole représente une opération Hadamard.
  3. Porte contrôlée : les portes contrôlées agissent sur deux qubits ou plus. Dans cet exemple, le symbole représente une porte CNOT. Le cercle noir représente le qubit de contrôle, et la croix dans un cercle représente le target qubit.
  4. Opération de mesure : le symbole du compteur représente une opération de mesure. L’opération de mesure prend un registre qubit en tant qu’entrée et génère des informations classiques.

Application de portes quantiques

Étant donné que le temps passe de gauche à droite, la porte la plus à gauche est appliquée en premier, par exemple, l’action du circuit quantique suivant est la matrice $unitaire CBA$.

Diagramme des portes quantiques appliquées de gauche à droite dans un circuit quantique.

Remarque

La multiplication des matrices obéit à la convention opposée : la matrice la plus à droite est appliquée en premier. Toutefois, dans les schémas de circuit quantique, la porte la plus à gauche est appliquée en premier. Cette différence peut parfois prêter à confusion. Il est donc important de noter cette différence majeure entre la notation algébrique linéaire et les schémas de circuit quantique.

Entrées et sorties de circuits quantiques

Dans un diagramme de circuit quantique, les fils entrant dans une porte quantique représentent les qubits qui sont entrés dans la porte quantique, et les fils sortant de la porte quantique représentent les qubits qui sont sorties de la porte quantique.

Le nombre d’entrées d’une porte quantique est égal au nombre de sorties d’une porte quantique. Cela est dû au fait que les opérations quantiques sont unitaires et donc réversibles. Si une porte quantique avait plus de sorties que d’entrées, elle ne serait pas réversible et donc pas unitaire, ce qui est une contradiction.

Pour cette raison, pour tout cadre tracé dans un schéma de circuit, le nombre de fils qui entrent et sortent doit être exactement le même.

Opérations multi-qubits

Les schémas de circuit à plusieurs qubits suivent des conventions similaires à ceux basés sur un qubit. Par exemple, une opération $unitaire à deux qubits B$ peut être définie $comme étant (H S\otimes X),$ le circuit quantique équivalent est le suivant :

Diagramme de circuit d’une opération unitaire à deux qubits.

Vous pouvez également voir $B$ comme ayant une action sur un registre de deux qubits plutôt que sur deux registres d’un qubit en fonction du contexte d’utilisation du circuit.

La propriété la plus utile de schémas de circuit aussi abstraits est peut-être qu’ils permettent de décrire des algorithmes quantiques compliqués à un niveau détaillé sans qu’il soit nécessaire de les compiler en portes fondamentales. Ainsi, vous pouvez avoir une idée intuitive du flux de données d’un grand algorithme quantique sans avoir à comprendre en détail le fonctionnement de chacune des sous-routines de l’algorithme.

Portes contrôlées

Les portes contrôlées par quantum sont des portes à deux qubits qui appliquent une porte à qubit unique à un target qubit si un qubit de contrôle est dans un état spécifique.

Par exemple, considérez une porte contrôlée quantique, indiquée $\Lambda(G),$ où une valeur de qubit unique contrôle l’application de l’opération $G$ . La porte $\Lambdacontrôlée (G)$ peut être comprise en examinant l’exemple suivant d’une entrée d’état de produit :

$\Lambda(G) (\alpha\ket{{0} + \beta\ket{1}) \ket{\psi}=\alpha\ket{{0}\ket{\psi} + \beta\ket{{1} G\ket{\psi}$

Autrement dit, la porte contrôlée applique $G$ au registre qui contient $\psi$ si et seulement si le qubit de contrôle prend la valeur $1$. En général, ces opérations contrôlées sont décrites dans les diagrammes de circuits par le symbole suivant :

Diagramme de circuit d’une porte contrôlée de manièreing.

Ici, le cercle noir représente le bit quantique sur lequel la porte est contrôlée, et un fil vertical représente l’unitaire qui est appliqué quand le qubit de contrôle prend la valeur $1$.

Pour les cas spéciaux où $G=X$ et $G=Z$, la notation suivante est utilisée pour décrire la version contrôlée des portes (notez que la porte contrôlée-X est la porte CNOT) :

Diagramme de circuit pour des cas spéciaux de portes contrôlées.

Q# offre des méthodes pour générer automatiquement la version contrôlée des opérations, évitant au programmeur d’avoir à les coder manuellement. En voici un exemple :

operation PrepareSuperposition(qubit : Qubit) : Unit
is Ctl { // Auto-generate the controlled specialization of the operation
    H(qubit);
}

Portes contrôlées classiquement

Les portes quantiques peuvent également être appliquées après une mesure, où le résultat de la mesure agit comme un bit de contrôle classique.

Le symbole suivant représente une porte contrôlée classiquement, où $G$ est appliqué conditionné sur la valeur $1$ du bit de contrôle classique :

Diagramme de circuit représentant une opération contrôlée.

Opérateur de mesure

Les opérations de mesure prennent un registre qubit, la mesure et génère le résultat sous forme d’informations classiques.

Une opération de mesure est représentée par un symbole de compteur. Elle prend toujours comme entrée un registre de qubits (représenté par une ligne pleine) et retourne des informations classiques (représentées par une ligne double). Plus précisément, le symbole de l’opération de mesure ressemble à ceci :

Symbole représentant une opération de mesure.

Dans Q#, l’opérateur Measure implémente l’opération de mesure.

Exemple : Transformation unitaire

Considérez la transformation unitaire $\text{ CNOT}_{01}(H\otimes 1)$. Cette séquence de portes revêt une importance fondamentale en informatique quantique, car elle crée un état à deux qubits intriqué au maximum :

$\mathrm{CNOT}_{01}(H\otimes 1)\ket{00}=\frac{1}{\sqrt{2}}\left(\ket{{00} + \ket{11}\right),$

Les opérations de cette complexité, voire d’une complexité supérieure, sont omniprésentes dans les algorithmes quantiques et la correction d’erreur quantique.

Le schéma de circuit pour la préparation de cet état quantique intriqué au maximum est le suivant :

Diagramme de circuit pour un état à deux qubits au maximum enchevêtré.

Le symbole derrière la porte Hadamard représente une porte CNOT, où le cercle noir indique le qubit de contrôle et la croix dans un cercle indique le target qubit. Ce circuit quantique est représenté comme agissant sur deux qubits (ou de manière équivalente, deux registres d’un qubit).

Exemple : Diagramme de circuit de téléportation

La téléportation quantique est l’un des meilleurs algorithmes quantiques pour illustrer les composants de circuit.

La téléportation quantique est un protocole qui permet à un état quantique d’être transmis d’un qubit à un autre, avec l’aide d’un état enchevêtré partagé entre l’expéditeur et le récepteur, et la communication classique entre eux.

À des fins d’apprentissage, l’expéditeur est appelé Alice, le récepteur est appelé Bob, et le qubit à téléporter est appelé qubit du message. Alice et Bob contiennent chacun un qubit, et Alice a un qubit supplémentaire qui est le qubit de message.

Le diagramme de circuit suivant illustre le protocole de téléportation :

Diagramme du circuit quantique du protocole de téléportation.

Nous allons décomposer les étapes du protocole de téléportation :

  1. Le registre qubit q0 est le qubit de message, le registre qubit q1 est le qubit d’Alice et le registre qubit q2 est le qubit de Bob. Le qubit de message est dans un état inconnu, et alice et les qubits de Bob sont dans l’état $\ket{0}$ .
  2. Une porte Hadamard est appliquée au qubit d’Alice. Étant donné que le qubit est dans l’état $\ket{0}$ , l’état résultant est $\frac{1}{\sqrt{{2}}(\ket{{0} + \ket{1})$.
  3. Une porte CNOT est appliquée aux qubits d’Alice et de Bob. Le qubit d’Alice est le qubit de contrôle, et le qubit de Bob est le target qubit. L’état résultant est $\frac{{1}{\sqrt{2}}(\ket{00} + \ket{{11})$. Alice et Bob partagent maintenant un état enchevêtré.
  4. Une porte CNOT est appliquée au qubit de message et au qubit d’Alice. Étant donné que le qubit d’Alice est également enchevêtré avec le qubit de Bob, l’état résultant est un état enchevêtré de trois qubits.
  5. Une porte Hadamard est appliquée au qubit de message.
  6. Alice mesure ses deux qubits et indique les résultats de mesure à Bob, ce qui n’est pas reflété dans le circuit. Les résultats de mesure sont deux bits classiques, qui peuvent prendre les valeurs 00, 01, 10 ou 11.
  7. Deux portes Pauli contrôlées classiquement X et Z sont appliquées au qubit de Bob, selon la valeur $1$ du bit de résultat. L’état résultant est l’état qubit du message d’origine.