Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
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 vous ne disposiez que de portes à qubit unique dans un ordinateur quantique, alors une calculatrice et certainement un superordinateur classique éclipseraient sa capacité 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
Supposons que vous avez deux qubits distincts dans les états suivants :
$$ \psi=\begin{bmatrix} \alpha \\ \beta \end{bmatrix} $$ $$ \phi=\begin{bmatrix} \gamma \\ \delta \end{bmatrix} $$
L’état à deux qubits correspondant est le résultat du produit tensoriel, ou du 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_{{01}\\\alpha__{{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 le vecteur $d’unité v_1 v_2 \otimes v_n\otimes\cdots\otimes$de dimension $2 \cdot 2 \cdot 2 \cdots= 2^n$ représente l’état quantique de $n$ qubits à l’aide de cette construction. Comme pour les qubits uniques, le vecteur d’état quantique de 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. Pour un système à deux qubits, il existe les quatre états suivants :
$$00 \equiv\begin{bmatrix} 1 \\ 0\end{bmatrix}\otimes\begin{bmatrix} 1 \\ 0\end{bmatrix}=\begin{bmatrix}1 \\ 0 0 0 \\\\\end{bmatrix}$$
$$ 01 \equiv\begin{bmatrix} 1 \\ 0 \end{bmatrix}\otimes\begin{bmatrix} 0 \\ 1 \end{bmatrix}=\begin{bmatrix} 0 \\ 1 \\ 0 \\ 0 \end{bmatrix}$$
$$10 \equiv\begin{bmatrix} 0 \\ 1 \end{bmatrix}\otimes\begin{bmatrix}1 \\ 0 \end{bmatrix}=\begin{bmatrix} 0 \\ 0 \\ 1 0 \\\end{bmatrix}$$
$$11 \equiv\begin{bmatrix} 0 \\ 1\end{bmatrix}\otimes\begin{bmatrix} 0 \\ 1\end{bmatrix}=\begin{bmatrix} 0 \\ 0 \\ 0 \\ 1\end{bmatrix}$$
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 aucun état $\psi$ et $\phi$ dont le produit tensoriel est l’état.
$$ \psi \otimes \phi = \begin{bmatrix}1 / \sqrt{{2}\\ 0 \\ 0 \\ 1/.\sqrt{{2}\end{bmatrix} $$
Un tel état à deux qubits, qui ne peut pas être écrit en tant que produit tensoriel d’états de qubit unique, est appelé état intriqué ; les deux qubits sont dits enchevêtrés. Faiblement parlant, parce que l’état quantique ne peut pas être considéré comme un produit tensoriel d’états qubits uniques, les informations que l’état contient ne sont pas limitées individuellement à l’un 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 de nombreux protocoles quantiques, y compris la correction des erreurs quantiques.
Mesure des états à deux qubits
La mesure des états à deux qubits est similaire aux mesures à qubit unique. Mesure de l’état
$$ \begin{bmatrix} \alpha_{{00}\\\alpha_{{01}\\\alpha__{{10}\\\alpha{{11}\end{bmatrix}$$
génère $00$ avec probabilité $|\alpha_{{00}|^2$, $01$ avec probabilité $|\alpha_{{01}|^2$, $10$ avec probabilité $|\alpha_{10}|^2$ et $11$ avec probabilité $|\alpha_{11}|^2$. Les variables $\alpha_{00}$, $\alpha_{01}$, $\alpha_{10}$ et $\alpha_{11}$ ont été délibérément nommées pour rendre cette connexion claire. Après la mesure, si le résultat est $00$, l’état quantique du système à deux qubits s’effondre, devenant ainsi.
$$ 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. Il est différent, car l’état entier n’est pas réduit à un état de base de calcul, plutôt qu’à 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, considérez mesurer le premier qubit de l’état suivant, qui est formé en appliquant la transformation de Hadamard $H$ sur deux qubits initialement définis à l’état 0 :
$$H^{\otimes 2}\left( \begin{bmatrix} 1 \\ 0 \end{bmatrix}\otimes\begin{bmatrix} 1 \\ 0 \end{bmatrix}\right) =\frac{{1}{2}\begin{bmatrix} 1 & 1 & 1 & 1 \\ 1 & -1 & 1 & -1 \\ 1 & 1 & -1 & -1 \\ 1 & -1 & -1 & 1 \end{bmatrix}\begin{bmatrix} 1 \\ 0 \\ 0 \\ 0\end{bmatrix}=\frac{{1}{2}\begin{bmatrix} 1 \\ 1 \\ 1 \\ 1\end{bmatrix}\mapsto\begin{cases}\text{Résultat }= 0 & \frac{{1}{\sqrt{2}}\begin{bmatrix} 1 \\ 1 \\ 0 \\ 0 \end{bmatrix}\\\text{Résultat }= 1 & \frac{{1}{\sqrt{{2}}\begin{bmatrix} 0 \\ 0 \\ 1 \\ 1 \end{bmatrix}\\\end{cases}. $$
Les deux résultats ont une probabilité de 50% de se produire. Ce résultat 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. Supposons $e_k$ être le $vecteur de base de calcul k^{\rmième}$ 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$. Ensuite, la probabilité de mesurer le qubit choisi à $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. Dans un format little-endian, les bits les moins significatifs viennent en premier. Par exemple, au format little-endian, la chaîne de bits 001 représente le nombre quatre.
Étant donné que chaque mesure qubit ne peut générer $que 0$ ou $1$, la probabilité de mesurer $0$ est $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, car la probabilité est égale à zéro.
Si vous prenez $\psi$ pour être le vecteur d’état uniforme donné précédemment et êtes intéressé par mesurer le premier qubit, puis
$$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. $$
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 \end{bmatrix}\right|^2 + \frac{1}{{4}\left|\begin{bmatrix} 0 & 0 & 0 & 1 \end{bmatrix}\begin{bmatrix} 1 \\ 1 \\ 1 \\ 1 \end{bmatrix}\right|^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 :
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}$$
aux premier et deuxième qubits, respectivement, cela revient à appliquer l'opérateur unitaire à deux qubits donné par leur produit de tenseur :
$$ \begin{bmatrix}a & ; b \\ c & ; d \end{bmatrix}\otimes\begin{bmatrix}e & ; f \\&g \end{bmatrix}amp ; h =\begin{bmatrix}ae & ; af & ; be & ; bf \\ ag & ; ah & ; bg & ; bh \\ ce & ; cf & ; de & ; 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\otimes\mathbf{1}$ 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_ e_{{0}\otimes{\psi}={{0}\otimes{\psi}$, où $e_0$ et $e_1$ sont les vecteurs de base de calcul d’un qubit unique correspondant aux valeurs $0$ et $1.$ Par exemple, considérez la porte contrôlée-Z$$ suivante, puis vous pouvez l’exprimer comme
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 des unités contrôlées nécessite de former une base de données de versions contrôlées de portes fondamentales et de remplacer chaque porte fondamentale dans l’opération unitaire d’origine par son équivalent contrôlé. Cette méthode est souvent gaspillée, et l’intuition peut souvent être utilisée pour remplacer simplement quelques portes par des versions contrôlées, permettant d’atteindre le même résultat. 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. Une porte NOT contrôlée classiquement, par exemple, est simplement une porte NOT ordinaire qui n'est appliquée que si un bit classique est $1$, par opposition à 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 comme
$$ \begin{align}(X \otimes\operatorname{CNOT}_{12}\otimes\mathbf{1}\otimes \mathbf{\mathbf{1}\otimes \mathbf{\mathbf{1}\otimes\mathbf{1}) \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}\equiv 0011001. \end{align} $$
Dans de nombreux systèmes qubits, il est souvent nécessaire d’allouer et de libérer des qubits qui servent de mémoire temporaire pour l’ordinateur quantique. Un tel qubit est dit être auxiliaire. Par défaut, vous pouvez supposer que l’état qubit est initialisé pour $e_0 lors de l’allocation$ . Vous pouvez également supposer que la porte revient à $e_0$ avant la désallocation. Cette hypothèse est importante car si un qubit auxiliaire devient enchevêtré avec un autre registre qubit lorsqu'il est désalloué, le processus de désallocation endommage 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 universel de portes $sur de nombreux qubits, car toute transformation unitaire générale peut être divisée en une série de deux rotations de qubits. Vous pouvez ensuite utiliser 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 à ce stade puisse certainement être utilisée pour décrire les états multi-qubits, elle devient de plus en plus fastidieuse à mesure que vous augmentez la taille des états. Le vecteur de colonne obtenu pour une chaîne 7 bits, par exemple, est $128$ dimensions, ce qui rend son expression fastidieuse à l’aide 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.