Vecteurs et matrices dans l’informatique quantique
Une certaine connaissance de l’algèbre linéaire est essentielle pour comprendre l’informatique quantique. Cet article présente les concepts de base de l’algèbre linéaire et explique comment utiliser des vecteurs et des matrices dans l’informatique quantique.
Vecteurs
Un vecteur de colonne, ou vecteur pour un format court, $v$ de dimension (ou taille) $n$ est une collection de $nombres$ complexes $(v_1,v_2,\ldots,v_n)$ organisés en tant que 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 appelé vecteur d’unité si sa norme est $1$.
L’adjoint d’un vecteur de colonne $v$ est un vecteur de ligne indiqué comme $v^\dagger$ et est défini comme la transpose de conjugue de $v$. Pour un vecteur de colonne $v$ de dimension $n$, l’adjoint est un vecteur de ligne de dimension $1 \times n$ :
$$\begin{bmatrix}\\ v_1 \vdots \\ v_n \end{bmatrix}^\begin{bmatrix}=\daggerv_1^* amp ; &\cdots&ère; v_n^*\end{bmatrix}$$
où $v_i^*$ désigne la conjugaison complexe de $v_i$.
À l’aide de l’algèbre linéaire, l’état d’un qubit $=\psia \ket{0} + b \ket{1}$ est décrit comme un vecteur$\begin{bmatrix} d’état quantique b \\ \end{bmatrix}$, où $|a|^2 + |b|^2 = 1.$ Pour plus d’informations, consultez le qubit.
Produit scalaire
Deux vecteurs peuvent être multipliés par le produit scalaire, également appelé produit dot ou produit interne. Comme le nom l’indique, le résultat du produit scalaire de deux vecteurs est un scalaire. Le produit scalaire donne la projection d’un vecteur sur un autre et est utilisé pour exprimer un vecteur sous la forme d’une somme d’autres vecteurs plus simples. Le produit scalaire entre deux vecteurs $de colonne u$ et $v$ est indiqué comme $\left\langle u, v\right\rangle= u^\dagger v $ et est défini comme étant
$$\left\langleu, v u^\dagger v=\begin{bmatrix}=\right\rangle u_1^* amp ; &\cdots&ère; u_n^* \end{bmatrix}\begin{bmatrix}v_1 \\\vdots\\ v_n u_1\end{bmatrix}=^* v_1 + + \cdots u_n^* v_n. $$
Avec le produit scalaire, la norme d’un vecteur $v$ peut être écrite en tant que $\sqrt{\langle v, v\rangle}$.
Vous pouvez multiplier un vecteur par un nombre $a$ pour former un nouveau vecteur dont les entrées sont multipliées par $un$. 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{Si}~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}$$
Matrices
Une matrice de taille $m \times n$ est une collection de $nombres complexes m\cdot n$ organisés en $lignes m$ 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}$
Remarque
Notez qu’un vecteur de dimension $n$ est simplement une matrice de taille $n \times 1$.
Les opérations quantiques sont représentées par des matrices carrées, autrement dit, le nombre de lignes et de colonnes est égal. Par exemple, les opérations à qubit unique sont représentées par $2 \times$ matrices, comme l’opération Pauli $X$
$$X =\begin{bmatrix} 0 & ; 1 \\ 1 & ; 0 \end{bmatrix}$$
Conseil
Dans Q#, l’opération Pauli $X$ est représentée par l’opération X
.
Comme pour les vecteurs, vous pouvez multiplier une matrice avec un nombre $c pour obtenir une nouvelle matrice où 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 une matrice $M$ de dimension $m\times n$ et une matrice $N$ de dimension $n \times p$ pour obtenir une nouvelle matrice $P$ de dimension $m \times p$ comme suit :
$$\begin{\begin{align}&ère;\begin{bmatrix} {{11}~~ M_ M_{12}~~\cdots~~ M_{1n}\\ M_{{21}~~ M_\cdots~~{22}{~~ M_{2n}\\\ddots\\ M_m1}~~ M_{{m2~~~~}\cdots M_{mn}\begin{bmatrix}\end{bmatrix} N_~~~~{{11}\cdots~~{12} N_ N_{1p}\\ N_ N_~~{{21}~~\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 scalaire 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.
Types spéciaux de matrices
La matrice d’identité, notée $\mathbb{\mathbb{I}$, est une matrice carrée spéciale. Tous ses éléments diagonaux sont égaux à $1$, et les éléments restants sont égaux à $0$ :
$\mathbb{\mathbb{I}=\begin{bmatrix} 1 ~~ 0 ~~\cdots~~ 0\\ 0 ~~ 1 ~~\cdots~~ 0\\~~\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}$= =.$ Si une matrice $A$ a un inverse, la matrice inverse est unique et est écrite en tant que $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}^*$. L’adjoint de $M est indiqué $M^\dagger$$.
Une matrice $U$ est unitaire si $UU^\dagger= U^\dagger U =\mathbb{I}$, soit $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^\dagger U^\dagger U v =\langle U v, U v\rangle.$
Remarque
Les opérations quantiques sont représentées par des matrices unitaires, qui sont des matrices carrées dont l’adjoint est égal à leur inverse.
Une matrice $M$ est appelée Hermitienne si $M=^\dagger$.
En informatique quantique, vous ne rencontrerez que les matrices hermitiennes et les matrices unitaires.
Produit tensoriel
Une autre opération importante est le produit tensoriel, également appelé produit direct matrice ou produit Kronecker.
Considérez les deux vecteurs $v=\begin{bmatrix}a \\ b \end{bmatrix}$ et $u =\begin{bmatrix} c \\ d \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 a \begin{bmatrix} c \\ d \end{bmatrix}\end{bmatrix}=\begin{bmatrix}\\[1.5em] b \begin{bmatrix} c \\ d\begin{bmatrix}=\end{bmatrix}\end{bmatrix} a c \\ a d \\ b b \\ b d\end{bmatrix}$$
Remarque
Notez que le produit tensoriel se distingue de la multiplication de matrices, qui est une opération entièrement différente.
Le produit tensoriel est utilisé pour représenter l’état combiné de plusieurs qubits. La puissance réelle de l’informatique quantique provient de tirer parti de plusieurs qubits pour effectuer des calculs. Pour plus d’informations, consultez Opérations sur plusieurs qubits.
Le produit tensoriel de deux matrices carrées M et N de taille $n est$\times une matrice $plus grande P=M\otimes N$ de taille $n^2 \times n^2$.$ $$ $ Par exemple :
$$\begin{bmatrix}a\ b \\ c\ d \end{bmatrix}\begin{bmatrix}\otimese\ f\\ g\ h \end{bmatrix}\begin{bmatrix}=a\begin{bmatrix} e\ f\\ g\ h b\begin{bmatrix} e\ f\\ g\ h \end{bmatrix}\end{bmatrix}\\[1em] c\begin{bmatrix} e\ f\\ g\ h d \end{bmatrix}\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} $$
Valeurs propres et vecteurs propres
Considérez une matrice $carrée M$ et un vecteur $v$. Le vecteur $v$ est un vecteur propre de $M$ si $Mv = cv$ pour un nombre $c$. L’entier $c$ est la valeur propre qui correspond au vecteur propre $v$.
En général, une matrice $M$ peut transformer un vecteur en n’importe quel autre vecteur. Un vecteur propre est spécial, car il n’est pas modifié, à l’exception d’être multiplié par un nombre. Si $v$ est un vecteur propre avec une valeur $propre c$, $av$ est également un vecteur propre (pour n’importe quel autre zéro $a$) avec la même valeur propre. Par exemple, pour la matrice d’identité, chaque vecteur $v$ est un vecteur propre avec une valeur propre de $1$.
Voyons un autre exemple. Prenons la matrice diagonale$D$, qui ne comporte que des entrées différentes de zéro sur la diagonale :
$$\begin{bmatrix}&d_1 amp ; 0 & ; 0 &\\ amp ; d_2 & ; 0 0 \\ amp ; 0 && ; d_3 \end{bmatrix}. $$
Les vecteurs
$$\begin{bmatrix}1 \\ 0 \\ 0 \end{bmatrix}, \begin{bmatrix}0 \\ 1 \\ 0\end{bmatrix}\text{et}\begin{bmatrix}0 \\ 0 \\ 1\end{bmatrix}$$
sont des vecteurs propres de cette matrice avec respectivement les valeurs propres $d_1$, $d_2$ et $d_3$. Si $d_1$, $d_2$ et $d_3$ sont des nombres distincts, alors, ces vecteurs (et leurs multiples) sont les seuls vecteurs propres de la matrice $D$.
En général, pour une matrice diagonale, il est facile de lire les valeurs propres et les vecteurs propres. Les valeurs propres correspondent toutes aux nombres qui s’affichent sur la diagonale, et leurs vecteurs propres respectifs sont les vecteurs d’unité dont une entrée est égale à $1$ et dont les entrées restantes sont égales à $0$.
Notez dans l’exemple que les vecteurs propres de $D$ constituent une base pour $les vecteurs 3$ dimensions. Une base est un ensemble de vecteurs, où tout vecteur peut être écrit comme une combinaison linéaire de ces vecteurs. Pour être plus précis, $v_1$, $v_2$ et $v_3$ forment une base si un vecteur $v$ peut être écrit comme $v=a_1 v_1 + a_2 v_2 + a_3 v_3$ pour des nombres $a_1$, $a_2$ et $a_3$.