Werken met vectoren en matrices in kwantumcomputing

Enige bekendheid met vectoren en matrices is essentieel om kwantumcomputing te begrijpen. Het artikel Lineaire algebra voor kwantumcomputing biedt een korte opfrisser en lezers die dieper willen ingaan, worden aangeraden een standaardverwijzing over lineaire algebra te lezen, zoals Strang, G. (1993). Inleiding tot lineaire algebra (vol. 3). Wellesley, MA: Wellesley-Cambridge Press of een online verwijzing zoals Linear Algebra.

Vectoren

Een kolomvector (of gewoon vector) $v$ van dimensie (of grootte) $n$ is een verzameling $n$ complexe getallen $(v_1,v_2,\ldots,v_n)$ gerangschikt als een kolom:

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

De norm van een vector $v$ wordt gedefinieerd als $\sqrt{\sum_i |v_i|^2}$. Er wordt gezegd dat een vector een eenheidsnorm is (of een eenheidsvector wordt genoemd) als de norm 1$ is$. De aangrenzende van een vector$v$ wordt aangeduid als $v^\dagger$ en wordt gedefinieerd als de volgende rijvector waarbij $*$ het complexe conjugaat aandupliceerd,

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

U ziet dat er een onderscheid is tussen een kolomvector $v$ en een rijvector $v^\dagger$.

Binnenste product

Twee vectoren kunnen worden vermenigvuldigd via het binnenste product, ook wel een puntproduct of scalair product genoemd. Zoals de naam al aangeeft, is het resultaat van het binnenste product van twee vectoren een scalaire waarde. Het binnenste product geeft de projectie van de ene vector op de andere en is van onschatbare waarde voor het uitdrukken van één vector als een som van andere eenvoudigere vectoren. Het binnenste product tussen twee kolomvectoren $u=(u_1 , u_2 , \ldots , u_n)$ en $v=(v_1 , v_2 , \ldots , v_n)$, $\left\langle aangeduid als u, v\right\rangle$ wordt gedefinieerd als

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

Met deze notatie kan ook de norm van een vector $v worden geschreven als $\sqrt{\langle v, v\rangle}$$.

Een vector kan worden vermenigvuldigd met een getal $c$ om een nieuwe vector te vormen waarvan de vermeldingen worden vermenigvuldigd $met c$. U kunt ook twee vectoren u en v optellen $om een nieuwe vector te vormen waarvan de vermeldingen de som zijn van de vermeldingen van $u$ en $v$.$$$ Dit zijn de volgende bewerkingen:

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

Een matrix met de grootte $m \times n$ is een verzameling complexe$ getallen die $zijn gerangschikt in $m-rijen$ en $n$ kolommen, zoals hieronder wordt weergegeven:

$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}$

Houd er rekening mee dat een vector van dimensie $n$ gewoon een matrix van de grootte $n \times 1$ is. Net als bij vectoren kan een matrix worden vermenigvuldigd met een getal $c$ om een nieuwe matrix te verkrijgen waarbij elke vermelding wordt vermenigvuldigd met $c$, en twee matrices van dezelfde grootte kunnen worden opgeteld om een nieuwe matrix te produceren waarvan de vermeldingen de som zijn van de respectieve vermeldingen van de twee matrices.

Matrixvermenigvuldiging

U kunt ook twee matrices $M$ van dimensie $m\times n$ en $N$ van dimensie $n \times p$ vermenigvuldigen om als volgt een nieuwe matrix $P$ van dimensie $m \times p$ te krijgen:

$$\begin{\begin{align}&Amp;\begin{bmatrix}{~~{11}M_ M_~~\cdots~~{12} M_{1n}\\ M_{21}{~~ M_~~\cdots{~~{22} M_{2n\ddots\\}\\ M_{m1}~~ M_{m2~~\cdots}~~ M_{mn\begin{bmatrix}}\end{bmatrix} N_~~{11}{12}~~\cdots~~{ N_ 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}$$

waarbij de vermeldingen van $P$ zijn $P_{ik}\sum=_j M_{ij}N_{jk.}$ De vermelding $P_{11}$ is bijvoorbeeld het binnenste product van de eerste rij van $M$ met de eerste kolom van $N$. Houd er rekening mee dat aangezien een vector gewoon een speciaal geval van een matrix is, deze definitie zich uitstrekt tot matrix-vectorvermenigvuldiging.

Alle matrices die we beschouwen, zijn vierkante matrices, waarbij het aantal rijen en kolommen gelijk is, of vectoren, wat overeenkomt met slechts $1$ kolom. Een speciale vierkante matrix is de identiteitsmatrix, aangeduid met $\mathbb{\mathbb{I}$, die alle diagonale elementen gelijk aan $1$ en de resterende elementen gelijk aan $0$ heeft:

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

Voor een vierkante matrix $A$ is een matrix $B$ de inverse als $AB = BA =\mathbb{\mathbb{I}$. De inverse van een matrix hoeft niet te bestaan, maar wanneer deze bestaat, is deze uniek en wordt deze $aangeduid als A^{-1}$.

Voor elke matrix $M$ is de aangrenzende of conjugaattranspone van $M$ een matrix $N$ zodanig dat $N_{ij}= M_{ji}^*$. De aangrenzende van $M$ wordt meestal aangeduid als $M^\dagger$. Een matrix $U$ is unitair als $UU^\dagger= U^ U^\dagger U =\mathbb{I}$ of gelijkwaardig, $U^={{-1} U^.\dagger$ Een belangrijke eigenschap van unitaire matrices is dat ze de norm van een vector behouden. Dit gebeurt omdat

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

Van een matrix $M$ wordt gezegd dat deze Hermitian is als $M=M^\dagger$.

Tensor-product

Een andere belangrijke bewerking is het Kronecker-product, ook wel het matrix direct product of tensorproduct genoemd. Merk op dat het Kronecker-product zich onderscheidt van matrixvermenigvuldiging, wat een geheel andere bewerking is. In de kwantumcomputingtheorie wordt tensor-product vaak gebruikt om het Kronecker-product aan te duiden.

Kijk eens naar de twee vectoren $v=\begin{bmatrix}a \\ b$\end{bmatrix}en $u =\begin{bmatrix} c \\ d \\ e \end{bmatrix}$. Hun tensorproduct wordt aangeduid als $v \otimes u$ en resulteert in een blokmatrix.

$$\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}\begin{bmatrix}\end{bmatrix} a c a d \\\\ a e \\ b c \\ b d be \\\end{bmatrix}$$

U ziet dat tensor-product een bewerking is op twee matrices of vectoren van willekeurige grootte. Het tensorproduct van twee matrices $M$ met de grootte $m\times n$ en $N$ van grootte $p \times q$ is een grotere matrix $P=M\otimes N$ van de grootte $mp \times nq$ en wordt als volgt uit $M$ en $N$ verkregen:

$$\begin{align}M \otimes N &=\begin{bmatrix}{~~~~\cdots{11}M_ M_{1n\ddots\\}\\ M_{m1~~~~}\cdots M_{mn}\end{bmatrix}\otimes\begin{bmatrix} N_ N_{11}{{~~\cdots~~1q}\\\ddots\\ N_{p1~~}\cdots~~ N_{pq\end{bmatrix}\\&}amp;=\begin{bmatrix}{{11}\begin{bmatrix} M_ N_~~{~~{11}\cdots 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} $$

Dit wordt beter gedemonstreerd met een voorbeeld: $$a\ b \\ c\ d\otimes\begin{bmatrix}\end{bmatrix}e\ f\\ g\ h\begin{bmatrix}\end{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} $$

Een laatste nuttige notatieconventie rond tensorproducten is dat voor elke vector $v$ of matrix $M$, $v^{\otimes n}$ of $M^{\otimes n}$ een korte hand is voor een $n-gevouwen$ herhaald tensorproduct. Bijvoorbeeld:

\begin{align}&Amp;\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 1 \end{bmatrix},&\\ amp;\begin{bmatrix} 0 & 1 1&\\ amp; 0 \end{bmatrix}^{\otimes 1\begin{bmatrix}}= 0& 1 \\ 1& 0 \end{bmatrix}, \qquad\begin{bmatrix} 0 & 1 \\ 1& 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}

Volgende stappen