Pauli-mätningar med enkel qubit och multi-qubit
När du arbetar med Q#ser du att Pauli-mätningar är en vanlig typ av mätning. Pauli-mätningar generaliserar beräkningsbasmätningar för att inkludera mätningar i andra baser och av paritet mellan olika kvantbitar. I sådana fall är det vanligt att diskutera mätning av en Pauli-operator, som är en operatör som $X, Y, Z$ eller $Z\otimes Z, X\otimes X, X\otimes Y$ och så vidare. Grunderna för kvantmätning finns i Kvantbiten och Flera kvantbitar.
Att diskutera mätning när det gäller Pauli-operatorer är vanligt i underfältet för kvantfelkorrigering.
Q# guide följer en liknande konvention. i den här artikeln beskrivs den här alternativa vyn av mått.
Dricks
I Q#representeras Pauli-operatorer med flera kvantbitar vanligtvis av matriser av typen Pauli[]
.
Om du till exempel vill representera $X \otimes Z \otimes Y$ kan du använda matrisen [PauliX, PauliZ, PauliY]
.
Innan du fördjupar dig i detaljerna om hur du tänker på en Pauli-mätning är det användbart att tänka på vad mätning av en enda kvantbit i en kvantdator gör med kvanttillståndet. Föreställ dig ett $kvanttillstånd för n-qubit$. Om du sedan mäter en kvantbit utesluts omedelbart hälften av de $2^n$ möjligheter som tillståndet kan finnas i. Mätningen projicerar med andra ord kvanttillståndet till ett av två halv blanksteg. Du kan generalisera hur du tänker på mätning för att återspegla denna intuition.
För att kortfattat kunna identifiera dessa underområden behöver man ett språk för att beskriva dem. Ett sätt att beskriva de två underrymderna är genom att ange dem via en matris som bara har två unika eigenvalues, som enligt konventionen är $\pm 1$. Om du vill ha ett enkelt exempel på hur du beskriver subrymder på det här sättet bör du tänka på $Z$:
$$\begin{\begin{align} Z & =\begin{bmatrix} 1 & 0 \\ 0 & -1 \end{bmatrix}. \end{align} $$
Genom att läsa de diagonala elementen i Pauli-Z-matrisen$$ kan man se att $Z$ har två eigenvectors $\ket{0}$ och $\ket{1}$, med motsvarande eigenvalues $\pm 1$.
Om en mätning av kvantbiten resulterar i Zero
(motsvarar tillståndet $\ket{0}$) är det alltså känt att qubitens tillstånd är en $1-eigenstate$ för $Z-operatorn$ .
På samma sätt, om resultatet är One
, är det känt att qubitens tillstånd är en $-1-eigenstate$ av $Z$.
Denna process ses till i språket av Pauli mätningar som &citera; mätning av Pauli $Z$,& quot; och är helt likvärdig med att utföra en beräkningsbasmätning.
Alla $2\times 2$ matriser som är en enhetlig transformering av $Z$ uppfyller också detta villkor. Det betyder att man också kan använda en matris $A=U^\dagger Z U$, där $U$ är någon annan enhetlig matris, för att ge en matris som definierar de två utfallen av en mätning i dess $\pm 1-eigenvectors$ . Notationen av Pauli-mätningar refererar till denna enhetliga ekvivalens genom att identifiera $X,Y,Z-mätningar$ som motsvarande mätningar som man kan göra för att få information från en kvantbit. Dessa mätningar ges här för enkelhetens skull.
Pauli-mätning | Enhetlig transformering |
---|---|
$Z$ | $\mathbf{1}$ |
$X$ | $H$ |
$Y$ | $HS^{\dagger}$ |
Det vill säger, med det här språket, " mått $Y$" är likvärdigt med att tillämpa $HS^\dagger$ och sedan mäta i beräkningsbasen, där S
är en inbyggd kvantåtgärd som ibland kallas " fasgrind,& quot; och kan simuleras med hjälp av den enhetliga matrisen
$$\begin{\begin{align}S =1 amp; 0 \\ 0 & i \end{bmatrix}.&\begin{bmatrix} \end{align} $$
Det motsvarar också att tillämpa $HS^\dagger$ på kvanttillståndsvektorn och sedan mäta $Z$, så att följande åtgärd motsvarar Measure([PauliY], [q])
:
operation MeasureY(qubit : Qubit) : Result {
mutable result = Zero;
within {
Adjoint S(q);
H(q);
} apply {
set result = M(q);
}
return result;
}
Rätt tillstånd hittas sedan genom att transformera tillbaka till beräkningsbasen, vilket motsvarar att tillämpa SH$ på $kvanttillståndsvektorn. I kodfragmentet hanteras omvandlingen tillbaka till beräkningsbasen automatiskt med hjälp av within … apply
blocket.
I Q#är resultatet---det vill säga den klassiska information som extraherats från interaktion med tillståndet--- ges med hjälp av Result
värdet $j \in \{\texttt{Zero}, \texttt{One}\}$ som anger om resultatet är i $(-1)^j-eigenspace$ för Pauli-operatorn mätt.
Mätningar med flera kvantbitar
Mätningar av Pauli-operatorer med flera kvantbitar definieras på samma sätt, enligt följande:
$$ Z\otimes Z =\begin{bmatrix}1 & 0 & 0& 0\\ 0&-1& 0& 0\\ 0& 0&-1& 0\\ 0& 0& 0& 1\end{bmatrix}. $$
Således bildar tensorprodukterna av två Pauli-Z-operatorer$$ en matris som består av två utrymmen som består av $+1$ och $-1$ eigenvalues. Precis som med fallet med enkel qubit utgör båda ett halvutrymme, vilket innebär att hälften av det tillgängliga vektorutrymmet tillhör $eigenspace +1$ och den återstående hälften till $-1-eigenspace$ . I allmänhet är det lätt att se från definitionen av tensor-produkten att alla tensor-produkter av Pauli-Z-operatörer$$ och identiteten också följer detta. Ett exempel:
$$\begin{align}Z \otimes\begin{bmatrix}{1}\mathbf{=1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & -1 & 0 0 \\ & 0 & 0 & -1 .\end{bmatrix} \end{align} $$
Som tidigare beskriver en enhetlig omvandling av sådana matriser också två halv blanksteg märkta med $\pm 1-eigenvalues$ . Till exempel X X H H\otimes(Z\otimes Z)H H\otimes$ från den identitet som $Z=HXH$.=\otimes $ På samma sätt som fallet med en qubit kan alla två qubit Pauli-mått skrivas som $U^\dagger (Z\otimes 1) U$ för $4 4$\times enhetsmatriser $U$. Omvandlingarna räknas upp i följande tabell.
Kommentar
I den här tabellen $\operatorname{används SWAP}$ för att ange matrisen $$\operatorname{\begin{align}SWAP}& =\left(\begin{matris} 1 & 0 & 0 & 0 \\ 0 & 0 & 1 & 0 \\ 0 & 1 & 0 & 0 0 \\ & 0 & 0 & 1 \end{matris}\right)$$ \end{align}som används för att simulera den inbyggda åtgärden SWAP
.
Pauli-mätning | Enhetlig transformering |
---|---|
$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{BYTA}$ |
$\mathbf{1}\otimes X$ | $(H\otimes\mathbf{1})\operatorname{BYTA}$ |
$\mathbf{1}\otimes Y$ | $(HS^\dagger\otimes\mathbf{1})\operatorname{BYTA}$ |
$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)$ |
Här visas åtgärden CNOT
av följande anledning.
Varje Pauli-mätning som inte innehåller matrisen $\mathbf{1}$ motsvarar en enhetlig $till Z\otimes Z$ med det tidigare resonemanget.
Eigenvalues för $Z\otimes Z$ beror bara på pariteten för de kvantbitar som utgör varje beräkningsbasvektor, och de kontrollerade åtgärderna tjänar till att beräkna den här pariteten och lagra den i den första biten.
När den första biten sedan mäts kan man återställa identiteten för det resulterande halvutrymmet, vilket motsvarar mätningen av Pauli-operatorn.
Även om det kan vara frestande att anta att mätning $av Z\otimes Z$ är detsamma som sekventiell mätning $av Z\otimes{1}$\mathbb{ och sedan $\mathbb{1}\otimes Z$, skulle detta antagande vara falskt. Anledningen är att mätningen $av Z\otimes Z$ projicerar kvanttillståndet till antingen $1$ - eller $-1-eigenstate$ för dessa operatorer. Mätning $av Z\otimes\mathbb{1}$ och sedan\otimes $\mathbb{1}Z$ projicerar kvanttillståndsvektorn först på ett halvt utrymme av $Z\otimes{1}$\mathbb{ och sedan på ett halvt utrymme av{1}$\mathbb{\otimes Z.$ Eftersom det finns fyra beräkningsbasvektorer minskar utförandet av båda måtten tillståndet till ett kvartalsutrymme och minskar därför det till en enda beräkningsbasvektor.
Korrelationer mellan qubits
Ett annat sätt att mäta tensorprodukter från Pauli-matriser som $X\otimes X$ eller $Z\otimes Z$ är att dessa mätningar låter dig titta på information som lagras i korrelationerna mellan de två kvantbitarna. Genom att mäta $X\otimes 1$ kan du titta på information som lagras lokalt i den första kvantbiten. Båda typerna av mätningar är lika värdefulla inom kvantberäkning, men den förra belyser kraften i kvantberäkning. Det visar att i kvantberäkning lagras ofta den information du vill lära dig inte i en enda kvantbit utan lagras i stället icke-lokalt i alla kvantbitar på en gång, och därför endast genom att titta på den genom en gemensam mätning (t.ex. $Z\otimes Z$) blir denna information manifest.
Godtyckliga Pauli-operatorer som $X\otimes Y \otimes Z \otimes\mathbf{1}$ kan också mätas. Alla sådana tensor-produkter från Pauli-operatorer har bara två eigenvalues $\pm 1$ och båda eigenspaces utgör hälften av hela vektorutrymmet. De sammanfaller således med de krav som angavs tidigare.
I Q#returnerar $sådana mätningar j$ om mätningen ger ett resultat i tecknets $eigenspace (-1)^j$. Att ha Pauli-mätningar som en inbyggd funktion i Q# är användbart eftersom mätning av sådana operatörer kräver långa kedjor av kontrollerade ICKE-grindar och bastransformeringar för att beskriva den diagonaliserande $U-grinden$ som behövs för att uttrycka åtgärden som en tensorprodukt av $Z$ och $1$. Genom att kunna ange att du vill göra en av dessa fördefinierade mätningar behöver du inte bekymra dig om hur du omvandlar grunden så att en beräkningsbasmätning ger nödvändig information. Q# hanterar alla nödvändiga bastransformeringar åt dig automatiskt.
The No-Cloning Theorem
Kvantinformation är kraftfull. Det gör att du kan göra fantastiska saker som faktornummer exponentiellt snabbare än de mest kända klassiska algoritmerna, eller effektivt simulera korrelerade elektronsystem som klassiskt kräver exponentiell kostnad för att simulera korrekt. Det finns dock begränsningar för kraften i kvantberäkning. En sådan begränsning ges av No-Cloning Theorem.
No-Cloning Theorem heter passande. Det tillåter inte kloning av generiska kvanttillstånd av en kvantdator. Beviset på sats är anmärkningsvärt enkelt. Även om ett fullständigt bevis på no-cloning-satsen är för tekniskt för den här artikeln, ligger beviset för att det inte finns några ytterligare extra kvantbitar inom omfånget.
För en sådan kvantdator måste kloningsåtgärden beskrivas med en enhetlig matris. Kvantmätning tillåts inte eftersom det skulle skada kvanttillståndet som ska klonas. För att simulera kloningsåtgärden måste den enhetsmatris som används ha egenskapen U $$=\ket{\ket{\psi}\ket{\psi}\ket{\psi}{0}$$ för alla tillstånd .$\ket{\psi}$ Linjäritetsegenskapen för matris multiplikation innebär sedan att för andra kvanttillstånd $\ket{\phi}$,
$$\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) \right) \otimes\left( \frac{1}{\sqrt{{2}}\left(\ket{\phi}+\ket{\psi}\right) \right). \end{align} $$
Detta ger den grundläggande intuitionen bakom No-Cloning Theorem: alla enheter som kopierar ett okänt kvanttillstånd måste inducera fel på åtminstone några av de tillstånd som den kopierar. Även om det viktigaste antagandet att klonaren agerar linjärt på indatatillståndet kan brytas genom tillägg och mätning av extra kvantbitar, läcker sådana interaktioner också information om systemet genom mätstatistiken och förhindrar exakt kloning även i sådana fall.
No-Cloning Theorem är viktigt för kvalitativ förståelse av kvantberäkning, för om du kunde klona kvanttillstånd billigt skulle du få en nästan magisk förmåga att lära dig av kvanttillstånd. Du kan faktiskt bryta mot Heisenbergs omtalade osäkerhetsprincip. Du kan också använda en optimal klonare för att ta ett enda exempel från en komplex kvantdistribution och lära dig allt du kan lära dig om den fördelningen från bara ett exempel. Detta skulle vara som att du vänder ett mynt och observerar huvuden och sedan när du berättar för en vän om resultatet att få dem att svara &citat; Ah fördelningen av det myntet måste vara Bernoulli med $p=0.512643\ldots$!&Quot; Ett sådant påstående skulle vara meningslöst eftersom en bit information (heads-resultatet) helt enkelt inte kan ge de många bitar av information som behövs för att koda fördelningen utan väsentlig föregående information. På samma sätt, utan tidigare information kan man inte helt klona ett kvanttillstånd precis som man inte kan förbereda en ensemble av sådana mynt utan att veta $p$.
Information är inte kostnadsfri inom kvantberäkning. Varje qubit som mäts ger en enda bit information, och No-Cloning Theorem visar att det inte finns någon bakdörr som kan utnyttjas för att komma runt den grundläggande kompromissen mellan information som erhållits om systemet och den störning som åberopas på det.