Freigeben über


Einzel-Qubit- und Multi-Qubit-Pauli-Messungen

Während Sie mit Q#ihnen arbeiten, stellen Sie fest, dass Pauli-Messungen eine gemeinsame Art von Maß sind. Pauli-Messungen generalisieren Rechenbasismessungen, um Messungen in anderen Basen und der Parität zwischen verschiedenen Qubits einzuschließen. 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 Z, X X\otimes , X\otimes Y$ usw. handelt. Die Grundlagen der Quantenmessung finden Sie unter "Qubit " und "Multiple qubits".

Die Diskussion der Messung in Bezug auf Pauli-Operatoren ist im Unterbereich 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#, Multi-Qubit Pauli-Operatoren werden in der Regel durch Arrays vom Typ Pauli[]dargestellt. Um z. B. 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 verallgemeinern, wie Sie über die Messung nachdenken, 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 & 0 0 \\ & -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 zu Zero (entsprechend dem Zustand $\ket{0}$) führt, ist bekannt, dass der Zustand des Qubits ein $+1$ Eigenstate des $Z-Operators$ ist. Wenn das Ergebnis lautet One, ist es bekannt, dass der Zustand des Qubits ein $-1$ Eigenstatus 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 Bequemlichkeit gegeben.

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

Das heißt, mit dieser Sprache zitieren; & Measure $Y$" entspricht der Anwendung $von HS^\dagger$ und dann der Messung in der Berechnungsgrundlage, wobei S eine systeminterne Quantenoperation manchmal als &Quot bezeichnet wird; Phase gate,quot&; und kann mithilfe der Einheitsmatrix 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 er zurück in die Rechenbasis transformiert wird, was bedeutet, dass SH$ auf den Quantenzustandsvektor angewendet $wird. Im Codeausschnitt wird die Transformation zurück zur Rechenbasis automatisch mit der Verwendung des within … apply Blocks behandelt.

In Q#, das Ergebnis---that ist, die klassischen Informationen, die aus der Interaktion mit dem Zustand extrahiert werden---is mit einem Result Wert $j \in \{\texttt{Zero}, One}\}$ angegeben, \texttt{der angibt, ob das Ergebnis im $(-1)^j$ Eigenspace des gemessenen Pauli-Operators liegt.

Messungen mit mehreren Qubits

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

$$Z Z\otimes =\begin{bmatrix}1 & 0 & 0& 0 0\\& amp;-1& 0& 0 0\\& amp; 0&-1& 0 0\\& amp; 0& 0& 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 0 &\\ amp; 1 & 0 amp; 0 & 0 &\\ amp; 0 amp; 0 & &0 &\\ amp; &0 & -1 .\end{bmatrix} \end{align} $$

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

Hinweis

In dieser Tabelle wird SWAP verwendet, $\operatorname{um die Matrix\operatorname{\begin{align}$$ SWAP}& anzugeben. =\left}$(\begin{Matrix} 1 & 0 & 0 & 0 \\ & 0 amp; 0 & 1 & 0 0 \\ & 1 & 0 & &\\ 0 & 0 & 0 amp; 1 \end{matrix}\right) \end{align}$$ verwendet, um den systeminternen 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 die $\mathbf{1}$ Matrix nicht enthält, entspricht einer Einheit zu $Z Z\otimes$ durch die frühere Begründung. 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, anzunehmen, dass die Messung $von Z\otimes Z$ mit der sequenziellen Messung $von Z\otimes\mathbb{{1}$ 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.

Beliebige 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. Daher fallen sie mit den zuvor genannten Anforderungen zusammen.

In Q# liefern solche Messungen $j$, wenn die Messung ein Ergebnis im Eigenraum des Vorzeichens $(-1)^j$ ergibt. Pauli-Messungen als integrierte Funktion Q# sind hilfreich, da bei der Messung solcher Operatoren lange Ketten kontrollierter NOT-Tore und Basistransformationen erforderlich sind, um das diagonalisierende $U-Tor$ zu beschreiben, das zum Ausdruck des Betriebs als Tensorprodukt von $Z$ und $1$ erforderlich ist. 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 Es Ihnen, erstaunliche Dinge wie Faktorzahlen exponentiell schneller als die bekanntesten klassischen Algorithmen zu tun, oder effizient korrelierte Elektronensysteme 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 bei keinem zusätzlichen Hilfsqubit im Rahmen.

Für einen solchen Quantencomputer muss der Klonvorgang mit einer Einheitsmatrix 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 + \frac{1}{\sqrt{{2}} U\ket{\psi}\ket{0}{0}&\\\ket{\phi}\ket{ amp; =\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) \right) \otimes\left( \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. Das wäre so, als würden Sie eine Münze kippen und Köpfe beobachten und dann einen Freund über das Ergebnis informieren, dass sie darauf antworten; & Ah die Verteilung dieser Münze muss Bernoulli mit $p=0.512643\ldots$ sein!&Quot; Eine solche Aussage wäre unsinnig, da ein Teil der Informationen (das Ergebnis der Köpfe) einfach nicht die vielen Bits von Informationen liefern kann, die zum Codieren der Verteilung ohne wesentliche vorherige Informationen erforderlich sind. 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.