Freigeben über


Pauli-Messungen mit einem und mehreren Qubits

Wenn Sie mit Q#arbeiten, stellen Sie fest, dass Pauli-Messungen eine gängige Art von Messung sind. Pauli-Messungen verallgemeinern berechnungsbasierte Messungen, um Messungen in anderen Basen und der Parität zwischen verschiedenen Qubits einzubeziehen. In solchen Fällen ist es üblich, die Messung eines Pauli-Operators zu diskutieren, bei dem es sich um einen Operator wie $X, Y, Z$ oder $Z\otimes , X\otimes X, X\otimes Y$ usw. handelt. Die Grundlagen der Quantenmessung finden Sie unter Das Qubit und mehrere Qubits.

Die Diskussion der Messung in Bezug auf Pauli-Operatoren ist im Unterfeld der Quantenfehlerkorrektur üblich.
Im Leitfaden zu Q# wird eine ähnliche Konvention genutzt. In diesem Artikel wird die alternative Ansicht mit den Messungen beschrieben.

Tipp

In Q# werden Pauli-Operatoren mit mehreren Qubits im Allgemeinen durch Arrays des Typs Pauli[] dargestellt. Um beispielsweise $X \otimes Z \otimes Y$ darzustellen, können Sie das Array [PauliX, PauliZ, PauliY] verwenden.

Bevor wir uns in die Details einer Pauli-Messung vertiefen, ist es sinnvoll, darüber nachzudenken, was die Messung eines einzelnen Qubits in einem Quantencomputer für den Quantenzustand bedeutet. Stellen Sie sich einen Quantenzustand mit $n$ Qubits vor. Beim Messen eines Qubits wird dann sofort die Hälfte der $2^n$ Möglichkeiten ausgeschlossen, die es für diesen Zustand geben könnte. Mit anderen Worten: Die Messung projiziert den Quantenzustand auf einen von zwei Halbräumen. Sie können die Art und Weise, wie Sie über Die Messung denken, verallgemeinern, um diese Intuition widerzuspiegeln.

Um diese Unterräume treffend identifizieren zu können, wird eine Sprache zu ihrer Beschreibung benötigt. Eine Möglichkeit zur Beschreibung der beiden Unterräume besteht darin, sie durch eine Matrix zu spezifizieren, die nur zwei eindeutige Eigenwerte hat, die gemäß Konvention als $\pm 1$ angenommen werden. Ein einfaches Beispiel für die Beschreibung von Unterräumen auf diese Weise ist $Z$:

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

Durch das Ablesen der Diagonalelemente der Pauli-$Z$-Matrix wird deutlich, dass $Z$ über die beiden Eigenvektoren $\ket{0}$ und $\ket{1}$ mit den entsprechenden Eigenwerten $\pm 1$ verfügt. Wenn also eine Messung des Qubits ergibt Zero (entsprechend dem Zustand $\ket{0}$), ist bekannt, dass der Zustand des Qubits ein $+1$ Eigenzustand des $Z-Operators$ ist. Wenn das Ergebnis Onelautet, ist bekannt, dass der Zustand des Qubits ein $Eigenzustand von -1$ von $Z$ ist. Dieser Vorgang wird in der Sprache der Pauli-Messungen als „Messen von $Z$ nach Pauli“ bezeichnet und ist absolut äquivalent zur Durchführung einer Messungen der rechnerischen Basis.

Jede $2\times 2$-Matrix, die eine unitäre Transformation von $Z$ ist, erfüllt dieses Kriterium ebenfalls. Das heißt, dass auch die Matrix $A=U^\dagger Z U$ (wobei $U$ eine beliebige andere unitäre Matrix ist) verwendet werden kann, um eine Matrix zu erhalten, die die beiden Ergebnisse einer Messung in ihren Eigenvektoren $\pm 1$ definiert. Die Notation von Pauli-Messungen verweist auf diese unitäre Äquivalenz, indem sie $X,Y,Z$-Messungen als äquivalente Messungen identifiziert, die erfolgen können, um Informationen aus einem Qubit zu gewinnen. Diese Messungen werden hier zur Vereinfachung angegeben.

Messungen nach dem Pauli-Prinzip Unitäre Transformation
$Z$ $\mathbf{1}$
$X$ $H$
$J$ $HS^{\dagger}$

Das heißt, wenn Sie diese Sprache verwenden, &zitieren; Measure $Y$" entspricht der Anwendung $von HS^\dagger$ und anschließender Messung in der Berechnungsbasis, wobei S ein intrinsischer Quantenvorgang ist, der &manchmal als quot bezeichnet wird; Phasengate,quot&; und kann mithilfe der unitären Matrix simuliert werden

$$\begin{\begin{align}S =1 amp; 0 \\ 0 & i \end{bmatrix}.&\begin{bmatrix} \end{align} $$

Es ist auch äquivalent zum Anwenden von $HS^\dagger$ auf den Quantenzustandsvektor und anschließendem Messen von $Z$, sodass die folgende Operation äquivalent zu Measure([PauliY], [q]) ist:

operation MeasureY(qubit : Qubit) : Result {
    mutable result = Zero;
    within {
        Adjoint S(q);
        H(q);
    } apply {
        set result = M(q);
    }
    return result;
}

Der richtige Zustand wird dann gefunden, indem zurück in die Berechnungsgrundlage transformiert wird, was einer Anwendung $von SH$ auf den Quantenzustandsvektor entspricht. Im Codeausschnitt wird die Transformation zurück zur Berechnungsgrundlage automatisch mit der Verwendung des within … apply Blocks behandelt.

In Q#wird das Ergebnis--- das ist die klassische Information, die aus der Interaktion mit dem Zustand extrahiert wird--- wird mit einem Result Wert $j \in \{\texttt{Zero}, One}\}$ angegeben, der angibt, \texttt{ob sich das Ergebnis im $(-1)^j$ Eigenraum des gemessenen Pauli-Operators befindet.

Messungen mit mehreren Qubits

Messungen von Pauli-Operatoren mit mehreren Qubits sind, wie im folgenden Beispiel ersichtlich, ähnlich festgelegt:

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

So bilden die Tensorprodukte zweier $Z$-Operatoren nach Pauli eine Matrix aus zwei Räumen, die aus den Eigenwerten $+1$ und $-1$ besteht. Wie beim Fall mit einem einzelnen Qubit bilden beide einen Halbraum, was bedeutet, dass die Hälfte des zugänglichen Vektorraums zum Eigenraum $+1$ und die andere Hälfte zum Eigenraum $-1$ gehört. Im Allgemeinen ist es einfach, anhand der Definition des Tensorprodukts zu erkennen, dass jedes Tensorprodukt aus $Z$-Operatoren nach Pauli und der Identität ebenfalls dieser Bedingung gehorcht. Beispiel:

$$\begin{align}Z \otimes\begin{bmatrix}{1}=\mathbf{1 & 0 & 0 & 0 amp; 0 \\ amp&; 1 & 0 amp; 0 &&\\ amp; 0 & -1 & 0 \\ 0 & 0 amp; 0 & 0 & -1 .\end{bmatrix} \end{align} $$

Wie zuvor beschreibt jede unitäre Transformation solcher Matrizen auch zwei Halbräume mit $\pm 1$ Eigenwerten. Beispiel: $X\otimes X = H\otimes H(Z\otimes Z)H\otimes H$ aus der Identität, dass $Z=HXH$. Ähnlich wie beim Ein-Qubit-Fall können alle Zwei-Qubit-Pauli-Messungen als $U^\dagger (Z1\otimes ) U$ für $4\times 4$ unitäre Matrizen $U$ geschrieben werden. In der folgenden Tabelle sind die Transformationen aufgezählt.

Hinweis

In dieser Tabelle wird SWAP verwendet, $\operatorname{um den Matrix-SWAP-Amp;\left=}$$\begin{align}\operatorname{&}$(\begin{Matrix} 1 & 0 & 0 & 0 \\ amp; 0 & 0 & 1 & 0 \\ 0 & 1 & 0 & 0 \\ amp&; 0 & 0 amp; 0 & 1 \end{matrix}\right)$$\end{align}verwendet, um den intrinsischen Betrieb SWAPzu simulieren.

Messungen nach dem Pauli-Prinzip Unitäre Transformation
$Z\otimes\mathbf{1}$ $\mathbf{1}\otimes \mathbf{1}$
$X\otimes\mathbf{1}$ $H\otimes\mathbf{1}$
$Y\otimes\mathbf{1}$ $HS^\dagger\otimes\mathbf{1}$
$\mathbf{1}\otimes Z$ $\operatorname{SWAP}$
$\mathbf{1}\otimes X$ $(H\otimes\mathbf{1})\operatorname{SWAP}$
$\mathbf{1}\otimes Y$ $(HS^\dagger\otimes\mathbf{1})\operatorname{SWAP}$
$Z\otimes Z$ $\operatorname{CNOT}_{10}$
$X\otimes Z$ $\operatorname{CNOT}_{10}(H\otimes\mathbf{1})$
$Y\otimes Z$ $\operatorname{CNOT}_{10}(HS^\dagger\otimes\mathbf{1})$
$Z\otimes X$ $\operatorname{CNOT}_{10}(\mathbf{1}\otimes H)$
$X\otimes X$ $\operatorname{CNOT}_{10}(H\otimes H)$
$Y\otimes X$ $\operatorname{CNOT}_{10}(HS^\dagger\otimes H)$
$Z\otimes Y$ $\operatorname{CNOT}_{10}(\mathbf{1}\otimes HS^\dagger)$
$X\otimes Y$ $\operatorname{CNOT}_{10}(H\otimes HS^\dagger)$
$Y\otimes Y$ $\operatorname{CNOT}_{10}(HS^\dagger\otimes HS^\dagger)$

Hier wird die Operation CNOT aus folgendem Grund angezeigt. Jede Pauli-Messung, die $\mathbf{1}$ die Matrix nicht enthält, entspricht nach der früheren Überlegung einer Einheit mit $Z\otimes Z$ . Die Eigenwerte von $Z\otimes Z$ hängen nur von der Parität der Qubits ab, aus denen jeder rechnerische Basisvektor besteht, und die gesteuerten NOT-Operationen dienen dazu, diese Parität zu berechnen und sie im ersten Bit zu speichern. Sobald das erste Bit gemessen wurde, kann die Identität des resultierenden Halbraums wiederhergestellt werden, was einer Messung des Pauli-Operators entspricht.

Auch wenn es verlockend sein kann, davon auszugehen, dass die Messung $von Z\otimes Z$ mit der sequenziellen Messung $von Z\otimes{1}$\mathbb{ und dann $\mathbb{1}\otimes Z$ identisch ist, wäre diese Annahme falsch. Der Grund ist, dass das Messen von $Z\otimes Z$ den Quantenzustand entweder in den Eigenzustand $+1$ oder $-1$ dieser Operatoren projiziert. Die Messung von $Z\otimes\mathbb{1}$ und dann $\mathbb{1}\otimes Z$ projiziert den Quantenzustandsvektor zunächst auf einen Halbraum von $Z\otimes\mathbb{{1}$ und dann auf einen Halbraum von $\mathbb{{1}\otimes Z$. Da es vier Berechnungsbasisvektoren gibt, reduziert die Durchführung beider Messungen den Zustand auf einen Viertelraum und damit auf einen einzigen Berechnungsbasisvektor.

Korrelationen zwischen Qubits

Eine andere Art der Betrachtung der Messung von Tensorprodukten von Pauli-Matrizen wie $X\otimes X$ oder $Z\otimes Z$ ist, dass sich mit diesen Messungen die Information ablesen lässt, die in den Korrelationen zwischen den beiden Qubits gespeichert ist. Mit der Messung $von X\otimes 1$ können Sie Informationen anzeigen, die lokal im ersten Qubit gespeichert sind. Während beide Arten von Messungen beim Quantencomputing gleichermaßen hilfreich sind, verdeutlicht erstere die Leistungsfähigkeit des Quantencomputings. Es zeigt, dass beim Quantencomputing die gewünschten Informationen oft nicht in einem beliebigen einzelnen Qubit, sondern nicht lokal in allen Qubits gleichzeitig gespeichert sind und daher erst durch eine gemeinsame Messung (z. B. $Z\otimes Z$) sichtbar werden.

Arbiträre Pauli-Operatoren wie $X\otimes Y \otimes Z \otimes\mathbf{1}$ können ebenfalls gemessen werden. Alle solchen Tensorprodukte von Pauli-Operatoren haben nur zwei Eigenwerte des Typs $\pm 1$, und beide Eigenräume bilden Halbräume des gesamten Vektorraums. Sie stimmen somit mit den zuvor genannten Anforderungen überein.

In Q# liefern solche Messungen $j$, wenn die Messung ein Ergebnis im Eigenraum des Vorzeichens $(-1)^j$ ergibt. Die Verwendung von Pauli-Messungen als integriertes Feature Q# ist hilfreich, da die Messung solcher Operatoren lange Ketten von kontrolliert-NOT-Gates und Basistransformationen erfordert, um das diagonalisierende $U-Tor$ zu beschreiben, das erforderlich ist, um den Vorgang als Tensorprodukt von $Z$ und $1$ auszudrücken. Indem Sie festlegen können, dass Sie eine dieser vordefinierten Messungen wünschen, brauchen Sie sich keine Gedanken darüber zu machen, wie Sie Ihre Basis so transformieren, dass eine rechnerische Basismessung die erforderlichen Informationen liefert. Q# erledigt alle notwendigen Basistransformationen automatisch für Sie.

Das No-Cloning-Theorem

Quanteninformationen sind leistungsstark. Es ermöglicht Ihnen, erstaunliche Dinge wie Faktorzahlen exponentiell schneller als die bekanntesten klassischen Algorithmen zu tun oder effizient korrelierte Elektronensysteme zu simulieren, die klassisch exponentielle Kosten erfordern, um genau zu simulieren. Allerdings sind der Leistungsfähigkeit des Quantencomputings Grenzen gesetzt. Eine solche Einschränkung stellt das No-Cloning-Theorem dar.

Das No-Cloning-Theorem ist treffend benannt. Es schließt das Klonen generischer Quantenzustände durch einen Quantencomputer aus. Der Beweis des Theorems ist bemerkenswert einfach. Während ein vollständiger Nachweis des No-Cloning-Theorems für diesen Artikel zu technisch ist, liegt der Nachweis im Fall von keinem zusätzlichen Hilfsqubit innerhalb des Geltungsbereichs.

Für einen solchen Quantencomputer muss der Klonvorgang mit einer unitären Matrix beschrieben werden. Die Quantenmessung ist nicht zulässig, da sie den zu klonenden Quantenzustand beschädigen würde. Um den Klonvorgang zu simulieren, muss die verwendete unitäre Matrix die Eigenschaft haben, dass $$ U \ket{\psi}\ket{{0}=\ket{\psi}\ket{\psi}$$ für jeden Zustand $\ket{\psi}$ ist. Die Linearitätseigenschaft der Matrixmultiplikation impliziert dann, dass für jeden zweiten Quantenzustand $\ket{\phi}$ Folgendes gilt,

$$\begin{\begin{align}U \left[ \frac{{1}{\sqrt{{2}}\left(\ket{\phi}+\ket{\psi}\right) \right] \ket{{0}& =\frac{1}{\sqrt{2}} U\ket{\phi}\ket{{0} + \frac{1}{\sqrt{{2}} U\ket{\psi}\ket{0}\\& =\frac{1}{\sqrt{2}}\left( \ket{\phi}\ket{\phi} + \ket{\psi}\ket{\psi}\right) \\& \ne\left( \frac{{2}}\left{1}{\sqrt{(\ket{\phi}+\ket{\psi}\right) ) \otimes\left\right( \frac{1}{\sqrt{{2}}\left(\ket{\phi}+\ket{\psi}\right) ). \right \end{align} $$

Daraus ergibt sich die grundlegende Annahme hinter dem No-Cloning-Theorem: Jedes Gerät, das einen unbekannten Quantenzustand kopiert, muss zumindest in einigen der von ihm kopierten Zustände Fehler induzieren. Während die Schlüsselannahme, dass der Kloner linear auf den Eingangszustand wirkt, durch das Hinzufügen und Messen von Hilfs-Qubits verletzt werden kann, gehen durch solche Interaktionen auch Informationen über das System durch die Messstatistiken verloren und verhindern auch in solchen Fällen ein exaktes Klonen.

Das No-Cloning-Theorem ist wichtig für ein qualitatives Verständnis des Quantencomputings, denn wenn es gelänge, Quantenzustände kostengünstig zu klonen, ergäbe sich eine nahezu geniale Fähigkeit, von Quantenzuständen zu lernen. In der Tat könnten Sie gegen Heisenbergs gepriesene Unschärferelation verstoßen. Alternativ könnten Sie einen optimalen Kloner verwenden, um ein einzelnes Beispiel aus einer komplexen Quantenverteilung zu nehmen und alles, was Sie möglicherweise über diese Verteilung lernen könnten, aus nur einer Stichprobe zu lernen. Dies wäre, als würden Sie eine Münze umdrehen und Köpfe beobachten und dann einem Freund über das Ergebnis erzählen, dass sie antworten &. Ah die Verteilung dieser Münze muss Bernoulli mit $p=0.512643\ldots$ sein!&Quot; Eine solche Aussage wäre unsinnig, da ein Informationsbit (das Ergebnis der Köpfe) einfach nicht die vielen Informationsbits liefern kann, die zum Codieren der Verteilung erforderlich sind, ohne substanzielle Vorabinformationen. In ähnlicher Weise kann ohne vorherige Information ein Quantenzustand nicht perfekt geklont werden, genauso wie keine Gruppe mit Münzen dieser Art vorbereitet werden kann, ohne $p$ zu kennen.

Informationen sind beim Quantencomputing nicht kostenlos. Jedes gemessene Qubit liefert ein einzelnes Bit an Information. Das No-Cloning-Theorem zeigt, dass es keine Hintertür gibt, die ausgenutzt werden kann, um den fundamentalen Kompromiss zwischen der gewonnenen Information über das System und der Störung, die es hervorruft, zu umgehen.

Nächste Schritte