Notation Dirac en informatique quantique
La notation Dirac est conçue pour répondre aux besoins précis des états d’expression et de l’algèbre linéaire dans la mécanique quantique. Il est nommé après le physicien Paul Dirac, qui a développé la notation dans les années 1930. La notation Dirac est un moyen concis et puissant de décrire les états quantiques et les opérations. Il est utilisé dans l’informatique quantique pour décrire les états quantiques, les opérations quantiques et les mesures quantiques.
Cet article vous présente la notation Dirac et vous montre comment l’utiliser pour décrire les états et opérations quantiques.
Limitations de la notation de vecteur colonne
Bien que la notation vectorielle de colonne soit courante dans l’algèbre linéaire, elle est souvent utilisée dans l’informatique quantique, en particulier lors de la gestion de plusieurs qubits. Par exemple, quand vous définissez $\psi$ comme vecteur, on ne sait pas de façon explicite si $\psi$ est un vecteur ligne ou colonne. Donc, si $\phi$ et $\psi$ sont des vecteurs, le fait que $\phi\psi$ soit défini ou non est tout aussi flou, car les formes de $\phi$ et $\psi$ ne sont pas toujours claires dans le contexte. Au-delà de l’ambiguïté autour des formes des vecteurs, l’expression de vecteurs, même simples, à l’aide de la notation algébrique linéaire peut être complexe. Par exemple, si vous souhaitez décrire un état à $n$ qubits où chaque qubit prend la valeur $0$, vous exprimerez formellement l’état sous la forme
$$\begin{bmatrix}1 \\ 0 \end{bmatrix}\otimes\cdots\otimes\begin{bmatrix}1 \\ 0 \end{bmatrix}. $$
L’évaluation de ce produit tensoriel est impossible, car le vecteur se trouve dans un espace exponentiellement grand. Cette notation est en fait la meilleure description de l’état qui puisse être donnée à l’aide de la notation précédente.
Types de vecteur en notation de Dirac
Il existe deux types de vecteurs en notation de Dirac : le vecteur bra et le vecteur ket, en référence au produit bra-ket (ou intérieur) qu’ils forment conjointement, (« bracket » signifiant « chevron » en anglais, symbole utilisé dans la notation). Si $\psi$ est un vecteur colonne, nous pouvons l’écrire $\ket{\psi}$ en notation de Dirac, où $\ket{\cdot}$ indique qu’il s’agit d’un vecteur colonne unitaire, par exemple, un vecteur ket. De même, le vecteur ligne $\psi^\dagger$ est exprimé sous la forme $\bra{\psi}$. En d’autres termes, $\psi^\dagger$ s’obtient en appliquant le conjugué complexe des entrées aux éléments de la transposée de $\psi$. La notation bra-ket implique directement que $\braket{\psi|\psi}$ est le produit intérieur du vecteur $\psi$ avec lui-même, qui est par définition $1$.
Plus généralement, si $\psi$ et $\phi$ sont des vecteurs d’état quantique, leur produit intérieur est $\braket{\phi|\psi}$. Ce produit intérieur implique que la probabilité de mesurer l’état $\ket{\psi}$ comme étant $\ket{\phi}$ est $|\braket{\phi|\psi}|^2$.
La convention suivante est utilisée pour décrire les états quantiques qui codent les valeurs de zéro et un (les états de la base de calcul à un qubit) :
$$\begin{bmatrix} 1 \\ 0 \end{bmatrix}=\ket{{0},\qquad\begin{bmatrix} 0 \\ 1 \end{bmatrix}=\ket{{1}. $$
Exemple : Représenter l’opération Hadamard avec la notation de Dirac
La notation suivante est souvent utilisée pour décrire les états qui résultent de l’application de la porte de Hadamard à $\ket{0}$ et $\ket{1}$. Ces états correspondent aux vecteurs unitaires dans les directions $+x$ et $-x$ sur la sphère de Bloch :
$$\frac{1}{\sqrt{{2}}\begin{bmatrix} 1 \\ 1 \end{bmatrix}=H\ket{0}=\ket{+},\qquad\frac{1}{\sqrt{{2}}\begin{bmatrix} 1 \\ -1 \end{bmatrix}=H\ket{{1}=\ket{{-} . $$
Ces états peuvent également être développés à l’aide de la notation de Dirac comme sommes de $\ket{0}$ et $\ket{1}$ :
$$\ket{+}={1}{\sqrt{2}}\frac{(\ket{0} + \ket{1}),\qquad\frac{={1}{\sqrt{\ket{{2}}{-}(\ket{{0} - ). \ket{1} $$
Vecteurs de la base de calcul
Ceci montre pourquoi ces états sont souvent appelés base de calcul : chaque état quantique peut toujours être exprimé comme somme des vecteurs de la base de calcul, et ces sommes s’expriment facilement à l’aide de la notation de Dirac. L’inverse est également vrai dans le sens où les états $\ket{+}$ et $\ket{-}$ constituent aussi une base pour les états quantiques. Vous pouvez le déduire ainsi :
$$\ket{{0}=\frac{1}{\sqrt{2}}(\ket{+ + \ket{-}} ),\qquad\frac{{1}{\sqrt{=\ket{{1}{2}}(\ket{+} - ). \ket{-} $$
Prenons par exemple le bra-ket $\braket{0 | 1}$, qui est le produit intérieur entre $0$ et $1$ en notation de Dirac. Il peut s’écrire ainsi :
$$\braket{0 | 1 1 &}=\begin{bmatrix} amp ; 0 \end{bmatrix}\begin{bmatrix}0\\ 1\end{bmatrix}=0. $$
Cet exemple indique que $\ket{{0}$ et $\ket{{1}$ sont des vecteurs orthogonaux, ce qui signifie que $\braket{0 |1}=\braket{1 | 0}=0$. Par ailleurs, par définition, $\braket{0 | 0}=\braket{1 | 1}=1$, ce qui signifie que les deux vecteurs de la base de calcul peuvent également être appelés orthonormaux.
Ces propriétés orthonormales sont utilisées dans l’exemple suivant. Si vous avez un état $\ket{\psi}={\frac{3}{5}}\ket{{1} + {\frac{{4}{5}}\ket{0}$, alors, comme $\braket{1 | 0}=0$, la probabilité de mesure de $1$ est
$$\big|\braket{1 |\psi}\big|^2=\left|\frac{{3}{5}\braket{1 | 1} +\frac{{4}{5}\braket{1 | 0}\right|^2=\frac{{9}{{25}. $$
Notation du produit tensoriel
La notation Dirac inclut également une structure de produit de capteur implicite. Cette structure est importante, car en informatique quantique, le vecteur d’état décrit par deux registres quantiques non corrélés correspond aux produits tensoriels des deux vecteurs d’état. Il est essentiel de décrire de façon concise la structure du produit tensoriel (ou son absence) pour expliquer un calcul quantique. La structure du produit tensoriel implique que vous pouvez écrire $\psi\otimes\phi$ pour les deux vecteurs d’état quantique $\phi$ et $\psi$ sous la forme $\ket{\psi}\otimes\ket{\phi}$. Cependant, par convention, il n’est pas nécessaire d’écrire $\otimes$ entre les vecteurs, et vous pouvez simplement écrire $\ket{\psi}\ket{\phi}=\ket{\psi\phi}$. Pour plus d’informations sur les vecteurs et les produits tensoriels, consultez Vecteurs et matrices en informatique quantique. Par exemple, l’état avec deux qubits initialisés à l’état zéro est :
$$\ket{0}\otimes\ket{0}=\ket{{0}\ket{{0}=\ket{{00}=\begin{bmatrix} 1 \\ 0 \end{bmatrix}\otimes\begin{bmatrix} 1 \\ 0 \end{bmatrix}=\begin{bmatrix} 1 \\ 0 \\ 0 \\ 0 \end{bmatrix}. $$
De même, l’état $\ket{p}$ pour l’entier $p$ représente un état quantique qui code l’entier $$ en représentation binaire. Par exemple, vous pourriez tout aussi bien exprimer le chiffre $5$ à l’aide d’un codage binaire non signé de la façon suivante :
$$\ket{1}\ket{0}\ket{1}=\ket{101}=\ket{5}. $$
Avec cette notation, $\ket{0}$ ne doit pas nécessairement faire référence à un état à un qubit, mais plutôt à un registre de qubits qui stocke un codage binaire de $0$. Les différences entre ces deux notations sont claires du contexte. Cette convention est utile pour simplifier le premier exemple, qui peut être écrit de l’une des manières suivantes :
$$\begin{bmatrix}1 \\ 0 \end{bmatrix}\otimes\cdots\otimes\begin{bmatrix}1 \\ 0 \end{bmatrix}=\ket{{0}\otimes\cdots\otimes\ket{0}=|0\cdots 0\rangle=\ket{{0}^{\otimes n}$$
où $\ket{0}^{\otimes n}$ représente le produit tensoriel de $n$$\ket{0}$ états quantiques.
Exemple : Décrire la superposition avec la notation de Dirac
Comme autre exemple de la façon dont vous pouvez utiliser la notation Dirac pour décrire un état quantique, considérez les méthodes équivalentes suivantes d’écriture d’un état quantique qui est une superposition égale sur chaque chaîne de bits de longueur $n possible$
$$ H^{\otimes n}\ket{0}=\frac{1}{2^{n/2}}\sum_{j=0}^{2^n-1}\ket{j}=\ket{+}^{\otimes n}. $$
Vous vous demandez peut-être pourquoi la somme porte sur une plage de $0$ à $2^{n}-1$ pour $n$ bits. Notez tout d’abord que $n$ bits peuvent prendre $2^{n}$ configurations différentes. Vous pouvez le constater en notant qu’un bit peut prendre $2$ valeurs, mais que deux bits peuvent prendre $4$ valeurs et ainsi de suite. En général, ceci signifie qu’il y a $2^n$ chaînes de bits différentes possibles. Cependant, la plus grande valeur codée parmi ces chaînes $1\cdots 1=2^n-1$. C’est donc la limite supérieure de la somme. Remarquez que dans cet exemple, vous n’avez pas utilisé $\ket{+}^{\otimes n}=\ket{+}$ par analogie à $\ket{{0}^{\otimes n}=\ket{{0}$. Cette convention notationnelle est réservée à l’état de base de calcul avec chaque qubit initialisé à zéro. Bien qu’une telle convention soit sensible dans ce cas, elle n’est pas employée dans la littérature informatique quantique.
Exprimer la linéarité avec la notation de Dirac
Une autre caractéristique de la notation de Dirac est sa linéarité. Par exemple, pour deux nombres complexes $\alpha$ et $\beta$, vous pouvez écrire
$$\ket{\psi}\otimes ( \alpha\ket{\phi} + \beta\ket{\chi})=\alpha\ket{\psi}\ket{\phi} + \beta\ket{\psi}\ket{\chi}.$$
Autrement dit, vous pouvez distribuer la notation du produit tensoriel sous forme de notation de Dirac. Ainsi, quand vous prenez les produits tensoriels entre les vecteurs d’état, cela se présente finalement comme une multiplication classique.
Les vecteurs bra suivent une convention similaire à celle des vecteurs ket. Par exemple, le vecteur $\bra{\psi}\bra{\phi}$ est équivalent au vecteur d’état $\psi^\dagger\otimes\phi^\dagger=(\psi\otimes\phi)^\dagger$. Si le vecteur ket $\ket{\psi}$ est $\alpha\ket{0}+ \beta\ket{1}$, alors la version bra du vecteur est $\bra{\psi}=\ket{\psi}^\dagger= (\bra{{0}\alpha^* +\bra{1}\beta^*)$.
Par exemple, imaginons que vous souhaitiez calculer la probabilité de mesurer l’état $\ket{\psi}=\frac{3}{5}\ket{{1} + \frac{4}{5}\ket{0}$ à l’aide d’un programme quantique pour mesurer des états pouvant être $\ket{+}$ ou $\ket{{-}$. La probabilité que l’appareil indique comme sortie l’état $\ket{-}$ est
$$|\braket{- |\psi}|^2=\left|\frac{{1}{\sqrt{{2}}(\bra{0} - \bra{{1})(\frac{3}{5}\ket{{1} + \frac{{4}{5}\ket{0}) \right|^2=\left|-\frac{3}{5\sqrt{{2}} + \frac{{4}{5\sqrt{2}}\right|^2=\frac{{1}{{50}.$$
La présence du signe négatif dans le calcul de probabilité est une manifestation de l’interférence quantique, qui est l’un des mécanismes par lequel l’informatique quantique prend l’avantage sur l’informatique classique.
Produit ket-bra ou extérieur
Le dernier élément qu’il convient d’aborder concernant la notation de Dirac est le produit ket-bra ou extérieur. Le produit externe est représenté dans les notations Dirac comme $\ket{\psi}\bra{\phi}$, et parfois appelé ketbras parce que les bras et les kets se produisent dans l’ordre opposé comme freins. Le produit extérieur est défini par la multiplication des matrices sous la forme $\ket{\psi}\bra{\phi}=\psi\phi^\dagger$ pour les vecteurs d’état quantique $\psi$ et $\phi$. L’exemple le plus simple et certainement le plus courant de cette notation est :
$$\ket{0}\bra{{0}=\begin{bmatrix}1\\ 0 \end{bmatrix}\begin{bmatrix}1& ; 0 \end{bmatrix}=\begin{bmatrix}1 & ; 0\\ 0 & ; 0 0\end{bmatrix}=\ket{1}\qquad\begin{bmatrix}\\\bra{1} 1 \end{bmatrix}\begin{bmatrix}0& ; 1 \end{bmatrix}=\begin{bmatrix}0 & ; 0\\ 0 & ; 1\end{bmatrix}. $$
Les ket-bra sont souvent appelés projecteurs, car ils projettent un état quantique sur une valeur fixe. Comme ces opérations ne sont pas unitaires (et ne préservent même pas la norme d’un vecteur), un ordinateur quantique ne peut pas appliquer un projecteur de façon déterministe. Toutefois, les projecteurs décrivent de façon très efficace l’action de la mesure sur un état quantique. Par exemple, si vous mesurez un état $\ket{\psi}$ comme $0$, la transformation de l’état qui en résulte est
$$\ket{\psi}\rightarrow \frac{(\ket{{0}\bra{{0})\ket{\psi}}{|\braket{0 |\psi}|}=\ket{{0},$$
comme vous l’attendiez si vous avez mesuré l’état et trouvé qu’il était $\ket{0}$. Rappelons qu’un ordinateur quantique ne peut pas appliquer ces projecteurs sur un état de manière déterministe. En fait, ils peuvent, au mieux, être appliqués de façon aléatoire avec le résultat $\ket{0}$ apparaissant avec une probabilité fixe. La probabilité de réussite d’une telle mesure peut être écrite comme valeur de prédiction du projecteur quantique dans l’état
$$\bra{\psi} (\ket{0}\bra{0})\ket{\psi}=|\braket{\psi| 0}|^2, $$
ce qui montre que les projecteurs offrent un nouveau moyen d’exprimer le processus de mesure.
Si vous envisagez plutôt de mesurer le premier qubit d’un état à plusieurs qubits comme $1$, vous pouvez également décrire ce processus facilement à l’aide de projecteurs et de la notation de Dirac :
$$P(\text{first qubit = 1})=\bra{\psi}\left(\ket{{1}\bra{{1}\otimes \mathbf{\mathbf{1}^{\otimes n-1}\right) . \ket{\psi} $$
Ici, la matrice d’identité peut être écrite facilement en notation de Dirac ainsi :
$$\mathbb{I}{0}=\ket{\bra{0}+\ket{\bra{1}={1}\begin{bmatrix}1& ; 0\\ 0& ; 1 \end{bmatrix}. $$
En présence de deux qubits, le projecteur peut être développé sous la forme suivante :
$$\ket{1}\bra{1}\otimes\mathbb{I}\ket{\otimes={1}\bra{1} (\ket{0}\bra{0}+\ket{1}{1}\bra{)={10}\ket{10}\bra{ + . \ket{{11}\bra{{11} $$
Vous constatez ici la cohérence avec la discussion sur les probabilités de mesure pour les états à plusieurs qubits avec la notation en vecteur colonne :
$$ P(\text{premier qubit = 1})=\psi^\dagger (e_{10}e_{10}^\dagger + e_{{11}e_{{11}^\dagger)\psi=|e_{{10}^\dagger\psi|^2 + |e_{11}^\dagger\psi|^2, $$
ce qui correspond à la discussion sur la mesure avec plusieurs qubits. Cependant, la généralisation de ce résultat au cas impliquant plusieurs qubits est légèrement plus simple à exprimer avec la notation de Dirac qu’avec la notation en vecteur colonne et est totalement équivalente au traitement précédent.
Opérateurs de densité
La notation de Dirac permet d’exprimer un autre opérateur utile : l’opérateur de densité, parfois appelé opérateur d’état. En tant que vecteur d’état quantique, l’opérateur de densité décrit l’état quantique d’un système. Bien que les vecteurs d’état quantique ne puissent représenter que des états purs, les opérateurs de densité peuvent également représenter des états mixtes.
Plus généralement, un une matrice $\rho$ donnée est un opérateur de densité valide si les conditions suivantes sont remplies :
- $\rho$ est une matrice de nombres complexes
- $\rho = \rho ^{\dagger}$ (autrement dit, $\rho$ est hermitien)
- Chaque valeur $propre p$ de $\rho$ n’est pas négative
- La somme de toutes les valeurs propres de $\rho $ est égale à 1
Ensemble, ces conditions garantissent que $\rho$ peut être considéré comme un ensemble. Un opérateur de densité pour un vecteur d’état quantique $\ket{\psi}$ prend la forme $\rho =\sum_i p_i \ket{\psi_i}\bra{\psi_i}$ est une décomposition de valeur propre de $\rho$, puis $\rho$ décrit l’ensemble $\rho ={\ket{\psi_i}\text{ avec la probabilité } p_i }$.
Les états quantiques purs sont ceux qui sont caractérisés par un seul vecteur ket ou wavefunction et ne peuvent pas être écrits en tant que mélange statistique (ou combinaison convexe) d’autres étast quantiques. Un état quantique mixte est un ensemble statistique d’états purs.
Sur une sphère Bloch, les états purs sont représentés par un point sur la surface de la sphère, tandis que les états mixtes sont représentés par un point intérieur. L’état mixte d’un qubit unique est représenté par le centre de la sphère, par symétrie. La pureté d’un état peut être visualisé comme le degré dans lequel il est proche de la surface de la sphère.
Ce concept de représentation de l’état comme matrice, plutôt qu’un vecteur, est souvent pratique, car il donne un moyen pratique de représenter les calculs de probabilité, et vous permet également de décrire à la fois l’incertitude statistique et l’incertitude quantique dans le même formalisme.
Un opérateur de densité $\rho$ représente un état pur si et seulement si :
- $\rho$ peut être écrit comme un produit externe d’un vecteur d’état, $\rho=\ket{\psi}\bra{\psi}$
- $\rho =\rho^2$
- $tr(\rho^2)=1$
Pour déterminer la façon dont la fermeture d’un opérateur de densité $\rho$ donné est pure, vous pouvez examiner la trace (autrement dit, la somme des éléments diagonales) de $\rho^2$. Un opérateur de densité représente un état pur si et seulement si $tr(\rho ^{2})=1$.
Séquences de portes Q# équivalentes aux états quantiques
Abordons un dernier point important concernant la notation quantique et le langage de programmation Q# : au début de ce document, nous avons mentionné que l’état quantique est l’objet d’information fondamental en informatique quantique. L’absence de notion d’état quantique dans le langage Q# peut donc sembler étonnante. En fait, tous les états sont décrits uniquement par les opérations utilisées pour les préparer. L’exemple précédent en offre une excellente illustration. Au lieu d’exprimer une superposition uniforme sur chaque chaîne de bits quantiques dans un registre, vous pouvez représenter le résultat sous la forme $H^{\otimes n}\ket{0}$. Grâce à cette description exponentiellement plus courte de l’état, vous pouvez en avoir un raisonnement classique. De plus, elle définit de manière concise les opérations qui doivent être propagées par l’intermédiaire de la pile logicielle pour implémenter l’algorithme. Pour cette raison, Q# est conçu pour émettre des séquences de portes plutôt que des états quantiques. Toutefois, à un niveau théorique, les deux perspectives sont équivalentes.