Utiliser les vecteurs et matrices en informatique quantique

Une certaine connaissance des vecteurs et des matrices est essentielle pour comprendre l’informatique quantique. L’article Algèbre linéaire pour l’informatique quantique fournit un bref rappel, et les lecteurs qui souhaitent approfondir sont invités à lire une référence standard sur l’algèbre linéaire, comme Strang, G. (1993). Introduction à l’algèbre linéaire (vol. 3). Wellesley, MA : Wellesley-Cambridge Presse ou une référence en ligne telle que Linear Algèbre.

Vecteurs

Un vecteur colonne (ou simplement vecteur) $v$ de dimension (ou taille) $n$ est une collection de $n$ nombres complexes $(v_1,v_2,\ldots,v_n)$ organisés sous la forme d’une colonne :

$$v=\begin{bmatrix} v_1\\ v_2\\ \vdots\\ v_n \end{bmatrix}$$

La norme d’un vecteur $v$ est définie sous la forme $\sqrt{\sum_i |v_i|^2}$. Un vecteur est considéré comme étant de norme unitaire (il est également appelé vecteur unitaire) si sa norme est $1$. L’adjoint d’un vecteur$v$ est désigné $v^\dagger$ et défini comme étant le vecteur ligne suivant, où $*$ désigne le conjugué complexe,

$$\begin{bmatrix}\\ v_1 \vdots \\ v_n \end{bmatrix}^\dagger=\begin{bmatrix}v_1^* & ; \cdots&Ampli; v_n^*\end{bmatrix}$$

Notez qu’il y a une distinction entre un vecteur colonne $v$ et un vecteur ligne $v^\dagger$.

Produit intérieur

Deux vecteurs peuvent être multipliés entre eux en utilisant pour cela le produit intérieur, également appelé produit scalaire. Comme son nom l’indique, le résultat du produit intérieur de deux vecteurs est un scalaire. Le produit intérieur donne la projection d’un vecteur sur un autre. Il est très précieux pour décrire comment exprimer un vecteur comme somme d’autres vecteurs plus simples. Le produit intérieur entre deux vecteurs colonne $u=(u_1 , u_2 , \ldots , u_n)$ et $v=(v_1 , v_2 , \ldots , v_n)$, noté $\left\langle u, v\right\rangle$ est défini ainsi :

$$\left\langleu, v\right\rangle= u^\dagger v=\begin{bmatrix}u_1^* & ; \cdots&Ampli; u_n^* \end{bmatrix}\begin{bmatrix}v_1\\ \vdots\\ v_n=\end{bmatrix}u_1^{*} v_1 + + \cdots _n^{*} v_n. $$

Cette notation permet également d’écrire la norme d’un vecteur $v$ sous la forme $\sqrt{\langle v, v\rangle}$.

Un vecteur peut être multiplié par un nombre $c$ pour former un nouveau vecteur dont les entrées sont multipliées par $c$. Vous pouvez également ajouter deux vecteurs $u$ et $v$ pour former un nouveau vecteur dont les entrées sont la somme des entrées de $u$ et $v$. Ces opérations sont les suivantes :

$$\mathrm{If}~u =\begin{bmatrix} u_1\\ u_2\\ \vdots\\ u_n \end{bmatrix}~\mathrm{et}~ v =\begin{bmatrix} v_1\\ v_2\\ \vdots\\ v_n \end{bmatrix},~\mathrm{puis}~ au+bv =\begin{bmatrix} au_1+bv_1\\ au_2+bv_2\\ \vdots\\ au_n+bv_n \end{bmatrix}. $$

Une matrice de taille $m \times n $ est une collection de $mn$ nombres complexes organisés en $m$ lignes et $n$ colonnes comme indiqué ci-dessous :

$M =\begin{bmatrix} M_{11}~~{ M_{12}~~\cdots~~ M_{1n}\\ M_~~{{21} M_~~{22}{\cdots~~ M_{2n}\\\ddots\\ M_{m1}~~ M_{m2~~\cdots}~~ M_{mn.}\\\end{bmatrix}$

Notez qu’un vecteur de dimension $n$ est simplement une matrice de taille $n \times 1$. Comme pour les vecteurs, une matrice peut être multipliée par un nombre $c$ pour obtenir une nouvelle matrice dont chaque entrée est multipliée par $c$, et deux matrices de même taille peuvent être ajoutées pour produire une nouvelle matrice dont les entrées sont la somme des entrées respectives des deux matrices.

Multiplication de matrices

Vous pouvez également multiplier deux matrices $M$ de dimension $m\times n$ et $N$ de dimension $ n \times p$ pour obtenir une nouvelle matrice $P$ de dimension $m \times p$ comme suit :

$$\begin{\begin{align}&Ampli;\begin{bmatrix}{{11}~~ M_ M_~~{12}~~\cdots M_{1n}\\ M_~~{{21} M_\cdots~~{22}~~{ M_{2n\ddots\\}\\ M_{m1}~~ M_{m2~~\cdots~~} M_{mn}\end{bmatrix}\begin{bmatrix} N_{11}~~ N_{~~~~\cdots{12} N_{1p}\\ N_{21}{~~ N_~~\cdots~~{22} N_{2p\ddots\\}\\ N_{n1~~} N_{n2~~}\cdots~~ N_{np\end{bmatrix}=\begin{bmatrix}} P_ P_{{11}~~{12}~~\cdots~~{P_1p}\\ P_~~{{21} P_\cdots{22}~~{~~ P_{2p}\\\ddots\\ P_{m1}~~ P_{m2~~\cdots}~~ P_mp{}\end{bmatrix}\end{align}$$

où les entrées de $P$ sont $P_{ik}=\sum_j M_{ij}N_{jk}$. Par exemple, l’entrée $P_{11}$ est le produit intérieur de la première ligne de $M$ avec la première colonne de $N$. Notez que comme un vecteur est simplement un cas particulier de matrice, cette définition s’applicque à la multiplication matrice-vecteur.

Toutes les matrices que nous considérons sont des matrices carrées, avec le même nombre de lignes et de colonnes, ou des vecteurs, correspondant uniquement à $1$ colonne. Une matrice carrée spéciale est la matrice d’identité, notée $\mathbb{\mathbb{I}$, qui a tous ses éléments diagonals égal à $1$ et les éléments restants égal à $0$ :

$\mathbb{\mathbb{I}=\begin{bmatrix}1 ~~ 0\cdots~~~~0\\ 0 ~~ 1~~~~\cdots0\ddots\\\\~~ 0 ~~ 0\cdots~~~~ 1 .\end{bmatrix}$

Pour une matrice carrée $A$, une matrice $B$ est son inverse si $AB = BA =\mathbb{\mathbb{I}$. L’inverse d’une matrice ne doit pas nécessairement exister. Cependant, quand il existe, il est unique et noté $A^{-1}$.

Pour n’importe quelle matrice $M$, la matrice adjointe ou transposée conjuguée de $M$ est une matrice $N$ telle que $N_{ij}= M_{ji}^*$. La matrice adjointe de $M$ est généralement notée $M^\dagger$. Une matrice $U$ est unitaire si $UU^=\dagger U^\dagger U =\mathbb{I}$ ou de façon équivalente, $U^={{-1} U^.\dagger$ La conservation de la norme d’un vecteur est l’une des propriétés les plus importantes des matrices unitaires. Elle s’explique ainsi :

$\langle v,v \rangle=v^\dagger v = v^\dagger U^{-1} U v = v v^\dagger U\dagger ^ U v =\langle U v, U v\rangle.$

Une matrice $M$ est considérée hermitienne si $M=M^\dagger$.

Produit tensoriel

Le produit de Kronecker, également appelé produit direct de matrices ou produit tensoriel, représente une autre opération importante. Notez que le produit de Kronecker se distingue de la multiplication de matrices, qui est une opération totalement différente. Dans la théorie de l’informatique quantique, le produit tensoriel est couramment utilisé pour désigner le produit de Kronecker.

Considérez les deux vecteurs $v=\begin{bmatrix}a \\ b \end{bmatrix}$ et $u =\begin{bmatrix} c \\ d \\ e \end{bmatrix}$. Leur produit tensoriel est noté $v \otimes u$ et génère une matrice par blocs.

$$\begin{bmatrix} a \\ b \end{bmatrix}\otimes\begin{bmatrix} c \\ d \\ e \end{bmatrix}=\begin{bmatrix} a \begin{bmatrix} c \\ d \\ e \end{bmatrix}\\[1.5em] b \begin{bmatrix} c \\ d \\ e\end{bmatrix}\end{bmatrix}=\begin{bmatrix} a c \\ a d \\ a e \\ b c \\ b d \\ be\end{bmatrix}$$

Notez que le produit tensoriel est une opération sur deux matrices ou vecteurs de taille arbitraire. Le produit tensoriel de deux matrices $M$ de taille $m\times n$ et $N$ de taille $p \times q$ est une matrice plus grande $P=M\otimes N$ de taille $mp \times nq$, obtenue à partir de $M$ et $N$ comme suit :

$$\begin{align}M \otimes N & ;=\begin{bmatrix}{~~{11}\cdots~~ M_ M_{1n\ddots\\\\} M_{m1~~~~}\cdots M_{mn\begin{bmatrix}\otimes\end{bmatrix}} N_~~~~{11}\cdots{ N_{1q}\\\ddots\\ N_{p1}\cdots~~~~ N_{pq\end{bmatrix}\\&}amp ;=\begin{bmatrix}{\begin{bmatrix}{11}M_ N_~~{\cdots~~{11} N_{1q}\\\ddots\\ N_{p1\cdots~~}~~ N_{pq\end{bmatrix}~~}\cdots~~ M_{1n\begin{bmatrix}} N_~~\cdots{11}~~ N_{1q}\\\ddots\\ N_{p1\cdots~~~~} N_{pq}\ddots\\\end{bmatrix}\\ M_{m1}\begin{bmatrix} N_{11}\cdots{~~~~ N_{1q\ddots\\}\\ N_{p1~~}~~\cdots N_{pq~~\cdots}\end{bmatrix}~~ M_{mn N_}\begin{bmatrix}{{11}~~\cdots~~{N_1q}\\\ddots\\ N_{p1~~\cdots}~~ N_{pq.}\end{bmatrix}\end{bmatrix} \end{align} $$

Cela est mieux illustré avec un exemple : $$a\ b \\ c\ d \end{bmatrix}\begin{bmatrix}\otimese\ f g\\\ h \end{bmatrix}\begin{bmatrix}=a\begin{bmatrix} e\ f g\\\ h \end{bmatrix} b\begin{bmatrix} e\ f\\ g\ h \end{bmatrix}\\[1em] c\begin{bmatrix} e\ f g\\\ h \end{bmatrix} d\begin{bmatrix} e\ f g\\\ h \end{bmatrix}\begin{bmatrix}\end{bmatrix}=ae\ af\ be\ bf \\ ag\ ah\ bg\ bh \\ ce\ cf\ de\ df \\ cg\ ch\ dg\ dh .\end{bmatrix}\begin{bmatrix} $$

La dernière convention de notation utile encadrant les produits tensoriels est la suivante : pour n’importe quel vecteur $v$ ou matrice $M$, $v^{\otimes n}$ ou $M^{\otimes n}$ est une notation raccourcie pour un produit tensoriel répété $n$ fois. Par exemple :

\begin{align}&Ampli;\begin{bmatrix} 1 \\ 0 \end{bmatrix}^{\otimes 1=\begin{bmatrix}} 1 \\ 0 \end{bmatrix}, \qquad\begin{bmatrix} 1 \\ 0 \end{bmatrix}^{\otimes 2}\begin{bmatrix}= 1 \\ 0 \\0 \\0 \end{bmatrix}, \qquad\begin{bmatrix} 1 \\ -1 \end{bmatrix}^{\otimes 2\begin{bmatrix}}= 1 \\ -1 \\-1 1 \end{bmatrix}\\,&\\ amp ;\begin{bmatrix} 0 & ; 1 \\ 1& ; 0 \end{bmatrix}^{\otimes 1\begin{bmatrix}}= 0 amp ; 1&\\ 1& ; 0 \end{bmatrix}, \qquad\begin{bmatrix} 0 & ;&\\ 0 \end{bmatrix}^{\otimes 2}=\begin{bmatrix} 0 & ; 0& ; 0& ; 1 \\ 0 & ; 0& ; 1& ; 0 \\ 0 & ; 1& ; 0& ; 0\\ 1 & ; 0& ; 0& ; 0\end{bmatrix}. \end{align}

Étapes suivantes