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& 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 $\psi= een \ket{0} + b \ket{1}$ beschreven als een kwantumtoestandvector$\begin{bmatrix} een \ b \end{bmatrix}$, waarbij $|een|^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:
$$ 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_{22}\cdots 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 de dimensie $m \times n$ en een matrix $N$ van de dimensie $n \times p$ vermenigvuldigen om een nieuwe matrix $P$ van de dimensie $m \times p$ te krijgen:
$$ \begin{ \begin{align} &\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}\begin{bmatrix} N_{{11} N_{{12}\cdots N_{1p}\\ N_{{21} N_{22}\cdots N_{2p}\\\ddots\\ N_{n1} N_{n2}\cdots N_{np}\end{bmatrix}=\begin{bmatrix} P_{{11} P_{12}\cdots P_{1p}\\ P_{21} P_{{22}\cdots 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 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
$\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.$
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} een \\ b \end{bmatrix}\otimes\begin{bmatrix} c \\ d \end{bmatrix}=\begin{bmatrix} a \begin{bmatrix} c \\ d \end{bmatrix} b \begin{bmatrix} c \\ d \end{bmatrix}\end{bmatrix}=\begin{bmatrix} a c \\ a d \\ b c \\ b d 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.