Vektoren und Matrizen beim Quantencomputing
Einige Vertrautheiten mit linearer Algebra sind unerlässlich, um Quantencomputing zu verstehen. In diesem Artikel werden die grundlegenden Konzepte der linearen Algebra und die Arbeit mit Vektoren und Matrizen im Quanten computing vorgestellt.
Vektoren
Ein Spaltenvektor oder Vektor für kurze Dimensionen $$ (oder Größe) $n$ ist eine Sammlung von $komplexen$ Zahlen $(v_1,v_2,\ldots,v_n)$ angeordnet als Spalte:
$$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 wird als Einheitsvektor bezeichnet, wenn seine Norm 1$ ist$.
Der angrenzende Teil eines Spaltenvektors $v$ ist ein Zeilenvektor, der als $v^\dagger$ bezeichnet wird und als konjugierte Transponieren von $v$ definiert ist. Bei einem Spaltenvektor $v$ der Dimension $n$ ist der angrenzende Vektor ein Zeilenvektor der Dimension $1 \times n$:
$$\begin{bmatrix}\\ v_1 \vdots \\ v_n \end{bmatrix}^\dagger=\begin{bmatrix}v_1^* & \cdots&Ampere; v_n^*\end{bmatrix}$$
wobei $v_i^*$ die komplexe Konjugiert von $v_i$ an.
Bei Verwendung der linearen Algebra wird der Zustand eines Qubits a + b \ket{1}$ als Quantenzustandsvektor$\begin{bmatrix} a \\ b \end{bmatrix}$beschrieben, wobei $|a|^2 + |b|^2 = 1.$\ket{0} $\psi= Weitere Informationen finden Sie unter "The qubit".
Skalarprodukt
Zwei Vektoren können durch das skalare Produkt multipliziert werden, auch als Punktprodukt oder inneres Produkt bezeichnet. Wie der Name schon sagt, ist das Ergebnis des skalaren Produkts zweier Vektoren ein Skalar. Das skalare Produkt gibt die Projektion eines Vektors auf einen anderen und wird verwendet, um einen Vektor als Summe anderer einfacherer Vektoren auszudrücken. Das skalare Produkt zwischen zwei Spaltenvektoren $u$ und $v$ wird als $\left\langle u, v u\right\rangle= ^\dagger v $ und definiert als
$$\left\langleu, v u\right\rangle=^\dagger v=\begin{bmatrix}u_1^* & \cdots&Ampere; u_n^* \end{bmatrix}v_1 \vdots\\ v_n= \end{bmatrix}u_1^* v_1 + u_n \cdots ^* v_n.\\\begin{bmatrix} $$
Mit dem Skalarprodukt kann die Norm eines Vektors $v$ als $\sqrt{\langle v, v\rangle}$ geschrieben werden.
Sie können einen Vektor mit einer Zahl $$ multiplizieren, um einen neuen Vektor zu bilden, dessen Einträge mit $einem$ 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{Wenn}~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}$$
Matrizen
Eine Matrix der Größe $m \times n$ ist eine Sammlung von $m\cdot n$ komplexen Zahlen, die in $m$ Zeilen und $n$ Spalten angeordnet sind, wie unten dargestellt:
$M =\begin{bmatrix} M_{~~{11} M_~~~~{12}\cdots M_{1n}\\ M_{{21}~~ M_ M_{{~~{22}~~\cdots2n\ddots\\}\\ M_{m1}~~ M_{m2 M_{mn}~~\cdots~~}\\\end{bmatrix}$
Hinweis
Beachten Sie, dass ein Vektor der Dimension $n$ einfach eine Matrix der Größe $n \times 1$ ist.
Quantenvorgänge werden durch quadratische Matrizen dargestellt, d. h. die Anzahl der Zeilen und Spalten sind gleich. Beispielsweise werden Einzel-Qubit-Vorgänge durch $2 \times 2$ Matrizen dargestellt, wie die Pauli $X-Operation$
$$X =\begin{bmatrix} 0 & 1 1 \\ & 0 \end{bmatrix}$$
Tipp
In Q#, die Pauli $X$ Operation wird durch die X
Operation dargestellt.
Wie bei Vektoren können Sie eine Matrix mit einer Zahl $c$ multiplizieren, um eine neue Matrix zu erhalten, bei der jeder Eintrag mit $c$ multipliziert wird, und zwei Matrizen derselben Größe können hinzugefügt werden, um eine neue Matrix zu erzeugen, deren Einträge die Summe der jeweiligen Einträge der beiden Matrizen sind.
Matrizenmultiplikation
Sie können auch eine Matrix $M der Dimension $m\times$ n$ und eine Matrix $N$ der Dimension $n \times p$ multiplizieren, um eine neue Matrix $P$ von Dimension $m \times p$ wie folgt zu erhalten:
$$\begin{\begin{align}&Ampere;\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}}{11}\end{bmatrix}~~ N_ N_{~~~~\cdots{12} N_{1p}\\ N_{21}{~~ N_~~{22}\cdots~~ 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}$$
wobei die Einträge von $P$ gleich $P_{ik}=\sum_j M_{ij}N_{jk}$ sind. Beispielsweise ist der Eintrag $P_{11}$ das skalare 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.
Spezielle Matrizentypen
Eine spezielle Quadratmatrix ist die Identitätsmatrix mit der Bezeichnung $\mathbb{\mathbb{I}$, die alle diagonalen Elemente gleich $1$ und die übrigen Elemente gleich $0$ aufweist:
$\mathbb{\mathbb{I}=\begin{bmatrix} 1 ~~ 0 ~~\cdots~~ 0\\ 0 ~~ 1 ~~\cdots~~ 0\\~~\ddots\\ 0 ~~ 0 ~~\cdots~~ 1 \end{bmatrix}.$
Bei einer quadratischen Matrix $A ist eine Matrix $B$ umgekehrt, wenn $AB = BA =\mathbb{\mathbb{I}$.$ Wenn eine Matrix $A$ eine Umkehrung aufweist, ist die umgekehrte Matrix eindeutig und wird als $A^{-1}$geschrieben.
Bei jeder Matrix $M$, ist die Adjunkte oder die konjugiert Transponierte von $M$ eine Matrix $N$, für die $N_{ij}= M_{ji}^*$ gilt. Der angrenzende M-Bereich$ $wird als M^\dagger$ bezeichnet$.
Eine Matrix $U$ ist unitär, falls $UU^\dagger= U^\dagger U =\mathbb{I}$ oder äquivalent dazu $U^{{-1}= U^\dagger$ gilt. 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=v^\dagger v = v^\dagger U^{-1} U v = v^\dagger U^\dagger U v =\langle U v, U v\rangle.$
Hinweis
Quantenoperationen werden durch einheitenäre Matrizen dargestellt, die quadratische Matrizen sind, deren angrenzender Wert ihren Umgekehrten entspricht.
Eine Matrix $M$ wird Hermitian genannt, wenn $M=^\dagger$.
Beim Quantencomputing begegnen Ihnen im Wesentlichen nur zwei Matrizen: hermitesche und unitäre.
Tensorprodukt
Ein weiterer wichtiger Betrieb ist das Tensorprodukt, das auch als Matrix-Direktprodukt oder Kronecker-Produkt bezeichnet wird.
Berücksichtigen Sie die beiden Vektoren $v=\begin{bmatrix}a \\ b \end{bmatrix}$ und $u =\begin{bmatrix} c \\ d \end{bmatrix}$. Das Tensorprodukt wird als $v \otimes u$ bezeichnet und führt zu einer Blockmatrix.
$$\begin{bmatrix}a \\ b \end{bmatrix}\begin{bmatrix}\otimesc \\ d a \begin{bmatrix} c \\ d \end{bmatrix}=\begin{bmatrix} d \end{bmatrix}\\[1.5em] b \begin{bmatrix} c \\ d \end{bmatrix}\begin{bmatrix}\end{bmatrix}=a c a d \\ \\ b \\ d d\end{bmatrix}$$
Hinweis
Beachten Sie, dass das Tensorprodukt von der Matrixmultiplikation unterscheidet, bei der es sich um einen völlig anderen Vorgang handelt.
Das Tensorprodukt wird verwendet, um den kombinierten Zustand mehrerer Qubits darzustellen. Die reale Leistungsfähigkeit des Quantencomputings kommt aus der Nutzung mehrerer Qubits zur Durchführung von Berechnungen. Weitere Informationen finden Sie unter "Vorgänge auf mehreren Qubits".
Das Tensorprodukt von zwei quadratischen Matrizen $M$ und $N$ der Größe $n n\times$ ist eine größere Matrix $P=M\otimes N$ der Größe $n^2 \times n^2$. Zum Beispiel:
$$\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 \end{bmatrix} e\begin{bmatrix}\ f\\ g\ h \end{bmatrix}\\[1em] c\begin{bmatrix} e\ f\\ g\ h \end{bmatrix} d e\begin{bmatrix}\ 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} $$
Eigenwerte und Eigenvektoren
Betrachten Sie eine quadratische Matrix $M$ und einen Vektor $v$. Der Vektor $v$ ist ein Eigenvektor von $M$, wenn $Mv = cv$ für eine Zahl $c$ gilt. Die ganze Zahl $c$ ist der zugehörige Eigenwert für den Eigenvektor $v$.
Im Allgemeinen kann eine Matrix $M$ einen Vektor in einen beliebigen anderen Vektor transformieren. Ein Eigenvector ist besonders, da er unverändert ist, außer dass er mit einer Zahl multipliziert wird. Wenn $v$ ein Eigenvector mit Eigenwert $c$ ist, $ist av$ auch ein Eigenvector (für alle nonzero $a$) mit demselben Eigenwert. Bei der Identitätsmatrix ist beispielweise jeder Vektor $v$ ein Eigenvektor mit dem Eigenwert $1$.
Sehen wir uns als weiteres Beispiel eine Diagonalmatrix$D$ an, die auf der Diagonale ausschließlich Einträge ungleich null aufweist:
$$\begin{bmatrix}&d_1 amp; 0 & 0 0 &\\ amp; d_2 & 0 \\ amp; 0 & 0 & d_3 \end{bmatrix}. $$
Die Vektoren
$$\begin{bmatrix}1 \\ 0 \\ 0 \end{bmatrix}, \begin{bmatrix}0 \\ 1 \\ 0\end{bmatrix}\text{and}\begin{bmatrix}0 \\ 0 \\ 1\end{bmatrix}$$
sind Eigenvektoren dieser Matrix mit den Eigenwerten $d_1$, $d_2$ bzw. $d_3$. Wenn $d_1$, $d_2$ und $d_3$ unterschiedliche Zahlen sind, dann sind diese Vektoren (und ihr Vielfaches) die einzigen Eigenvektoren der Matrix $D$.
Im Allgemeinen lassen sich die Eigenwerte und Eigenvektoren einer Diagonalmatrix problemlos ablesen. Die Eigenwerte sind alle Zahlen, die auf der Diagonale erscheinen. Die zugehörigen Eigenvektoren sind die Einheitsvektoren, bei denen ein Eintrag $1$ und die übrigen Einträge $0$ ergeben.
Beachten Sie im Beispiel, dass die Eigenvektoren von $D$ eine Basis für $3-dimensionale$ Vektoren bilden. Eine Basis ist eine Menge von Vektoren, die es ermöglicht, die Vektoren als lineare Kombination zu schreiben. $v_1$, $v_2$ und $v_3$ bilden also eine Basis, wenn ein beliebiger Vektor $v$ als $v=a_1 v_1 + a_2 v_2 + a_3 v_3$ für die Zahlen $a_1$, $a_2$ und $a_3$ geschrieben werden kann.