Dirac-notation inom kvantberäkning
Dirac-notation är ett koncist och kraftfullt sätt att beskriva kvanttillstånd och åtgärder. Den är uppkallad efter fysikern Paul Dirac, som utvecklade notationen på 1930-talet. Dirac-notation används i kvantberäkning för att beskriva kvanttillstånd, kvantåtgärder och kvantmätningar.
Den här artikeln beskriver dirac-notation och visar hur du använder den för att beskriva kvanttillstånd och -åtgärder.
Vektorer i Dirac-notation
Det finns två typer av vektorer i Dirac-notation: den bra- vektorn, som motsvarar en radvektor, och ket- vektorn, som motsvarar en kolumnvektor. Det är därför Dirac-notation också kallas bra-ket notation.
Om $\psi$ är en kolumnvektor kan du skriva den i Dirac-notation som $\ket{\psi}$, där $\ket{\cdot-}$ anger att det är en ket vektor.
På samma sätt uttrycks radvektorn $\psi^\dagger$ som $\bra{\psi}$, vilket är en bra-vektor. ^ erhålls med andra ord $\psi\dagger$ genom att tillämpa inmatningsmässigt komplex konjugation på elementen i transponeringen av $\psi$. Bra-ket-notationen innebär direkt att $\braket{\psi|\psi}$ är den inre produkten av vektor $\psi$ med sig själv, vilket per definition $är 1$.
Mer allmänt, om $\psi$ och $\phi$ är kvanttillståndsvektorer, är $\braket{\phi|\psi}$deras inre produkt . Den här inre produkten innebär att sannolikheten för att mäta tillståndet $\ket{\psi}$ är $\ket{\phi}$$|\braket{\phi|\psi}|^2$.
Beräkningsbastillstånden $0$ och $1$ representeras som $\begin{bmatrix} 1 \ 0 \end{bmatrix}=\ket{{0}$ respektive $\begin{bmatrix} 0 \ 1 \end{bmatrix}=\ket{1}$.
Exempel: Representera Hadamard-åtgärden med Dirac-notation
Låt oss tillämpa Hadamard-porten $H$ på kvanttillstånden $\ket{0}$ och $\ket{1}$ med Dirac-notation:
$$ \frac{1}{\sqrt{2}}\begin{bmatrix} 1 \\ 1 \end{bmatrix}=H\ket{{0}=\ket{+}$$
$$ \frac{1}{\sqrt{2}}\begin{bmatrix} 1 \\ -1 \end{bmatrix}=H\ket{{1}=\ket{-}$$
De resulterande tillstånden motsvarar enhetsvektorerna i $+x$ och $-x$ riktningar på Bloch-sfären. Dessa tillstånd kan också utökas med Dirac-notation som summor av $\ket{0}$ och $\ket{1}$:
$$ \ket{+}=\frac{{1}{\sqrt{2}}(\ket{0} + \ket{1}) $$
$$ \ket{-} = \frac{1}{\sqrt{ {2}}(\ket{0} - \ket{1}) $$
Beräkningsbasvektorer
Varje kvanttillstånd kan alltid uttryckas som summor av beräkningsbasvektorer och sådana summor uttrycks enkelt med Dirac-notation. Det omvända är också sant eftersom tillstånden $\ket{+}$ och $\ket{-}$ även utgör en grund för kvanttillstånd. Du kan se detta från det faktum att
$$ \ket{0} = \frac{1}{\sqrt{2}}(\ket{+} + \ket{-}) $$
$$ \ket{1} = \frac{1}{\sqrt{2}}(\ket{+} - \ket{-}) $$
Som ett exempel på Dirac-notation bör du överväga bromsen $\braket{0 | 1}$, som är den inre produkten mellan $0$ och $1$. Den kan skrivas som
$$ \braket{0 | 1}=\begin{bmatrix} 1 & 0 \end{bmatrix}\begin{bmatrix}0\\ 1\end{bmatrix}=0. $$
Det här exemplet säger att $\ket{{0}$ och $\ket{{1}$ är ortoggonala vektorer, vilket innebär att $\braket{0 | 1}=\braket{1 | 0}=0.$ Dessutom, per definition $\braket{0 | 0}=\braket{1 | 1}=1$, vilket innebär att de två beräkningsbasvektorerna också kan kallas ortonormala.
Dessa ortonormala egenskaper används i följande exempel. Om du har ett tillstånd $\ket{\psi}={\frac{3}{5}}\ket{{1}+ {\frac{{4}{5}}\ket{0}$beror det på att $\braket{1 | 0 0}=$ sannolikheten att mäta $1 är$
$$ \big|\braket{1 |^2\psi}\big|=\left|\frac{1 {3}{5}\braket{ 1| +}\frac{1 {4}{5}\braket{ 0|^2}\right|=\frac{{9}{.{25} $$
Tensor-produkt notation
Dirac-notationen är mycket användbar för att uttrycka tensorprodukt. Tensor-produkten är viktig inom kvantberäkning eftersom tillståndsvektorn som beskrivs av två okorrelerade kvantregister är tensorprodukterna för de två tillståndsvektorerna.
Tensor-produkten $\psi\otimes\phi$ för två kvanttillståndsvektorer $\phi$ och $\psi$ skrivs i Dirac-notation som $\ket{\psi}\otimes\ket{\phi}$. Enligt konventionen kan du också skriva tensor-produkten som $\ket{\psi}\ket{\phi}=\ket{\psi\phi}$.
Till exempel är tillståndet med två kvantbitar initierade till nolltillståndet $\ket{{0}\otimes\ket{0}=\ket{0}\ket{0}=\ket{00}$.
Exempel: Beskriv superposition med Dirac-notation
Som ett annat exempel på hur du kan använda Dirac-notation för att beskriva ett kvanttillstånd bör du överväga följande motsvarande sätt att skriva ett kvanttillstånd som är lika med superposition över varje möjlig bitsträng med längd $n$
$$H^{\otimes n}\ket{0}=\frac{1}{2^{n/2}}\sum_{j=0}^{2^n-1}\ket{j}=\ket{+}^{\otimes n.} $$
Här kanske du undrar varför summan går från $0$ till $2^{n-1}$ för $n$ bitar. Observera först att det finns $2^{n}$ olika konfigurationer som $n$ bitar kan ta. Du kan se detta genom att notera att en bit kan ta $2$ värden, men två bitar kan ta $4$ värden och så vidare. I allmänhet innebär det att det finns $2^n$ olika möjliga bitsträngar men det största värdet som kodas i någon av dem $1\cdots 1=2^n-1$ och därför är det den övre gränsen för summan. I det här exemplet använde $\ket{du inte +}^{\otimes n}=\ket{+}$ i analogi med$\ket{{0} ^{\otimes n}=\ket{{0}$. Den här notationskonventionen är reserverad för beräkningsbastillståndet med varje qubit initierad till noll. Även om en sådan konvention är förnuftig i det här fallet används den inte i kvantberäkningslitteraturen.
Express linjäritet med Dirac-notation
En annan funktion i Dirac-notation är det faktum att den är linjär. För två komplexa tal $\alpha$ och $\beta$kan du till exempel skriva
$$ \ket{\psi} \otimes ( \alpha\ket{\phi} + \beta\ket{\chi})=\alpha\ket{\psi}\ket{\phi} + \beta\ket{\psi}\ket{\chi}.$$
Det vill säga, du kan distribuera tensor produkt notation i Dirac notation så att ta tensor produkter mellan tillstånd vektorer slutar se ut precis som vanlig multiplikation.
Bra-vektorer följer en liknande konvention som ket-vektorer. Vektorn $\bra{\psi}\bra{\phi}$ motsvarar till exempel tillståndsvektorn $\psi^\dagger\otimes\phi^\dagger=(\psi\otimes\phi)^.\dagger$ Om ketvektorn $\ket{\psi}$ är $\alpha\ket{0} + \beta\ket{1}$är $\bra{\psi}=\ket{\psi}behåvektorversionen av vektorn ^\dagger= (\bra{{0}\alpha^* +\bra{1}\beta^*).$
Anta till exempel att du vill beräkna sannolikheten för att mäta tillståndet $\ket{\psi}=\frac{3}{5}\ket{{1} + \frac{4}{5}\ket{0}$ med hjälp av ett kvantprogram för att mäta tillstånd som antingen $\ket{+}$ eller .$\ket{{-}$ Sedan är sannolikheten att enheten utdata som tillståndet är $\ket{-}$
$$|\braket{- |^2\psi}|=\left|\frac{{1}{\sqrt{({2}} -\bra{0}\bra{ )({1}\frac{3}{5}\ket{ +{1}\frac{{4}{5} ) \ket{0}^2-5\right|=\left|\frac{3}{\sqrt{ +{2}}\frac{ 5{4}{^2.\sqrt{2}}\right|=\frac{{1}{{50}$$
Det faktum att det negativa tecknet visas i beräkningen av sannolikheten är en manifestation av kvantinterferens, vilket är en av de mekanismer med vilka kvantberäkning får fördelar jämfört med klassisk databehandling.
ketbra eller yttre produkt
Det sista objektet värt att diskutera i Dirac notation är ketbra eller yttre produkt. Den yttre produkten representeras i Dirac-noteringar som $\ket{\psi}\bra{\phi}$. Den yttre produkten definieras via matris multiplikation som $\ket{\psi}\bra{\phi}=\psi\phi^\dagger$ för kvanttillståndsvektorer $\psi$ och .$\phi$ Det enklaste och förmodligen vanligaste exemplet på denna notation är
$$ \ket{0} \bra{ {0} = \begin{bmatrix}1\\ 0 \end{bmatrix}\begin{bmatrix}1& 0 \end{bmatrix}=\begin{bmatrix}1 & 0\\ 0 & 0\end{bmatrix}\qquad\ket{1}\bra{1}=\begin{bmatrix}0 0\\ 1 \end{bmatrix}\begin{bmatrix}0& 1 \end{bmatrix}=\begin{bmatrix}0 & 0\\ 0 & 1\end{bmatrix}. $$
Ketbras kallas ofta projektorer eftersom de projicerar ett kvanttillstånd på ett fast värde. Eftersom dessa åtgärder inte är enhetliga (och inte ens bevarar normen för en vektor) kan en kvantdator inte deterministiskt tillämpa en projektor. Men projektorer gör ett vackert jobb med att beskriva den åtgärd som mätningen har på ett kvanttillstånd. Om du till exempel mäter ett tillstånd $\ket{\psi}$ till $0$ är den resulterande transformering som tillståndet upplever som ett resultat av mätningen
$$\ket{\psi} \rightpil (\frac{\ket{{0}\bra{{0})\ket{\psi}}{|\braket{0 ,|\psi}|}=\ket{{0}$$
som du kan förvänta dig om du mätte tillståndet och fann att det var $\ket{0}$. För att upprepa detta kan sådana projektorer inte tillämpas på ett tillstånd i en kvantdator deterministiskt. I stället kan de i bästa fall tillämpas slumpmässigt med resultatet $\ket{0}$ med viss fast sannolikhet. Sannolikheten för att en sådan mätning lyckas kan skrivas som kvantprojektorns förväntansvärde i tillståndet
$$ \bra{\psi}(\ket{0}\bra{0})\ket{\psi}=|\braket{\psi| 0}|^2,$$
som visar att projektorer ger ett nytt sätt att uttrycka mätningsprocessen.
Om du i stället överväger att mäta den första kvantbiten för ett multi-qubit-tillstånd till $1$, kan du också beskriva den här processen bekvämt med hjälp av projektorer och diracerings notation:
$$P(\text{first qubit = 1})=\bra{\psi}\left(\ket{{1}\bra{{1}\otimes \mathbf{\mathbf{1}^{\otimes n-1}\right) . \ket{\psi} $$
Här kan identitetsmatrisen enkelt skrivas i Dirac-notation som
$$ \mathbb{I}=\ket{{0}\bra{0}+\ket{{1}\bra{1}=\begin{bmatrix}1& 0\\ 0& 1 \end{bmatrix}. $$
För det fall där det finns två kvantbitar kan projektorn expanderas som
$$ \ket{1} \bra{1} \otimes \mathbb{I}=\ket{{1}\bra{1}\otimes (\ket{0}\bra{0}+\ket{1}\bra{{1})=\ket{10}\bra{{10} + . \ket{{11}\bra{{11} $$
Du kan sedan se att detta överensstämmer med diskussionen om mätför sannolikheter för multiqubit-tillstånd med hjälp av kolumnvektor notation:
$$P(\text{första qubit = 1})=\psi^\dagger (e_{10}e_{10}^\dagger + e_{{11}e_{{11}^\dagger)\psi=|e_{{10}^^\dagger\psi|2 + |e_{11}^\dagger\psi|^2,$$
som matchar multi-qubit-mätningsdiskussionen. Generaliseringen av det här resultatet till multi-qubit-fallet är dock något enklare att uttrycka med dirac-notation än kolumnvektor notation och är helt likvärdig med den tidigare behandlingen.
Densitetsoperatorer
En annan användbar operator att uttrycka med Dirac-notation är densitetsoperatorn, som ibland även kallas tillståndsoperator. Som kvanttillståndsvektor beskriver densitetsoperatorn systemets kvanttillstånd. Kvanttillståndsvektorer kan bara representera rena tillstånd, men densitetsoperatorer kan också representera blandade tillstånd.
Mer allmänt är en angiven matris $\rho$ en giltig densitetsoperator om följande villkor uppfylls:
- $\rho$ är en matris med komplexa tal
- $\rho = \rho^{\dagger}$ (det vill. $\rho$ är Hermitian)
- Varje eigenvalue $p$ av $\rho$ är icke-negativ
- Alla eigenvalues av $\rho$ summa till 1
Tillsammans garanterar dessa villkor att $\rho$ kan ses som en ensemble. En densitetsoperator för en kvanttillståndsvektor har formatet \rho$\ket{\psi}$$ _i p_i =_i\sum\ket{\psi_i} är en egenvalue-nedbrytning av \bra{\psi\rho}$. Sedan $beskriver \rho$ ensemblen $\rho$$= _i{\ket{\psimed sannolikhet} p_i .\text{}}$
Rena kvanttillstånd är de som kännetecknas av en enda ketvektor eller vågfunktion, och kan inte skrivas som en statistisk blandning (eller konvex kombination) av andra kvanttillstånd. Ett blandat kvanttillstånd är en statistisk ensemble av rena tillstånd.
På en Bloch-sfär representeras rena tillstånd av en punkt på sfärens yta, medan blandade tillstånd representeras av en inre punkt. Det blandade tillståndet för en enda qubit representeras av sfärens mitt, med symmetri. Renheten i ett tillstånd kan visualiseras som i vilken grad det ligger nära sfärens yta.
Det här begreppet att representera tillståndet som en matris snarare än en vektor är ofta praktiskt eftersom det ger ett bekvämt sätt att representera sannolikhetsberäkningar, och gör att du även kan beskriva både statistisk osäkerhet och kvantosäkerhet inom samma formalism.
En densitetsoperator $\rho$ representerar ett rent tillstånd om och endast om:
- $\rho$ kan skrivas som en yttre produkt av en tillståndsvektor, $\rho=\ket{\psi}\bra{\psi}$
- $\rho =\rho^2$
- $tr(\rho^2)=1$
Om du vill veta hur nära en angiven densitetsoperator $\rho$ är att vara ren kan du titta på spårningen (det vill säga summan av de diagonala elementen) i $\rho^2$. En densitetsoperator representerar ett rent tillstånd om och endast om $tr(\rho ^{2})=1$.
Q# grindsekvenser som motsvarar kvanttillstånd
En sista punkt som är värd att ta upp om kvant notation och programmeringsspråket Q# : i början av det här dokumentet nämndes att kvanttillståndet är det grundläggande objektet för information inom kvantberäkning. Det kan då komma som en överraskning att det inte Q# finns någon uppfattning om ett kvanttillstånd. I stället beskrivs alla tillstånd endast av de åtgärder som används för att förbereda dem. Föregående exempel är en utmärkt illustration av detta. I stället för att uttrycka en enhetlig superposition över varje kvantbitsträng i ett register kan du representera resultatet som $H^{\otimes n}\ket{0}$. Den här exponentiellt kortare beskrivningen av tillståndet har inte bara fördelen att du klassiskt kan resonera om det, utan definierar också kortfattat de åtgärder som behövs för att spridas via programvarustacken för att implementera algoritmen. Av den anledningen Q# är utformad för att avge grindsekvenser snarare än kvanttillstånd, men på en teoretisk nivå är de två perspektiven likvärdiga.