Arbeiten mit Vektoren und Matrizen beim Quantencomputing

Kenntnisse in Bezug auf Vektoren und Matrizen sind wichtig, um das Quantencomputing zu verstehen. Der Artikel Lineare Algebra für Quantencomputing bietet eine kurze Auffrischung, und Lesern, die tiefer eintauchen möchten, wird empfohlen, eine Standardreferenz zur linearen Algebra wie Strang, G. (1993) zu lesen. Einführung in die lineare Algebra (Band 3). Wellesley, MA: Wellesley-Cambridge Press oder eine Onlinereferenz wie Lineare Algebra.

Vektoren

Ein Spaltenvektor (oder einfach Vektor) $v$ der Dimension (oder Größe) $n$ ist eine Auflistung von komplexen $n$-Zahlen $(v_1,v_2,\ldots,v_n)$, die als Spalte angeordnet sind:

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

Die Norm eines Vektors $v$ wird als $\sqrt{\sum_i |v_i|^2}$ definiert. Ein Vektor gilt als Einheitsnorm (oder alternativ wird er als Einheitenvektor bezeichnet), wenn seine Norm $1$ ist. Die Adjunkte eines Vektors$v$ wird als $v^\dagger$ bezeichnet und als der folgende Zeilenvektor definiert, bei dem $*$ komplex konjugiert bedeutet,

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

Beachten Sie, dass zwischen einem Spaltenvektor $v$ und einem Zeilenvektor $v^\dagger$ unterschieden wird.

Inneres Produkt

Zwei Vektoren können durch das innere Produkt multipliziert werden, das auch als Punktprodukt oder Skalarprodukt bezeichnet wird. Wie der Name schon sagt, ist das Ergebnis des inneren Produkts von zwei Vektoren ein Skalar. Das innere Produkt stellt die Projektion eines Vektors auf einen anderen bereit und beschreibt, wie ein Vektor als Summe aus anderen einfacheren Vektoren ausgedrückt werden kann. Das innere Produkt zwischen zwei Spaltenvektoren $u=(u_1 , u_2 , \ldots , u_n)$ and $v=(v_1 , v_2 , \ldots , v_n)$, denoted $\left\langle u, v\right\rangle$ wird folgendermaßen definiert:

$$\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 + _n^{*} v_n.\\\begin{bmatrix} $$

Diese Notation ermöglicht auch das Schreiben der Norm eines Vektors $v$ als $\sqrt{\langle v, v\rangle}$.

Ein Vektor kann mit einer Zahl $c$ multipliziert werden, um einen neuen Vektor zu bilden, dessen Einträge mit $c$ multipliziert werden. Sie können auch zwei Vektoren $u$ und $v$ hinzufügen, um einen neuen Vektor zu bilden, dessen Einträge die Summe der Einträge von $u$ und $v$ sind. Diese Vorgänge sind wie folgt:

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

Eine Matrix der Größe $m \times n$ ist eine Auflistung komplexer $mn$-Zahlen, die wie unten dargestellt in $m$-Zeilen und $n$-Spalten angeordnet sind:

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

Beachten Sie, dass ein Vektor der Dimension $n$ einfach eine Matrix der Größe $n \times 1$ ist. Wie bei Vektoren kann eine Matrix mit der Zahl $c$ multipliziert werden, um eine neue Matrix zu erhalten, wobei jeder Eintrag mit $c$ multipliziert wird. Außerdem können Sie zwei Matrizen der gleichen Größe hinzufügen, um eine neue Matrix zu erstellen, deren Einträge die Summe der jeweiligen Einträge der beiden Matrizen sind.

Matrizenmultiplikation

Sie können auch zwei Matrizen $M$ der Dimension $m\times n$ und $N$ der Dimension $n \times p$ multiplizieren, um eine neue Matrix $P$ der Dimension $m\times p$ wie folgt zu erhalten:

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

wobei die Einträge von $P$ gleich $P_{ik}=\sum_j M_{ij}N_{jk}$ sind. Der Eintrag $P_{11}$ ist zum Beispiel das innere Produkt der ersten Zeile von $M$ mit der ersten Spalte von $N$. Beachten Sie, dass ein Vektor ein Sonderfall einer Matrix ist und diese Definition auch für die Matrix-Vektor-Multiplikation gilt.

Alle Matrizen, die wir berücksichtigen, sind entweder Quadratmatrizen, bei denen die Anzahl der Zeilen und Spalten gleich ist, oder Vektoren, die nur $1$ Spalte entsprechen. Eine spezielle quadratische Matrix ist die Identitätsmatrix , $\mathbb{\mathbb{I}$die alle diagonalen Elemente gleich $1$ und die verbleibenden Elemente gleich $0$ hat:

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

Für eine quadratische Matrix $A$ ist eine Matrix $B$ ihre Umkehrung , wenn $AB = BA =\mathbb{\mathbb{I}$. Die Inverse einer Matrix existiert nicht immer, aber wenn sie existiert, ist sie eindeutig und wird $A^{-1}$ genannt.

Bei jeder Matrix $M$, ist die Adjunkte oder die konjugiert Transponierte von $M$ eine Matrix $N$, für die $N_{ij}= M_{ji}^*$ gilt. Die Adjunkte von $M$ wird in der Regel als $M^\dagger$ bezeichnet. Eine Matrix $U$ ist unitär, wenn $UU^\dagger= U^\dagger U =\mathbb{I}$ oder gleichwertig $U^={{-1} U^.\dagger$ Eine wichtige Eigenschaft von unitären Matrizen ist, dass sie die Norm eines Vektors beibehalten. Dies kann in folgenden Fällen vorkommen:

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

Eine Matrix $M$ wird als hermitesch bezeichnet, wenn $M=M^\dagger$.

Tensorprodukt

Ein weiterer wichtiger Vorgang ist das Kronecker-Produkt, das auch als direktes Matrixprodukt oder Tensorprodukt bezeichnet wird. Beachten Sie, dass sich das Kronecker-Produkt von der Matrixmultiplikation unterscheidet, bei der es sich um einen völlig anderen Vorgang handelt. In der Theorie des Quantencomputing wird das Tensorprodukt häufig verwendet, um das Kronecker-Produkt zu bezeichnen.

Betrachten Sie die beiden Vektoren $v=\begin{bmatrix}a \\ b \end{bmatrix}$ und $u =\begin{bmatrix} c \\ d \\ e \end{bmatrix}$. Das Tensorprodukt wird als $v \otimes u$ bezeichnet und führt zu einer Blockmatrix.

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

Beachten Sie, dass das Tensorprodukt ein Vorgang für zwei Matrizen oder Vektoren beliebiger Größe ist. Das Tensorprodukt $M$ der Größe $m\times n$ und $N$ der Größe $p \times q$ ist eine größere Matrix $P=M\otimes N$ der Größe $mp \times nq$ und wird wie folgt von $M$ und $N$ abgerufen:

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

Dies lässt sich besser anhand eines Beispiels veranschaulicht: $$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} e\begin{bmatrix}\ f\\ g\ h\\\end{bmatrix} [1em] c\begin{bmatrix} e\ f\\ g\ h \end{bmatrix} d\begin{bmatrix} e\ f g\ h 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} $$

Eine letzte nützliche Notationskonvention für Tensorprodukte ist, dass für jeden Vektor $v$ oder jede Matrix $M$, $v^{\otimes n}$ oder $M^{\otimes n}$ eine Kurzversion für ein $n$-faches wiederholtes Tensorprodukt ist. Beispiel:

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

Nächste Schritte