Lineare Algebra für Quantencomputing

Lineare Algebra ist die Sprache des Quantencomputings. Sie müssen zwar nicht mit ihr vertraut sein, um Quantenprogramme implementieren oder schreiben zu können, sie wird jedoch im Allgemeinen verwendet, um Qubit-Zustände und Quantenoperationen zu beschreiben und die Reaktion eines Quantencomputers auf eine Reihe von Anweisungen vorherzusagen.

Die Vertrautheit mit den grundlegenden Konzepten der Quantenphysik kann für das Verständnis des Quantencomputings ebenso hilfreich sein, wie gewisse Grundkenntnisse im Bereich der linearen Algebra zum besseren Verständnis der Funktionsweise von Quantenalgorithmen beitragen. Sie sollten zumindest mit Vektoren und Matrizenmultiplikation vertraut sein. In den folgenden Tutorials werden noch einmal die Grundlagen behandelt, falls Sie Ihre Kenntnisse im Zusammenhang mit diesen Algebrakonzepten auffrischen möchten:

Vektoren und Matrizen beim Quantencomputing

Ein Qubit kann den Zustand 1 oder 0 oder eine Superposition der Werte aufweisen. Bei Verwendung der linearen Algebra wird der Zustand eines Qubits als Vektor beschrieben und durch eine einzelne Spaltenmatrix$\begin{bmatrix} a \\ b \end{bmatrix}$dargestellt. Es wird auch als Quantenzustandsvektor bezeichnet und muss die Anforderung erfüllen, dass $|a|^2 + |b|^2 = 1$.

Die Elemente der Matrix stellen die Wahrscheinlichkeit dar, dass das Qubit auf die eine oder andere Weise zusammenbricht, wobei $|a|^2$ die Wahrscheinlichkeit eines Zusammenbruchs auf 0 und $|b|^2$ die Wahrscheinlichkeit eines Zusammenbruchs auf eins darstellt. Die folgenden Matrizen stellen jeweils gültige Zustandsvektoren dar:

$$\begin{bmatrix}1 \\ 0 \end{bmatrix}, \begin{bmatrix} 0 \\ 1 \end{bmatrix},{1}{\sqrt{2}}\frac{\\\begin{bmatrix}{1}{\sqrt{2}}\end{bmatrix}\frac{ ,\frac{1}{\sqrt{\\\frac{{-1}{\sqrt{2}}\end{bmatrix}\begin{bmatrix}{2}} und{2}}\frac{1}{\sqrt{\text{}\begin{bmatrix}\frac{\\-i.$$}{\sqrt{2}}\end{bmatrix} Quantenvorgänge können auch durch eine Matrix dargestellt werden. Wenn eine Quantenoperation auf ein Qubit angewendet wird, werden die beiden zur Darstellung verwendeten Matrizen multipliziert, und die resultierende Antwort stellt den neuen Zustand des Qubits nach der Operation dar.

Hier sehen Sie die Darstellung zweier gängiger Quantenoperationen mit Matrizenmultiplikation:

Der X Vorgang wird durch die Pauli-Matrix $X$ dargestellt,

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

Sie wird verwendet, um den Zustand eines Qubits von 0 in 1 zu ändern (oder umgekehrt). Beispiel:

$$\begin{bmatrix}0 &Amp; 1\\ 1 &Amp; 0\end{bmatrix}\begin{bmatrix} 1 \\ 0 \end{bmatrix}\begin{bmatrix}=0 \\ 1 .\end{bmatrix}$$

Der H Vorgang wird durch die Hadamard-Transformation $H$ dargestellt,

$$H = \dfrac{1}{\sqrt{2}}\begin{bmatrix}1 &Amp; 1\\ 1 &-1\end{bmatrix},$$

Sie versetzt ein Qubit in einen Superpositionszustand mit ausgeglichener Wahrscheinlichkeit des Ergebnisses beim Kollaps, wie hier zu sehen:

$$\frac{{1}{\sqrt{{2}}\begin{bmatrix}1 &Amp; 1\\ 1 &-1\end{bmatrix}\begin{bmatrix} 1 1 \\ 0 \end{bmatrix}=\frac{1}{\sqrt{2}}\begin{bmatrix} 1 \\ 1 \end{bmatrix}.$$

Beachten Sie, dass $|a|^2 =|b|^2 =\frac{1}{2}$, was bedeutet, dass die Wahrscheinlichkeit des Zusammenbrechens auf 0 und ein Zustand gleich ist.

Eine Matrix, die eine Quantenoperation darstellt, muss unitär sein. Eine Matrix ist unitär, wenn die Inverse der Matrix der konjugierten Transponierten der Matrix entspricht.

Darstellen von Zuständen mit zwei Qubits

In den obigen Beispielen wurde der Zustand eines Qubits mithilfe einer einzelnen Spaltenmatrix $\begin{bmatrix} a \\ b \end{bmatrix}$beschrieben, und das Anwenden eines Vorgangs darauf wurde durch Multiplizieren der beiden Matrizen beschrieben. Von Quantencomputern wird jedoch nicht nur ein Qubit verwendet. Wie lässt sich also der kombinierte Zustand von zwei Qubits beschreiben?

Hinweis

Die wahre Leistung des Quantencomputings besteht aus der Nutzung mehrerer Qubits, um Berechnungen durchzuführen. Einen tieferen Einblick in dieses Thema finden Sie unter Vorgänge in mehreren Qubits.

Da jedes Qubit wie bereits erwähnt ein Vektorraum ist, können sie nicht einfach multipliziert werden. Stattdessen verwenden Sie ein Tensorprodukt, bei dem es sich um einen verwandten Vorgang handelt, der einen neuen Vektorraum aus einzelnen Vektorräumen erstellt und durch das $\otimes$ Symbol dargestellt wird. Beispielsweise wird das Tensorprodukt aus zwei Qubitzuständen $\begin{bmatrix} a \\ b \end{bmatrix}$ und $\begin{bmatrix} c \\ d \end{bmatrix}$ berechnet.

$$\begin{bmatrix}a \\ b \end{bmatrix}\begin{bmatrix}\otimesc \\ d a \begin{bmatrix}\end{bmatrix}=\begin{bmatrix} c \\ d \end{bmatrix}\\ b \begin{bmatrix}c d c \\ d\begin{bmatrix}\end{bmatrix}\end{bmatrix}=ac \\ ad \\ bc \\ bd .\end{bmatrix} $$

Das Ergebnis ist eine vierdimensionale Matrix, wobei jedes Element eine Wahrscheinlichkeit darstellt. Ac ist beispielsweise die Wahrscheinlichkeit, $$ dass die beiden Qubits auf 0 und 0 zusammenbrechen, $ad$ ist die Wahrscheinlichkeit von 0 und 1 usw.

Genauso wie ein einzelner Qubitzustand $\begin{bmatrix} a b \end{bmatrix}$\\ die Anforderung erfüllen muss, dass $|a|^2 + |b|^2 = 1$, um einen Quantenzustand darzustellen, muss ein Zwei-Qubit-Zustand $\begin{bmatrix} ac \\ ad bc \\\\ bd \end{bmatrix}$ die Anforderung erfüllen, dass $|ac|^2 + |ad|^2 + |bc|^2+ |bd|^=1$.

Zusammenfassung

Lineare Algebra ist die Standardsprache zur Beschreibung von Quantencomputing und Quantenphysik. Obwohl die im Microsoft Quantum Development Kit enthaltene Standardbibliothek ihnen hilft, erweiterte Quantenalgorithmen auszuführen, ohne sich mit der zugrunde liegenden Mathematik vertraut zu machen, können Sie mit den Grundlagen schnell loslegen und eine solide Grundlage für die Entwicklung bieten.

Nächste Schritte