Diracový zápis v kvantových výpočtech
Diracova notace je stručný a výkonný způsob popisu kvantových stavů a operací. Jmenuje se po fyzikovi Paulu Diracovi, který vyvinul zápis v roce 1930. Dirac notace se používá v kvantových výpočtech k popisu kvantových stavů, kvantových operací a kvantových měření.
Tento článek vás seznámí s diracovým zápisem a ukáže vám, jak ho použít k popisu kvantových stavů a operací.
Vektory v diracovém zápisu
V diracovém zápisu existují dva typy vektorů: vektor, který odpovídá vektoru řádku, a vektor ket, který odpovídá vektoru sloupce. To je důvod, proč Dirac notace se také nazývá bra-ket notace.
Pokud $\psi$ je vektor sloupce, můžete ho napsat do zápisu Dirac jako $\ket{\psi}$, kde $\ket{\cdot}$ označuje, že se jedná o vektor ket.
Podobně je vektor řádku $\psi^\dagger$ vyjádřen jako $\bra{\psi}$, což je vektor. Jinými slovy, $\psi^\dagger$ je získáno použitím komplexní konjugace po vstupu na prvky transponace $\psi$. Zápis bra-ket přímo naznačuje, že $\braket{\psi|\psi}$ je vnitřní součin vektoru $\psi$ se samotným, což je podle definice $1$.
Obecněji platí, že pokud $\psi$ a $\phi$ jsou kvantové stavové vektory, pak jejich vnitřní součin je $\braket{\phi|\psi}$. Tento vnitřní součin znamená, že pravděpodobnost měření stavu $\ket{\psi}$$\ket{\phi}$ je $|\braket{\phi|\psi}|^2$.
Výpočetní základní stavy $0$ a $1$ jsou reprezentovány jako $\begin{bmatrix} 1 \ 0 \end{bmatrix}=\ket{{0}$ a $\begin{bmatrix} 0 \ 1 \end{bmatrix}=\ket{1}$.
Příklad: Znázornění operace Hadamard s zápisem Dirac
Pojďme použít bránu Hadamard $H$ kvantovým stavům $\ket{0}$ a $\ket{1}$ pomocí zápisu Dirac:
$$ \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{-}$$
Výsledné stavy odpovídají jednotkovým vektorům ve směru $+x$ a $-x$ na Blochově sféře. Tyto stavy lze také rozšířit pomocí diracového zápisu jako součtů $\ket{0}$ a $\ket{1}$:
$$ $$ \ket{+}=\frac{{1}{\sqrt{2}}(\ket{0} + \ket{1})
$$ \ket{-} = \frac{1}{\sqrt{ {2}}(\ket{0} - \ket{1}) $$
Výpočetní základní vektory
Každý kvantový stav může být vždy vyjádřen jako součet výpočetních vektorů základu a tyto součty se snadno vyjadřují pomocí diracového zápisu. Naopak platí také v tom, že stavy $\ket{+}$ a $\ket{-}$ také tvoří základ pro kvantové stavy. Můžete to vidět z faktu, že
$$ \ket{0} = \frac{1}{\sqrt{2}}(\ket{+} + \ket{-}) $$
$$ \ket{1} = \frac{1}{\sqrt{2}}(\ket{+} - \ket{-}) $$
Jako příklad zápisu Dirac zvažte brzdu $\braket{0 1|, což je vnitřní výrobek mezi }$0 $$ a $1$. Lze ho napsat jako
$$ \braket{0 | 1 1 }=\begin{bmatrix}& amp; 0 \end{bmatrix}\begin{bmatrix}0\\ 1\end{bmatrix}=0. $$
Tento příklad říká, že $\ket{{0}$ a $\ket{{1}$ jsou orthogonální vektory, což znamená, že $\braket{0 | 1 1 }=\braket{|0 0.}=$ Také podle definice $\braket{0 | 0}=\braket{0 1 | 1 1}=$, což znamená, že dva výpočetní základní vektory mohou být také volány orthonormální.
Tyto orthonormal vlastnosti se používají v následujícím příkladu. Pokud máte stav $\ket{\psi}={\frac{3}{5}}\ket{{1}+{\frac{{4}{5}}\ket{0}$ , pak protože $\braket{1 | 0}=0$ pravděpodobnost měření $1 je$
$$ \big|\braket{1 |^2\psi}\big|=\left|\frac{1 1{3}{5}\braket{| +}\frac{1 {4}{5}\braket{ 0|^2.}\right|=\frac{{9}{{25} $$
Zápis produktu Tensor
Dirac notace je velmi užitečná k vyjádření tenzorového produktu. Produkt Tensor je důležitý v kvantových výpočtech, protože vektor stavu popsaný dvěma nekoorálními kvantovými registry je tensorové produkty dvou stavových vektorů.
Tensorový produkt $\psi\otimes\phi$ pro všechny dva kvantové stavové vektory $\phi$ a $\psi$ je napsán v dirac notaci jako $\ket{\psi}\otimes\ket{\phi}$. Podle konvence můžete také napsat tenzorový produkt jako $\ket{\psi}\ket{\phi}=\ket{\psi\phi}$.
Například stav se dvěma qubity inicializovanými na nulový stav je $\ket{{0}\otimes\ket{0}=\ket{0}\ket{0}=\ket{00}$.
Příklad: Popis superpozice pomocí zápisu Dirac
Jako další příklad použití diracového zápisu k popisu kvantového stavu zvažte následující ekvivalentní způsoby zápisu kvantového stavu, který je stejnou superpozicí nad každým možným bitovým řetězcem délky $n.$
$$H^{\otimes n}\ket{0}=\frac{1}{2^{n/2}}\sum_{j=0}^{2^n-1}\ket{j}=\ket{+}^{\otimes n.} $$
Tady vás může zajímat, proč součet jde od $0$ do $2^{n-1}$ pro $n$ bitů. Nejprve si všimněte, že existuje $2^{n}$ různých konfigurací, které $může trvat n$ bitů. Můžete to vidět tak, že jeden bit může mít $2$ hodnoty, ale dva bity mohou mít $4$ hodnoty atd. Obecně to znamená, že existuje $2^n$ různých možných bitových řetězců, ale největší hodnota kódovaná v libovolné z nich $1 1\cdots= 2^n-1$, a proto je to horní limit součtu. Jako vedlejší poznámka: v tomto příkladu jste v analogii k$\ket{} ^{\otimes n nepoužili }=\ket{+}$^$\ket{ n{0}{\otimes+}=\ket{{0}$. Tato notační konvence je vyhrazena pro stav výpočetního základu s každým qubitem inicializovaným na nulu. I když je taková konvence v tomto případě rozumná, není používána v kvantových výpočetních literaturách.
Express linearity with Dirac notation
Další funkcí zápisu Dirac je skutečnost, že je lineární. Například pro dvě komplexní čísla $\alpha$ a $\beta$můžete psát
$$ \ket{\psi} \otimes ( \alpha\ket{\phi} + \beta\ket{\chi})=\alpha\ket{\psi}\ket{\phi} + \beta\ket{\psi}\ket{\chi}.$$
To znamená, že můžete distribuovat tenzorový zápis výrobku v dirac notaci tak, aby se tensorové produkty mezi stavové vektory nakonec vypadaly stejně jako obyčejné násobení.
Vektory brašny se řídí podobnými konvencemi jako vektory ket. Například vektor $\bra{\psi}\bra{\phi}$ je ekvivalentní vektoru $\psistavu ^\dagger\otimes\phi^\dagger=(\psi\otimes\phi)^.\dagger$ Pokud je $\ket{\psi}$vektor ket + $\alpha\ket{0}, pak vektor bra vektoru vektoru je \beta^\ket{1}$$\bra{\psi}=\ket{\psi} (\dagger=^* +\bra{^*).{0}\alpha\bra{1}\beta$
Představte si například, že chcete vypočítat pravděpodobnost měření stavu $\ket{\psi}=\frac{3}{5}\ket{{1}+ \frac{4}{5}\ket{0}$ pomocí kvantového programu pro měření stavů buď $\ket{+}$ nebo .$\ket{{-}$ Pak pravděpodobnost, že zařízení vypíše, že stav je $\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{5{2}}\frac{{4}{^2.\sqrt{2}}\right|=\frac{{1}{{50}$$
Skutečnost, že se při výpočtu pravděpodobnosti vyskytuje záporné znaménko, je projevem kvantové interference, což je jeden z mechanismů, kterými kvantové výpočty získávají výhody oproti klasickému computingu.
ketbra nebo vnější výrobek
Poslední položka stojí za zmínku v dirac notaci je ketbra nebo vnější produkt. Vnější výrobek je reprezentován v zápisech Dirac jako $\ket{\psi}\bra{\phi}$. Vnější součin je definován prostřednictvím násobení matice jako $\ket{\psi}\bra{\phi}=\psi\phi^\dagger$ pro kvantové stavové vektory $\psi$ a .$\phi$ Nejjednodušším a pravděpodobně nejběžnějším příkladem tohoto zápisu je
$$ \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\\ 1 \end{bmatrix}\begin{bmatrix}0& 1 \end{bmatrix}=\begin{bmatrix}0 & 0\\ 0 & 1\end{bmatrix}. $$
Ketbra se často označují jako projektory, protože projektují kvantový stav na pevnou hodnotu. Vzhledem k tomu, že tyto operace nejsou jednotná (a ani neuchovávají normu vektoru), nemůže kvantový počítač deterministicky použít projektor. Projektory ale dělají krásnou úlohu popisu akce, kterou měření má na kvantovém stavu. Pokud například změříte stav $\ket{\psi}$ na $hodnotu 0$, výsledná transformace, kterou má stav v důsledku měření
$$\ket{\psi} \rightšipka \frac{(\ket{{0}\bra{{0})\ket{\psi}}{|\braket{0 ,|\psi}|}=\ket{{0}$$
jak byste očekávali, pokud jste změřili stav a zjistili jste, že je $\ket{0}$. Aby bylo možné tyto projektory zopakovat, nelze je použít na stav v kvantovém počítači deterministicky. Místo toho je možné je nejlépe použít náhodně s výsledkem $\ket{0}$ , který se zobrazí s pevnou pravděpodobností. Pravděpodobnost takového měření může být zapsána jako očekávaná hodnota kvantového projektoru ve stavu
$$ \bra{\psi}(\ket{0}\bra{0})\ket{\psi}=|\braket{\psi| 0}|^2,$$
což znázorňuje, že projektory poskytují nový způsob vyjádření procesu měření.
Pokud místo toho zvažujete měření prvního qubitu stavu více qubitů na $1$, můžete tento proces také pohodlně popsat pomocí projektorů a zápisu Dirac:
$$P(\text{první qubit = 1})=\bra{\psi}\left(\ket{{1}\bra{{1}\otimes \mathbf{\mathbf{1}^{\otimes n-1}\right) . \ket{\psi} $$
Zde lze matici identity pohodlně napsat v zápisu Dirac jako
$$ \mathbb{I}=\ket{{0}\bra{0}+\ket{{1}\bra{1}=\begin{bmatrix}1& 0\\ 0& 1 \end{bmatrix}. $$
V případě, že existují dva qubity, lze projektor rozšířit jako
$$ \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} $$
Pak uvidíte, že je to konzistentní s diskuzí o pravděpodobnostech měření pro stavy s vícequbity pomocí zápisu vektoru sloupce:
$$P(\text{první 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;$$
která odpovídá diskuzi o měření více qubitů. Zobecnění tohoto výsledku pro případ více qubitů je však o něco jednodušší vyjádřit pomocí diracového zápisu než zápis ve sloupcovém vektoru a je zcela ekvivalentní předchozí léčbě.
Operátory hustoty
Dalším užitečným operátorem pro vyjádření pomocí diracového zápisu je operátor hustoty, který se někdy označuje také jako operátor stavu. Jako vektor kvantového stavu popisuje operátor hustoty kvantový stav systému. I když kvantové stavové vektory můžou představovat pouze čisté stavy, operátory hustoty mohou také reprezentovat smíšené stavy.
Obecněji platí, že daná matice $\rho$ je platný operátor hustoty, pokud jsou splněny následující podmínky:
- $\rho$ je matice komplexních čísel
- $\rho = \rho^{\dagger}$ (to znamená $\rho$ is Hermitian)
- Každá hodnota eigenvalue $p$ z $\rho$ je nezáporná
- Všechny eigenvalues \ $rho$ suma na 1
Tyto podmínky společně zaručují, že $\rho$ lze považovat za soubor. Operátor hustoty pro kvantový vektor $\ket{\psi}$ stavu má tvar $\rho =\sum_i p_i _i\ket{\psi}\bra{\psi_i}$ je eigenvalue rozklad $\rho$, pak $\rho$ popisuje soubor $\rho ={\ket{\psi_i}\text{s pravděpodobností} p_i .}$
Čisté kvantové stavy jsou ty, které jsou charakterizovány jedním vektorem ket nebo vlnovou funkcí, a nelze je zapsat jako statistickou směs (nebo konvexní kombinaci) jiných kvantových stavů. Smíšený kvantový stav je statistický soubor čistých stavů.
Na blochové kouli jsou čisté stavy reprezentovány bodem na povrchu sféry, zatímco smíšené stavy jsou reprezentovány vnitřním bodem. Smíšený stav jednoho qubitu je reprezentován středem sféry pomocí symetrie. Čistota stavu lze vizualizovat jako stupeň, ve kterém je blízko povrchu koule.
Tento koncept představuje stav jako matici, nikoli vektor, je často pohodlný, protože poskytuje pohodlný způsob reprezentace výpočtů pravděpodobnosti a také umožňuje popsat statistickou nejistotu i kvantovou nejistotu ve stejném formalismu.
Operátor $hustoty \rho$ představuje čistý stav, pokud a pouze pokud:
- $\rho$ lze zapsat jako vnější součin stavového vektoru, $\rho=\ket{\psi}\bra{\psi}$
- $\rho \rho =^2$
- $tr(\rho^2)=1$
Pokud chcete zjistit, jak blízko je daný operátor $hustoty \rho$ čistý, můžete se podívat na trasování (tj. součet diagonálních prvků) $\rho^2$. Operátor hustoty představuje čistý stav, pokud a pouze pokud $tr(\rho ^{2})=1$.
Q# sekvence brány ekvivalentní kvantovým stavům
Poslední bod, který stojí za zmínku o kvantovém zápisu a programovacím Q# jazyce: začátek tohoto dokumentu se zmínil, že kvantový stav je základním objektem informací v kvantovém computingu. Pak může přijít jako překvapení, že v Q# kvantovém stavu neexistuje žádný pojem. Místo toho jsou všechny stavy popsány pouze operacemi použitými k jejich přípravě. Předchozí příklad je vynikající ilustrací tohoto příkladu. Místo vyjádření jednotné superpozice nad každým kvantovým bitovým řetězcem v registru můžete výsledek vyjádřit jako $H^{\otimes n}\ket{0}$. Tento exponenciálně kratší popis stavu má nejen výhodu, kterou můžete klasicky zdůvodnět, ale také stručně definuje operace potřebné k rozšíření prostřednictvím softwarového zásobníku pro implementaci algoritmu. Z tohoto důvodu je navržena tak, Q# aby místo kvantových stavů vysílala sekvence bran, ale na teoretické úrovni jsou tyto dvě perspektivy ekvivalentní.