Partager via


Opérations sur plusieurs qubits

Cet article passe en revue les règles utilisées pour générer des états multiqubits à partir d’états à qubit unique. En outre, il présente les opérations de porte qui doivent être incluses dans un ensemble de portes pour créer un ordinateur quantique multiqubit universel. Ces outils sont nécessaires pour comprendre les ensembles de portes couramment utilisés dans le Q# code. Ils sont également importants pour obtenir une intuition sur la raison pour laquelle les effets quantiques tels que l’inanglement ou l’interférence rendent l’informatique quantique plus puissante que l’informatique classique.

Portes à qubit unique et multi-qubit

La véritable puissance de l’informatique quantique devient évidente à mesure que vous augmentez le nombre de qubits. Les qubits uniques possèdent certaines fonctionnalités contre-intuitives, telles que la possibilité d’être dans plusieurs états à un moment donné. Cependant, si tout ce que vous aviez dans un ordinateur quantique était des portes à qubit unique, alors une calculatrice et certainement un supercomputer classique nainrait sa puissance de calcul.

La puissance de l’informatique quantique réside en partie dans le fait que la dimension de l’espace vectoriel des vecteurs d’état quantique augmente de façon exponentielle avec le nombre de qubits. Cela signifie que si un seul qubit peut être modélisé très simplement, la simulation d’un calcul quantique à 50 qubits dépassera sans doute les limites des superordinateurs existants. L’augmentation de la taille du calcul par un seul qubit supplémentaire double la mémoire nécessaire pour stocker l’état et double approximativement le temps de calcul. Ce doublement rapide de la puissance de calcul est la raison pour laquelle un ordinateur quantique avec un nombre relativement faible de qubits peut largement dépasser les plus puissants des superordinateurs d’aujourd’hui, de demain, et même au-delà, pour certaines tâches de calcul.

États à deux qubits

Si vous avez deux qubits distincts, l’un dans l’état $\psi=\begin{bmatrix}\\\beta\end{bmatrix}$\alphaet l’autre dans l’état\end{bmatrix}$\\\gamma\delta$\phi=\begin{bmatrix} , l’état à deux qubits correspondant est donné par le produit tensoriel (ou produit Kronecker) de vecteurs, qui est défini comme suit

$$\psi\otimes\phi=\begin{bmatrix}\alpha\\\beta\end{bmatrix}\otimes\begin{bmatrix}\gamma\\\delta\end{bmatrix}=\begin{bmatrix}\alpha\begin{bmatrix}\gamma\\\delta\end{bmatrix}\\\beta\begin{bmatrix}\gamma\\\delta\end{bmatrix}\end{bmatrix}=\begin{bmatrix}\alpha\gamma\\\alpha\delta\\\beta\gamma\\\beta\delta\end{bmatrix}. $$

Par conséquent, étant donné deux états $\psi$ à qubit unique et $\phi$, chacun de la dimension 2, l’état $\psi\otimes\phi$ à deux qubits correspondant est de 4 dimensions. Le vecteur

$$\begin{bmatrix}\alpha_{{00}\alpha\\_{\\\alpha{01}__{{10}\\\alpha{{11}\end{bmatrix}$$

représente un état quantique sur deux qubits si

$$|\alpha_{00}|^2+|\alpha_{01}|^2+|\alpha_{{10}|^2+|\alpha_{{11}|^2=1.$$

Plus généralement, vous pouvez voir que l’état quantique de $n$ qubits est représenté par un vecteur d’unité $v_1 \otimes v_2 \otimes\cdots\otimes v_n$ de dimension $2 \cdot 2 \cdot 2 \cdots= 2^n$ en utilisant cette construction. Comme avec les qubits uniques, le vecteur d’état quantique à plusieurs qubits contient toutes les informations nécessaires pour décrire le comportement du système. Pour plus d’informations sur les vecteurs et les produits tensoriels, consultez Vecteurs et matrices en informatique quantique.

La base de calcul pour les états à deux qubits est formée par les produits tensoriels d’états de base d’un qubit. Par exemple, vous avez

$$\begin{\begin{align}00 \equiv\begin{bmatrix}1 \\ 0\begin{bmatrix}\end{bmatrix}\otimes 1 \\ 0 \end{bmatrix}& ;=\begin{bmatrix}1 \\ 0 0 0 \end{bmatrix}\\ ,\qquad 01\begin{bmatrix}\equiv 1 \\ 0 0 \\ \end{bmatrix}\otimes\begin{bmatrix}1 0 1=\\ \end{bmatrix}\begin{bmatrix}0 \\ 0\\ \end{bmatrix},\\ 10\begin{bmatrix}\equiv 0 \\ 1\begin{bmatrix}\end{bmatrix}\otimes 1 \\ 0 \end{bmatrix}& ;=\begin{bmatrix}\\0 0 1 0 , 11\begin{bmatrix}\equiv 0 \\ 1\begin{bmatrix}\end{bmatrix}\otimes 0 \\ 1 \end{bmatrix}=\begin{bmatrix}0 0 \\ 0\\\\ 1 .\end{bmatrix}\qquad \end{bmatrix}\\\\ \\ \end{align} $$

Notez que, bien que vous puissiez toujours prendre le produit tensoriel de deux états à qubit unique pour former un état à deux qubits, tous les états quantiques à deux qubits ne peuvent pas être écrits comme le produit tensoriel de deux états à qubit unique. Par exemple, il n’existe pas d’états $\psi=\begin{bmatrix}\alpha\\\beta\end{bmatrix}$ et $\phi=\begin{bmatrix}\gamma\\\delta\end{bmatrix}$ dont le produit tensoriel est l’état

$$\psi\otimes\phi=\begin{bmatrix} 1/\sqrt{{2}\\ 0 \\ 0 \\ 1/\sqrt{{2}\end{bmatrix}.$$

Ce type d’état à deux qubits, qui ne peut pas être écrit comme le produit tensoriel d’états monoqubits, est appelé « état intriqué ». Les deux qubits sont dits intriqués. Pour résumer, étant donné que l’état quantique ne peut pas être considéré comme un produit tensoriel d’états à qubit unique, les informations que l’état contient ne sont pas limitées à l’un ou l’autre des qubits. Au lieu de cela, les informations sont stockées non localement, dans les corrélations qui existent entre les deux états. Cette non-localité de l’information est l’une des principales caractéristiques distinctives de l’informatique quantique sur l’informatique classique et est essentielle pour un certain nombre de protocoles quantiques, y compris la correction des erreurs quantiques.

Mesure des états à deux qubits

La mesure d’états à deux qubits est très similaire à celle des états à qubit unique. Mesure de l’état

$$\begin{bmatrix}\alpha_{{00}\alpha\\_{\\\alpha{01}__{{10}\\\alpha{{11}\end{bmatrix}$$

donne $00$ avec une probabilité de $|\alpha_{{00}|^2$, $01$ avec une probabilité de $|\alpha_{01}|^2$, $10$ avec une probabilité de $|\alpha_{{10}|^2$ et $11$ avec une probabilité de $|\alpha_{11}|^2$. Les variables $\alpha_{00}, \alpha_{{01}, \alpha_{{10},$ et $\alpha_{11}$ ont été délibérément nommées pour clarifier cette connexion. Après la mesure, si le résultat est $00$, l’état quantique du système à deux qubits s’est réduit et est maintenant

$$ 00 \equiv\begin{bmatrix} 1 \\ 0 \\ 0 \\ 0 \end{bmatrix}. $$

Il est également possible de mesurer un qubit d’un état quantique à deux qubits. Lorsque vous mesurez un seul qubit d’un état à deux qubits, l’impact de la mesure est subtilement différent de la mesure de deux qubits. Cela est dû au fait que l’état entier n’est pas réduit à un état de base de calcul, plutôt qu’il est réduit à un seul sous-système. En d’autres termes, la mesure d’un qubit d’un état à deux qubits réduit uniquement le sous-système associé à un état de base de calcul.

Pour ce faire, envisagez de mesurer le premier qubit de l’état suivant, qui est formé en appliquant le H$ de transformation $Hadamard sur deux qubits initialement définis sur le &guillemet ; 0" ; état :

$$H^{\otimes 2}\left( \begin{bmatrix}1 \\ 0 \end{bmatrix}\otimes\begin{bmatrix}1 \\ 0\right\end{bmatrix} ) ={1}{2}\begin{bmatrix}\frac{1 & ; 1 & ; 1 & ; 1 &\\ amp ; -1 amp ; -1 & ; -1 &\\ amp ; -1 & ; &-1 amp ; -\\&1 & ; -1 amp ; -1 & ; -1 amp ; -1 & ; 1 1 \end{bmatrix}\begin{bmatrix}1 0\\ 0\\ 0=\frac{\end{bmatrix}{1}{2}\begin{bmatrix}\\\\ 1 1\\ 1 }=\begin{cases}\text{&\end{bmatrix}\mapsto\\ 0 amp ; \frac{{1}{\sqrt{2}}\begin{bmatrix}1 1 0 0\text{\end{bmatrix}\\\\ résultat }=1 & ;{2}}\begin{bmatrix}{1}{\sqrt{\frac{\\\\0 0\\\\ 1\\ 1 \end{bmatrix}\\\end{cases}. $$ Les deux résultats ont une probabilité de 50 % de se produire. Cela peut être intuit du fait que l’état quantique avant la mesure ne change pas si $0$ est échangé avec $1$ sur le premier qubit.

La règle mathématique pour mesurer le premier ou le deuxième qubit est simple. Laissez e_k être le $vecteur de base de calcul k^{\rm th}$ et $S$ être l’ensemble de toutes les $e_k$ de sorte que le qubit en question accepte la valeur $1$ pour cette valeur de $k$.$$ Par exemple, si vous souhaitez mesurer le premier qubit, $S$ se compose de $e_1\equiv 10$ et $e_3\equiv 11$. De même, si vous êtes intéressé par le deuxième qubit $S$ se compose de $e_2\equiv 01$ et $e_3 \equiv 11$. La probabilité pour que le qubit choisi mesure $1$ est pour le vecteur d’état $\psi$

$$ P(\text{résultat}=1)=\sum_{e_k \text{ dans l’ensemble } S}\psi^\dagger e_k e_k^\dagger\psi. $$

Remarque

Cet article utilise le format little-endian pour étiqueter la base de calcul. Avec le format Little Endian, ce sont les bits les moins significatifs qui sont placés en premier. Par exemple, au format Little Endian, le chiffre 4 est représenté par la chaîne de bits 001.

Étant donné que chaque mesure de qubit ne peut générer que $0$ ou $1$, la probabilité pour que la mesure soit $0$ est simplement $1-P(\text{résultat}=1)$. C’est pourquoi vous avez seulement besoin d’une formule pour la probabilité de mesurer $1$.

L’effet qu’une telle mesure a sur l’état peut être exprimé de façon mathématique sous la forme suivante

$$\psi\mapsto\frac{\sum_{e_k \text{ dans l’ensemble } S} e_k e_k^\dagger\psi}{\sqrt{P(\text{résultat}=1)}}. $$

Le lecteur prudent peut s’inquiéter de ce qui se passe si le dénominateur est égal à zéro. Bien que cet état ne soit pas défini, vous n’avez pas besoin de vous soucier de ces éventualités parce que la probabilité est zéro !

Si vous prenez $\psi$ pour être le vecteur d’état uniforme donné ci-dessus et êtes intéressé par mesurer le premier qubit alors

$$ P(\text{mesure du premier qubit}=1) = (\psi^\dagger e_1)(e_1^\dagger\psi)+(\psi^\dagger e_3)(e_3^\dagger\psi)=|e_1^\dagger\psi|^2+|e_3^\dagger\psi|^2. $$

Notez qu’il s’agit simplement de la somme des deux probabilités qui seraient attendues pour mesurer les résultats $10$ et $11$. Pour notre exemple, cela revient à

$$\frac{{1}{4}\left|\begin{bmatrix}0& ; 0& ; 1& ; 0\end{bmatrix}\begin{bmatrix}1 1\\\\ 1\\ 1\right|\end{bmatrix}^2+\frac{1}{{4}\left|\begin{bmatrix}0& ; 0& ; 0& ; 1\end{bmatrix}\begin{bmatrix}1\\ 1\\ 1\right|\end{bmatrix}\\^2.=\frac{{1}{{2} $$

qui correspond parfaitement à notre intuition. De même, l’état après le premier qubit est mesuré comme $1$ peut être écrit en tant que

$$\frac{\frac{e_1}{2}+\frac{e_3}{2}}{\sqrt{\frac{1}{2}}}=\frac{1}{\sqrt{2}}\begin{bmatrix} 0\\ 0\\ 1\\ 1\end{bmatrix}$$

là encore, conformément à notre intuition.

Opérations à deux qubits

Comme avec les qubits uniques, toute transformation unitaire est une opération valide sur les qubits. En général, une transformation unitaire sur $n$ qubits est une matrice $U$ de taille $2^n \times 2^n$ (elle agit donc sur les vecteurs de taille $2^n$), de sorte que $U^{-1}= U^\dagger$. Par exemple, la porte CNOT (controlled-NOT) est une porte à deux qubits couramment utilisée, qui est représentée par la matrice unitaire suivante :

$$\operatorname{CNOT}=\begin{bmatrix} 1\ 0\ 0\ 0 \\ 0\ 1\ 0\ 0 \\ 0\ 0\ 0\ 1 \\ 0\ 0\ 1\ 0 \end{bmatrix}$$

Nous pouvons également former des portes à deux qubits en appliquant des portes à qubit unique sur les deux qubits. Par exemple, si vous appliquez les portes

$$\begin{bmatrix} a\ b\\ c\ d \end{bmatrix}$$

et

$$\begin{bmatrix} e\ f\\ g\ h \end{bmatrix}$$

au premier et au deuxième qubits, respectivement, cela équivaut à appliquer l’unité à deux qubits donnée par leur produit de censure : $$\begin{bmatrix} a\ b\\ c\ d \end{bmatrix}\begin{bmatrix}\otimese\ f\\ g\ h \end{bmatrix}=\begin{bmatrix} ae\ af\ be\ bf \\ ag\ ah\ bg\ bh \\ ce\ cf\ df \\ cg\ ch\ dg\ dh .\end{bmatrix}$$

Ainsi, vous pouvez former des portes à deux qubits en prenant le produit tensoriel de certaines portes à qubit connues. Voici quelques exemples de portes à deux qubits : $H H\otimes$, $X\mathbf{1}$\otimes et $X \otimes Z$.

Notez que si deux portes à qubit unique définissent une porte à deux qubits en prenant leur produit tensoriel, l’inverse n’est pas vrai. Les portes à deux qubits ne peuvent pas être écrites en tant que produit tensoriel de portes à qubit unique. Les portes de ce type se nomment portes d’intrication. Un exemple de porte d’intrication est la porte CNOT.

L’intuition associée à une porte controlled-not peut être généralisée aux portes arbitraires. Une porte contrôlée en général est une porte qui agit comme une identité, sauf si un qubit spécifique est $1$. Vous désignez une unité contrôlée, contrôlée dans ce cas sur le qubit étiqueté $x$, avec un $\Lambda_x(U)$. Par exemple, $\Lambda_0(U) e_{{1}\otimes{\psi}=e_{1}\otimes U{\psi}$ et $\Lambda_0(U) e_{{0}\otimes{\psi}=e_{{0}\otimes{\psi}$, où $e_0$ et $e_1$ sont les vecteurs de base de calcul d’un seul qubit correspondant aux valeurs $0$ et $1$. Par exemple, considérez la porte contrôlée-Z$$ suivante, puis vous pouvez l’exprimer comme

$$\Lambda_0(Z)=\begin{bmatrix}1& ; 0& ; 0& ; 0\\0& ; 1& ; 0& ; 0\\0& ; 0& ; 1& ; 0\\0& ; 0& ; 0& ;-1 \end{bmatrix}=(\mathbf\mathbf{1}\otimes{ H)\operatorname{CNOT}(\mathbf{1}\otimes H). $$

La création d’unités contrôlées de manière efficace est un défi majeur. La façon la plus simple d’implémenter cela consiste à former une base de données comprenant les versions contrôlées des portes fondamentales, puis à remplacer chaque porte fondamentale dans l’opération d’origine par son équivalent contrôlé. Cela dit, cela constitue souvent un gaspillage. Vous pourriez donc vous servir d’insights pour remplacer quelques portes par leurs versions contrôlées afin d’obtenir le même impact. Pour cette raison, l’infrastructure offre la possibilité d’effectuer la méthode naïve de contrôle ou d’autoriser l’utilisateur à définir une version contrôlée de l’unitaire si une version optimisée paramétrée à la main est connue.

Les portes peuvent également être contrôlées à l’aide d’informations classiques. Les portes classiquement controlled-not sont les portes NOT qui sont appliquées uniquement si un bit classique est $1$ contrairement à un bit quantique. Dans ce sens, une porte contrôlée classiquement peut être considérée comme une instruction if dans le code quantique, où la porte est appliquée uniquement dans une branche du code.

Comme dans le cas d’un qubit unique, un ensemble de portes à deux qubits est universel si une matrice unitaire $4\times 4$ peut être approchée par un produit de portes issues de cet ensemble avec une précision arbitraire. Un exemple d’ensemble de portes universel est constitué de la porte Hadarmard, de la porte T et de la porte CNOT. En prenant des produits de ces portes, vous pouvez estimer n’importe quelle matrice unitaire sur deux qubits.

Systèmes multiqubits

Nous suivons exactement les mêmes modèles que ceux explorés dans le scénario avec deux qubits pour créer des états quantiques multiqubits à partir de systèmes plus petits. De tels états sont créés en formant les produits tensoriels d’états plus petits. Par exemple, vous pouvez encoder la chaîne de bits $1011001$ sur un ordinateur quantique. Vous pouvez encoder cela en tant que

$$ 1011001 \equiv\begin{bmatrix} 0 \\ 1 \end{bmatrix}\otimes\begin{bmatrix} 1 \\ 0 \end{bmatrix}\otimes\begin{bmatrix} 0 \\ 1 \end{bmatrix}\otimes\begin{bmatrix} 0 \\ 1 \end{bmatrix}\otimes\begin{bmatrix} 1 \\ 0 \end{bmatrix}\otimes\begin{bmatrix} 1 \\ 0 \end{bmatrix}\otimes\begin{bmatrix} 0 \\ 1 \end{bmatrix}. $$

Les portes quantiques fonctionnent exactement de la même façon. Par exemple, si vous souhaitez appliquer la $porte X$ au premier qubit, puis effectuer un CNOT entre les deuxième et troisième qubits, vous pouvez exprimer cette transformation en tant que

\begin{\begin{align}&ère; (X \otimes\operatorname{CNOT}_{{12}\otimes\mathbf{1}\otimes \mathbf \mathbf{\mathbf{1}{\otimes\otimes\mathbf{1} \mathbf{\mathbf{1}) \begin{bmatrix} 0 \\ 1 1 \end{bmatrix}\otimes\\\begin{bmatrix} 0 0\begin{bmatrix} \end{bmatrix}\otimes\\ 1 0 \\ 1\begin{bmatrix} \end{bmatrix}\otimes1 1\begin{bmatrix}\otimes\\ \end{bmatrix}0 1 0 \end{bmatrix}\otimes\begin{bmatrix} \\ 0 \end{bmatrix}\otimes\\\begin{bmatrix} 1 \end{bmatrix}\\& ;\qquad\qquad\equiv 0011001. \end{align}

Dans de nombreux systèmes qubit, il est souvent nécessaire d’allouer et de libérer des qubits qui servent de mémoire temporaire à l’ordinateur quantique. Un qubit de ce type est dit auxiliaire. Par défaut, vous pouvez supposer que l’état qubit est initialisé pour $e_0 lors de l’allocation$ . Vous pouvez également supposer qu’elle est retournée à $e_0$ avant la désallocation. Cette supposition est importante, car si un qubit auxiliaire est intriqué à un autre registre qubit lorsqu’il est libéré, le processus de désallocation endommagera le qubit auxiliaire. Pour cette raison, vous supposez toujours que ces qubits sont rétablis à leur état initial avant d’être libérés.

Enfin, même si de nouvelles portes ont dû être ajoutées à notre ensemble de portes afin d’obtenir un calcul quantique universel pour deux ordinateurs quantiques à deux qubits, il n’est pas nécessaire d’ajouter des portes dans le scénario multiqubit. Les portes $H$, $T$ et CNOT forment un ensemble de portes universel sur de nombreux qubits, car toute transformation d’unité générale peut être divisée en une série de rotations à deux qubits. Vous pouvez ensuite tirer parti de la théorie développée pour le cas à deux qubits et l’utiliser à nouveau ici lorsque vous avez de nombreux qubits.

Remarque

Bien que la notation algébrique linéaire utilisée jusqu’à présent puisse certainement être utilisée pour décrire les états multi-qubits, elle devient de plus en plus fastidieuse lorsque vous augmentez la taille des états. Le vecteur de colonne résultant pour une chaîne d’une longueur de 7 bits, par exemple, a $128$ dimensions, ce qui rend très difficile l’utilisation de la notation décrite précédemment. Au lieu de cela, la notation Dirac, un raccourci symbolique qui simplifie la représentation des états quantiques, est utilisé. Pour plus d’informations, consultez la notation Dirac.