Delen via


Vectoren en matrices in kwantumcomputing

Enige bekendheid met lineaire algebra is essentieel om kwantumcomputing te begrijpen. In dit artikel worden de basisconcepten van lineaire algebra geïntroduceerd en wordt uitgelegd hoe u werkt met vectoren en matrices in kwantumcomputing.

Vectoren

Een kolomvector, of vector voor kort gezegd, $v$ van dimensie (of grootte) $n$ is een verzameling $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}$. Een vector wordt een eenheidsvector genoemd als de norm 1$ is$.

De aangrenzende kolomvector $v$ is een rijvector die wordt aangeduid als $v^\dagger$ en wordt gedefinieerd als de samenvoegtransponeren van $v$. Voor een kolomvector $v$ van dimensie $n$ is de aangrenzende rijvector van dimensie $1 \times n$:

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

waarbij $v_i^*$ de complexe conjugaat van $v_i$ aangeeft.

Met behulp van lineaire algebra wordt de toestand van een qubit $=\psia \ket{0} + b \ket{1}$ beschreven als een kwantumstatusvector$\begin{bmatrix} a \\ b\end{bmatrix}$, waarbij $|a|^2 + |b|^2 = 1$. Zie De qubit voor meer informatie.

Scalaire product

Twee vectoren kunnen samen worden vermenigvuldigd via het scalaire product, ook wel puntproduct of binnenste product genoemd. Zoals de naam al aangeeft, is het resultaat van het scalaire product van twee vectoren een scalaire waarde. Het scalaire product geeft de projectie van de ene vector op de andere en wordt gebruikt om één vector uit te drukken als een som van andere eenvoudigere vectoren. Het scalaire product tussen twee kolomvectoren $u$ en $v$ wordt aangeduid als $\left\langle u, v\right\rangle= u^\dagger v $ en wordt gedefinieerd als

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

Met het scalaire product kan de norm van een vector $v$ worden geschreven als $\sqrt{\langle v, v\rangle}$.

U kunt een vector vermenigvuldigen met een getal $a$ om een nieuwe vector te vormen waarvan de vermeldingen worden vermenigvuldigd met $a$. U kunt ook twee vectoren u en v toevoegen om een nieuwe vector te vormen waarvan de vermeldingen de som zijn van de vermeldingen $van $u$ en $v$.$ $$ Deze bewerkingen zijn als volgt:

$$\mathrm{Als}~u =\begin{bmatrix}\\\\ u_1 u_2 \vdots\\ u_n \end{bmatrix}~\mathrm{en}~ v v_1 =\begin{bmatrix}\\ 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}$$

Matrices

Een matrix van grootte $m \times n$ is een verzameling van $m\cdot n$ complexe getallen gerangschikt in $m$ rijen en $n$ kolommen, zoals hieronder wordt weergegeven:

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

Notitie

Houd er rekening mee dat een vector van dimensie $n$ simpelweg een matrix van grootte $n \times 1$ is.

Kwantumbewerkingen worden vertegenwoordigd door kwadratische matrices, dat wil gezegd, het aantal rijen en kolommen is gelijk. Zo worden bewerkingen met één qubit weergegeven door $2 \times 2 2$ matrices, zoals de Pauli $X-bewerking$

$$X =\begin{bmatrix} 0 & 1 1 \\ & 0 \end{bmatrix}$$

Tip

In Q#, de Pauli $X-bewerking$ wordt vertegenwoordigd door de X bewerking.

Net als bij vectoren kunt u een matrix met een getal $c$ vermenigvuldigen om een nieuwe matrix te verkrijgen waarbij elke vermelding wordt vermenigvuldigd met $c$, en twee matrices van dezelfde grootte kunnen worden toegevoegd om een nieuwe matrix te produceren waarvan de vermeldingen de som zijn van de respectieve vermeldingen van de twee matrices.

Matrixvermeniging

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

$$\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}{11}\begin{bmatrix}~~\end{bmatrix} N_ N_{~~\cdots~~{12} N_{1p{{21}~~}\\ N_ N_\cdots{22}~~~~ N_{2p}\\\ddots\\ N_{n1}~~ N_{n2~~}\cdots~~ N_{np~~}\end{bmatrix}=\begin{bmatrix}{{11} P_ P_ {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$ P_{ik=}\sum_j M_{ij}N_{jk}$ zijn.$ De vermelding $P_ is bijvoorbeeld het scalaire product van de eerste rij van $M$ met de eerste kolom N$$.{11}$ Aangezien een vector gewoon een speciaal geval van een matrix is, wordt deze definitie uitgebreid tot vermenigvuldiging van matrixvectors.

Speciale soorten matrices

Een speciale vierkante matrix is de identiteitsmatrix, aangeduid met $\mathbb{\mathbb{I}$alle diagonale elementen die gelijk zijn aan $1$ en de resterende elementen gelijk aan $0$:

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

Voor een vierkantsmatrix $A is een matrix $B$ de inverse als $AB = BA =\mathbb{\mathbb{I}$.$ Als een matrix $A$ een inverse heeft, is de inverse matrix uniek en wordt deze geschreven als $A^{-1}$.

Voor elke matrix $M$ is de aangrenzende of conjugtransponeren van $M$ een matrix $N$ zodanig dat $N_{ij}= M_{ji}^*$. De aangrenzende M $$ wordt aangeduid met $M^\dagger$.

Een matrix $U$ is unitair als $UU^\dagger= U^ U^ U\mathbb{I}$ =of\dagger gelijkwaardig, $U^={{-1} U^.\dagger$ Een belangrijke eigenschap van unitaire matrices is dat ze de norm van een vector behouden. Dit gebeurt omdat

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

Notitie

Kwantumbewerkingen worden vertegenwoordigd door unitaire matrices, die kwadratische matrices zijn waarvan de aangrenzende gelijk is aan hun inverse.

Een matrix $M$ wordt Hermitian genoemd als $M=^\dagger$.

In kwantumcomputing zijn er in feite slechts twee matrices die u tegenkomt: Hermitian en unitair.

Tensor-product

Een andere belangrijke bewerking is het tensorproduct, ook wel het direct product van de matrix of het Kron volgend product genoemd.

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

$$\begin{bmatrix}a \\ b \end{bmatrix}\begin{bmatrix}\otimesc \\ d \end{bmatrix}\begin{bmatrix}=a \begin{bmatrix} c \\ d \end{bmatrix}\\[1,5em] b \begin{bmatrix} c \\ d \end{bmatrix}\begin{bmatrix}=\end{bmatrix}a c \\ b \\ b b d \\\end{bmatrix}$$

Notitie

Houd er rekening mee dat het tensor-product is onderscheiden van matrixvermeniging, wat een volledig andere bewerking is.

Het tensor-product wordt gebruikt om de gecombineerde toestand van meerdere qubits weer te geven. De echte kracht van kwantumcomputing komt door gebruik te maken van meerdere qubits om berekeningen uit te voeren. Zie Bewerkingen op meerdere qubits voor meer informatie.

Het tensorproduct van twee vierkante matrices $M$ en $N$ van grootte $n\times n$ is een grotere matrix $P=M\otimes N$ van grootte $n^2 \times n^2$. Voorbeeld:

$$\begin{bmatrix}a\ b c\\\ d \end{bmatrix}\otimes\begin{bmatrix} e\ f\\ g\ h \end{bmatrix}\begin{bmatrix}=a\begin{bmatrix} e\ f\\\ 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\ de\ df \\ cg\ ch\ dg\ dh .\end{bmatrix} $$

Eigenwaarden en eigenvectors

Overweeg een vierkante matrix $M$ en een vector $v$. De vector $v$ is een eigenvector van $M$ als $Mv = cv$ voor een bepaald getal $c$. Het gehele getal $c is de eigenwaarde die overeenkomt met de eigenvector $v$.$

Over het algemeen kan een matrix $M$ een vector omzetten in een andere vector. Een eigenvector is speciaal omdat deze ongewijzigd is, behalve dat deze wordt vermenigvuldigd met een getal. Als $v$ een eigenvector is met eigenwaarde $c$, $is av$ ook een eigenvector (voor elke niet-nulwaarde $a$) met dezelfde eigenwaarde. Voor de identiteitsmatrix is elke vector $v$ bijvoorbeeld een eigenvector met eigenwaarde $1$.

Denk bijvoorbeeld aan een diagonale matrix$D$, die alleen niet-nul vermeldingen op de diagonale waarde heeft:

$$\begin{bmatrix}&d_1 amp; 0 & 0 0 \\ & d_2 & 0 0 \\ & 0 & d_3 \end{bmatrix}. $$

De vectoren

$$\begin{bmatrix}1 \\ 0 \\ 0 \end{bmatrix}, \begin{bmatrix}0 \\ 1 \\ 0\end{bmatrix}\text{en}\begin{bmatrix}0 \\ 0 \\ 1\end{bmatrix}$$

zijn eigenvectors van deze matrix met respectievelijk eigenwaarden $d_1$, $d_2$ en $d_3$. Als $d_1$, $d_2$ en $d_3$ afzonderlijke getallen zijn, zijn deze vectoren (en hun veelvouden) de enige eigenvectors van de matrix $D$.

Over het algemeen is het voor een diagonale matrix eenvoudig om de eigenwaarden en eigenvectors te lezen. De eigenwaardes zijn alle getallen die op de diagonaal worden weergegeven en hun respectieve eigenvectors zijn de eenheidsvectoren met één vermelding gelijk aan $1$ en de resterende vermeldingen gelijk aan $0$.

Merk op in het voorbeeld dat de eigenvectors van $D$ een basis vormen voor $driedimensionale$ vectoren. Een basis is een reeks vectoren, zodat elke vector kan worden geschreven als een lineaire combinatie ervan. $Explicieter vormen v_1$, $v_2$ en $v_3$ een basis als een vector $v$ kan worden geschreven als $v=a_1 v_1 + a_2 v_2 + a_3 v_3$ voor sommige getallen $a_1$, $a_2$ en $a_3$.