Przejdź do głównej treści

Procedura estymacji fazy

Następnie omówimy procedurę estymacji fazy, która jest algorytmem kwantowym służącym do rozwiązywania problemu estymacji fazy.

Zaczniemy od rozgrzewki o niskiej precyzji, która wyjaśnia podstawową intuicję stojącą za tą metodą. Następnie omówimy kwantową transformatę Fouriera, która jest ważną operacją kwantową wykorzystywaną w procedurze estymacji fazy, a także jej implementację w postaci obwodu kwantowego. Kiedy już będziemy dysponować kwantową transformatą Fouriera, opiszemy procedurę estymacji fazy w pełnej ogólności i przeanalizujemy jej wydajność.

Rozgrzewka: aproksymacja faz z niską precyzją​

Zaczniemy od kilku prostych wersji procedury estymacji fazy, które dostarczają rozwiązań problemu estymacji fazy o niskiej precyzji. Pomaga to wyjaśnić intuicję stojącą za ogólną procedurą, którą zobaczymy nieco później w lekcji.

Wykorzystanie phase kickback​

Proste podejście do problemu estymacji fazy, które pozwala nam dowiedzieć się czegoś o wartości θ,\theta, której szukamy, opiera się na zjawisku phase kick-back. Jak się przekonamy, jest to w zasadzie jednokubitowa wersja ogólnej procedury estymacji fazy, którą omówimy później w lekcji.

Jako część wejścia do problemu estymacji fazy mamy unitary obwód kwantowy realizujący operację UU. Możemy użyć opisu tego obwodu, aby stworzyć obwód dla operacji controlled-UU, co można zilustrować tak, jak sugeruje ten rysunek (z operacją UU, postrzeganą jako bramka kwantowa, po lewej stronie i operacją controlled-UU po prawej).

Niekontrolowana i kontrolowana wersja operacji unitary

Możemy stworzyć obwód kwantowy dla operacji controlled-UU, dodając najpierw kontrolny kubit do obwodu dla UU, a następnie zastępując każdą bramkę w obwodzie dla UU jej kontrolowaną wersją — tak więc nasz jeden nowy kontrolny kubit efektywnie kontroluje każdą pojedynczą bramkę w obwodzie dla UU. Wymaga to, abyśmy dysponowali kontrolowaną wersją każdej bramki w naszym obwodzie, ale zawsze możemy zbudować obwody dla tych kontrolowanych operacji, jeśli nie są one zawarte w naszym zestawie bramek.

Rozważmy teraz następujący obwód, w którym stan wejściowy ∣ψ⟩\vert\psi\rangle wszystkich kubitów z wyjątkiem górnego jest eigenvectorem w postaci stanu kwantowego operacji UU.

Jednokubitowy obwód do estymacji fazy

Prawdopodobieństwa wyników pomiaru dla tego obwodu zależą od eigenvalue operacji UU odpowiadającej eigenvectorowi ∣ψ⟩\vert\psi\rangle. Przeanalizujmy obwód szczegółowo, aby określić dokładnie, jak.

Stany jednokubitowego obwodu do estymacji fazy

Początkowy stan obwodu to

∣π0⟩=∣ψ⟩∣0⟩\vert\pi_0\rangle = \vert\psi\rangle \vert 0\rangle

a pierwsza bramka Hadamard przekształca ten stan w

∣π1⟩=∣ψ⟩∣+⟩=12∣ψ⟩∣0⟩+12∣ψ⟩∣1⟩.\vert\pi_1\rangle = \vert\psi\rangle \vert +\rangle = \frac{1}{\sqrt{2}} \vert\psi\rangle \vert 0\rangle + \frac{1}{\sqrt{2}} \vert\psi\rangle \vert 1\rangle.

Następnie wykonywana jest operacja controlled-UU, co prowadzi do stanu

∣π2⟩=12∣ψ⟩∣0⟩+12(U∣ψ⟩)∣1⟩.\vert\pi_2\rangle = \frac{1}{\sqrt{2}} \vert\psi\rangle \vert 0\rangle + \frac{1}{\sqrt{2}} \bigl(U \vert\psi\rangle\bigr) \vert 1\rangle.

Korzystając z założenia, że ∣ψ⟩\vert\psi\rangle jest eigenvectorem operacji UU z eigenvalue λ=e2πiθ\lambda = e^{2\pi i\theta}, możemy alternatywnie wyrazić ten stan w następujący sposób.

∣π2⟩=12∣ψ⟩∣0⟩+e2πiθ2∣ψ⟩∣1⟩=∣ψ⟩⊗(12∣0⟩+e2πiθ2∣1⟩)\vert\pi_2\rangle = \frac{1}{\sqrt{2}} \vert\psi\rangle \vert 0\rangle + \frac{e^{2\pi i \theta}}{\sqrt{2}} \vert\psi\rangle \vert 1\rangle = \vert\psi\rangle \otimes \left( \frac{1}{\sqrt{2}} \vert 0\rangle + \frac{e^{2\pi i \theta}}{\sqrt{2}} \vert 1\rangle\right)

Tutaj obserwujemy zjawisko phase kickback. Tym razem jest ono nieco inne niż w algorytmie Deutscha i algorytmie Deutscha-Jozsy, ponieważ nie pracujemy z bramką zapytania — ale idea jest podobna.

Na koniec wykonywana jest druga bramka Hadamard. Po niewielkim uproszczeniu otrzymujemy następujące wyrażenie dla tego stanu.

∣π3⟩=∣ψ⟩⊗(1+e2πiθ2∣0⟩+1−e2πiθ2∣1⟩)\vert\pi_3\rangle = \vert\psi\rangle \otimes \left( \frac{1+ e^{2\pi i \theta}}{2} \vert 0\rangle + \frac{1 - e^{2\pi i \theta}}{2} \vert 1\rangle\right)

Pomiar daje zatem wyniki 00 i 11 z następującymi prawdopodobieństwami:

p0=∣1+e2πiθ2∣2=cos⁡2(πθ)p1=∣1−e2πiθ2∣2=sin⁡2(πθ).\begin{aligned} p_0 &= \left\vert \frac{1+ e^{2\pi i \theta}}{2} \right\vert^2 = \cos^2(\pi\theta)\\[1mm] p_1 &= \left\vert \frac{1- e^{2\pi i \theta}}{2} \right\vert^2 = \sin^2(\pi\theta). \end{aligned}

Oto wykres prawdopodobieństw dla dwóch możliwych wyników, 00 i 1,1, jako funkcji θ.\theta.

Prawdopodobieństwa wyników phase kickback

Oczywiście, obydwa prawdopodobieństwa zawsze sumują się do 11. Zauważmy, że gdy θ=0\theta = 0, wynikiem pomiaru jest zawsze 00, a gdy θ=1/2\theta = 1/2, wynikiem pomiaru jest zawsze 11. Zatem, chociaż wynik pomiaru nie ujawnia dokładnej wartości θ\theta, dostarcza nam pewnych informacji na jej temat — a gdybyśmy mieli zapewnienie, że albo θ=0\theta = 0, albo θ=1/2\theta = 1/2, moglibyśmy dowiedzieć się z obwodu, która z tych wartości jest poprawna, bez popełnienia błędu.

Intuicyjnie możemy myśleć o wyniku pomiaru obwodu jako o zgadywaniu θ\theta z „dokładnością do jednego bitu". Innymi słowy, gdybyśmy zapisali θ\theta w notacji binarnej i zaokrąglili do jednego bitu, otrzymalibyśmy liczbę taką jak ta:

0.a={0a=012a=1.0.a = \begin{cases} 0 & a = 0\\ \frac{1}{2} & a = 1. \end{cases}

Wynik pomiaru można postrzegać jako zgadywanie bitu aa. Gdy θ\theta nie jest ani 00, ani 1/21/2, istnieje niezerowe prawdopodobieństwo, że zgadywanie będzie błędne — ale prawdopodobieństwo popełnienia błędu staje się coraz mniejsze w miarę zbliżania się do 00 lub 1/21/2.

Naturalne jest pytanie, jaką rolę odgrywają dwie bramki Hadamard w tej procedurze:

  • Pierwsza bramka Hadamard ustawia kontrolny kubit w jednorodnej superpozycji stanów ∣0⟩\vert 0\rangle i ∣1⟩\vert 1\rangle, tak że gdy zachodzi phase kickback, dzieje się to dla stanu ∣1⟩\vert 1\rangle, a nie dla stanu ∣0⟩\vert 0\rangle, tworząc względną różnicę faz, która wpływa na wyniki pomiaru. Gdybyśmy tego nie zrobili, a phase kickback wytworzyłby fazę globalną, nie miałoby to wpływu na prawdopodobieństwa uzyskania różnych wyników pomiaru.

  • Druga bramka Hadamard pozwala nam dowiedzieć się czegoś o liczbie θ\theta poprzez zjawisko interferencji. Przed drugą bramką Hadamard stan górnego kubitu to

    12∣0⟩+e2πiθ2∣1⟩,\frac{1}{\sqrt{2}} \vert 0\rangle + \frac{e^{2\pi i \theta}}{\sqrt{2}} \vert 1\rangle,

    i gdybyśmy zmierzyli ten stan, otrzymalibyśmy 00 i 11 każde z prawdopodobieństwem 1/21/2, nie mówiąc nam nic o θ\theta. Wykonując drugą bramkę Hadamard, sprawiamy jednak, że liczba θ\theta wpływa na prawdopodobieństwa wyjściowe.

Podwajanie fazy​

Powyższy obwód wykorzystuje zjawisko phase kickback do aproksymacji θ\theta z dokładnością do pojedynczego bitu. Jeden bit dokładności może być wszystkim, czego potrzebujemy w niektórych sytuacjach — ale do faktoryzacji będziemy potrzebować znacznie większej dokładności. Naturalne pytanie brzmi: jak możemy dowiedzieć się więcej o θ?\theta?

Jedną z bardzo prostych rzeczy, które możemy zrobić, jest zastąpienie operacji controlled-UU w naszym obwodzie dwoma kopiami tej operacji, jak w tym obwodzie:

Podwojona jednobitowa estymacja fazy

Dwie kopie operacji controlled-UU są równoważne operacji controlled-U2U^2. Jeśli ∣ψ⟩\vert\psi\rangle jest eigenvectorem operacji UU z eigenvalue λ=e2πiθ\lambda = e^{2\pi i \theta}, to stan ten jest również eigenvectorem operacji U2U^2, tym razem z eigenvalue λ2=e2πi(2θ)\lambda^2 = e^{2\pi i (2\theta)}.

Zatem, jeśli uruchomimy tę wersję obwodu, efektywnie wykonujemy te same obliczenia co wcześniej, z tą różnicą, że liczba θ\theta jest zastąpiona przez 2θ2\theta. Oto wykres ilustrujący prawdopodobieństwa wyjściowe, gdy θ\theta zmienia się od 00 do 11.

Prawdopodobieństwa wyników podwojonego phase kickback

Zrobienie tego może rzeczywiście dostarczyć nam dodatkowych informacji o θ\theta. Jeśli binarna reprezentacja θ\theta to

θ=0.a1a2a3⋯\theta = 0.a_1 a_2 a_3\cdots

to podwojenie θ\theta efektywnie przesuwa punkt binarny o jedno miejsce w prawo:

2θ=a1.a2a3⋯2\theta = a_1. a_2 a_3\cdots

A ponieważ utożsamiamy θ=1\theta = 1 z θ=0\theta = 0 podczas poruszania się po okręgu jednostkowym, widzimy, że bit a1a_1 nie ma wpływu na nasze prawdopodobieństwa, i efektywnie otrzymujemy zgadywanie drugiego bitu po punkcie binarnym, jeśli zaokrąglimy θ\theta do dwóch bitów. Na przykład, gdybyśmy wiedzieli z góry, że θ\theta wynosi 00 lub 1/41/4, moglibyśmy w pełni zaufać wynikowi pomiaru, aby dowiedzieć się, która to wartość.

Nie jest jednak od razu jasne, jak tę estymację należy pogodzić z tym, czego nauczyliśmy się z oryginalnego (niepodwojonego) obwodu phase kickback, aby uzyskać jak najdokładniejsze informacje o θ\theta. Zróbmy więc krok wstecz i zastanówmy się, jak postępować dalej.

Dwukubitowa estymacja fazy​

Zamiast rozważać oddzielnie dwie opcje opisane powyżej, połączmy je w jeden obwód w następujący sposób.

The initial set-up for phase estimation with two qubits

Bramki Hadamarda po operacjach kontrolowanych zostały usunięte i nie ma tu jeszcze żadnych pomiarów. Dodamy więcej elementów do obwodu, gdy będziemy rozważać nasze możliwości dowiedzenia się jak najwięcej o θ\theta.

Jeśli uruchomimy ten obwód, gdy ∣ψ⟩\vert\psi\rangle jest eigenvectorem UU, stan dolnych kubitów pozostanie ∣ψ⟩\vert\psi\rangle przez cały obwód, a fazy zostaną "wkopnięte" do stanu dwóch górnych kubitów. Przeanalizujmy ten obwód starannie, korzystając z poniższego rysunku.

Stany dla estymacji fazy z dwoma kubitami

Stan ∣π1⟩\vert\pi_1\rangle możemy zapisać tak:

∣π1⟩=∣ψ⟩⊗12∑a0=01∑a1=01∣a1a0⟩.\vert\pi_1\rangle = \vert \psi\rangle \otimes \frac{1}{2} \sum_{a_0 = 0}^1 \sum_{a_1 = 0}^1 \vert a_1 a_0 \rangle.

Gdy wykonywana jest pierwsza operacja kontrolowanego-UU, eigenvalue λ=e2πiθ\lambda = e^{2\pi i\theta} zostaje wkopnięta do fazy, gdy a0a_0 (górny kubit) jest równe 11, ale nie gdy jest równe 00. Możemy więc wyrazić wynikowy stan w następujący sposób:

∣π2⟩=∣ψ⟩⊗12∑a0=01∑a1=01e2πia0θ∣a1a0⟩.\vert\pi_2\rangle = \vert\psi\rangle \otimes \frac{1}{2} \sum_{a_0=0}^1 \sum_{a_1=0}^1 e^{2 \pi i a_0 \theta} \vert a_1 a_0 \rangle.

Druga i trzecia bramka kontrolowanego-UU robią coś podobnego, z tym że dla a1a_1 zamiast a0a_0, oraz z θ\theta zastąpionym przez 2θ2\theta. Możemy wyrazić wynikowy stan w następujący sposób:

∣π3⟩=∣ψ⟩⊗12∑a0=01∑a1=01e2πi(2a1+a0)θ∣a1a0⟩.\vert\pi_3\rangle = \vert\psi\rangle\otimes\frac{1}{2}\sum_{a_0 = 0}^1 \sum_{a_1 = 0}^1 e^{2\pi i (2 a_1 + a_0)\theta} \vert a_1 a_0 \rangle.

Jeśli pomyślimy o ciągu binarnym a1a0a_1 a_0 jako reprezentującym liczbę całkowitą x∈{0,1,2,3}x \in \{0,1,2,3\} w zapisie binarnym, czyli x=2a1+a0x = 2 a_1 + a_0, możemy alternatywnie wyrazić ten stan następująco.

∣π3⟩=∣ψ⟩⊗12∑x=03e2πixθ∣x⟩\vert\pi_3\rangle = \vert \psi\rangle \otimes \frac{1}{2} \sum_{x = 0}^3 e^{2\pi i x \theta} \vert x \rangle

Naszym celem jest wydobycie z tego stanu jak największej ilości informacji o θ.\theta.

W tym momencie rozważymy szczególny przypadek, w którym mamy zapewnione, że θ=y4\theta = \frac{y}{4} dla pewnej liczby całkowitej y∈{0,1,2,3}.y\in\{0,1,2,3\}. Innymi słowy, mamy θ∈{0,1/4,1/2,3/4},\theta\in \{0, 1/4, 1/2, 3/4\}, więc możemy wyrazić tę liczbę dokładnie w zapisie binarnym za pomocą dwóch bitów, jako .00,00, .01,01, .10,10, lub .11.11. Ogólnie θ\theta może nie być jedną z tych czterech wartości, ale rozważenie tego szczególnego przypadku pomoże nam rozpracować, jak najskuteczniej wydobywać informacje o θ\theta w ogólnym przypadku.

Najpierw zdefiniujemy dwukubitowy wektor stanu dla każdej możliwej wartości y∈{0,1,2,3}y \in \{0, 1, 2, 3\}.

∣ϕy⟩=12∑x=03e2πix(y4)∣x⟩=12∑x=03e2πixy4∣x⟩\vert \phi_y\rangle = \frac{1}{2} \sum_{x = 0}^3 e^{2\pi i x (\frac{y}{4})} \vert x \rangle = \frac{1}{2} \sum_{x = 0}^3 e^{2\pi i \frac{x y}{4}} \vert x \rangle

Po uproszczeniu wykładników możemy zapisać te wektory następująco.

∣ϕ0⟩=12∣0⟩+12∣1⟩+12∣2⟩+12∣3⟩∣ϕ1⟩=12∣0⟩+i2∣1⟩−12∣2⟩−i2∣3⟩∣ϕ2⟩=12∣0⟩−12∣1⟩+12∣2⟩−12∣3⟩∣ϕ3⟩=12∣0⟩−i2∣1⟩−12∣2⟩+i2∣3⟩\begin{aligned} \vert\phi_0\rangle & = \frac{1}{2} \vert 0 \rangle + \frac{1}{2} \vert 1 \rangle + \frac{1}{2} \vert 2 \rangle + \frac{1}{2} \vert 3 \rangle \\[3mm] \vert\phi_1\rangle & = \frac{1}{2} \vert 0 \rangle + \frac{i}{2} \vert 1 \rangle - \frac{1}{2} \vert 2 \rangle - \frac{i}{2} \vert 3 \rangle \\[3mm] \vert\phi_2\rangle & = \frac{1}{2} \vert 0 \rangle - \frac{1}{2} \vert 1 \rangle + \frac{1}{2} \vert 2 \rangle - \frac{1}{2} \vert 3 \rangle \\[3mm] \vert\phi_3\rangle & = \frac{1}{2} \vert 0 \rangle - \frac{i}{2} \vert 1 \rangle - \frac{1}{2} \vert 2 \rangle + \frac{i}{2} \vert 3 \rangle \end{aligned}

Te wektory są ortogonalne: jeśli wybierzemy dowolną ich parę i obliczymy ich iloczyn skalarny, otrzymamy 00. Każdy z nich jest również wektorem jednostkowym, więc {∣ϕ0⟩,∣ϕ1⟩,∣ϕ2⟩,∣ϕ3⟩}\{\vert\phi_0\rangle, \vert\phi_1\rangle, \vert\phi_2\rangle, \vert\phi_3\rangle\} jest bazą ortonormalną. Wiemy zatem od razu, że istnieje pomiar, który może je doskonale rozróżnić — co oznacza, że jeśli otrzymamy jeden z nich, ale nie wiemy który, to możemy bezbłędnie ustalić, który to jest.

Aby wykonać takie rozróżnienie za pomocą obwodu kwantowego, możemy najpierw zdefiniować operację unitary V,V, która przekształca stany bazy standardowej w cztery wymienione powyżej stany.

V∣00⟩=∣ϕ0⟩V∣01⟩=∣ϕ1⟩V∣10⟩=∣ϕ2⟩V∣11⟩=∣ϕ3⟩\begin{aligned} V \vert 00 \rangle & = \vert\phi_0\rangle \\ V \vert 01 \rangle & = \vert\phi_1\rangle \\ V \vert 10 \rangle & = \vert\phi_2\rangle \\ V \vert 11 \rangle & = \vert\phi_3\rangle \end{aligned}

Aby zapisać VV jako macierz 4×44\times 4, wystarczy wziąć kolumny VV jako stany ∣ϕ0⟩,…,∣ϕ3⟩\vert\phi_0\rangle,\ldots,\vert\phi_3\rangle.

V=12(11111i−1−i1−11−11−i−1i)V = \frac{1}{2} \begin{pmatrix} 1 & 1 & 1 & 1\\[1mm] 1 & i & -1 & -i\\[1mm] 1 & -1 & 1 & -1\\[1mm] 1 & -i & -1 & i \end{pmatrix}

To jest szczególna macierz i prawdopodobnie niektórzy czytelnicy już się z nią spotkali: jest to macierz związana z 44-wymiarową dyskretną transformatą Fouriera. W świetle tego faktu nazwijmy ją QFT4\mathrm{QFT}_4 zamiast VV. Nazwa QFT\mathrm{QFT} to skrót od quantum Fourier transform (kwantowa transformata Fouriera) — która jest w istocie po prostu dyskretną transformatą Fouriera rozpatrywaną jako operacja unitary. Wkrótce omówimy QFT bardziej szczegółowo i ogólnie.

QFT4=12(11111i−1−i1−11−11−i−1i)\mathrm{QFT}_4 = \frac{1}{2} \begin{pmatrix} 1 & 1 & 1 & 1\\[1mm] 1 & i & -1 & -i\\[1mm] 1 & -1 & 1 & -1\\[1mm] 1 & -i & -1 & i \end{pmatrix}

Możemy wykonać odwrotność tej operacji, aby przejść w drugą stronę, czyli przekształcić stany ∣ϕ0⟩,…,∣ϕ3⟩\vert\phi_0\rangle,\ldots,\vert\phi_3\rangle w stany bazy standardowej ∣0⟩,…,∣3⟩\vert 0\rangle,\ldots,\vert 3\rangle. Jeśli to zrobimy, to możemy wykonać pomiar, aby dowiedzieć się, która wartość y∈{0,1,2,3}y\in\{0,1,2,3\} opisuje θ\theta jako θ=y/4\theta = y/4. Oto schemat obwodu kwantowego, który to realizuje.

Estymacja fazy z dwoma kubitami

Podsumowując, jeśli uruchomimy ten obwód, gdy θ=y/4\theta = y/4 dla y∈{0,1,2,3}y\in\{0,1,2,3\}, stan bezpośrednio przed wykonaniem pomiarów będzie ∣ψ⟩∣y⟩\vert \psi\rangle \vert y\rangle (dla yy zakodowanego jako dwubitowy ciąg binarny), więc pomiary ujawnią wartość yy bez błędu.

Ten obwód jest motywowany szczególnym przypadkiem θ∈{0,1/4,1/2,3/4}\theta \in \{0,1/4,1/2,3/4\} — ale możemy go uruchomić dla dowolnego wyboru UU i ∣ψ⟩\vert \psi\rangle, a zatem dla dowolnej wartości θ\theta, jaką chcemy. Oto wykres prawdopodobieństw wyjściowych, które obwód produkuje dla dowolnych wyborów θ\theta.

Prawdopodobieństwa wyników z dwukubitowej estymacji fazy

Jest to wyraźne ulepszenie w stosunku do wariantu jednokubitowego opisanego wcześniej w lekcji. Nie jest doskonały — może dać nam błędną odpowiedź — ale odpowiedź jest silnie przesunięta w stronę wartości yy, dla których y/4y/4 jest bliskie θ\theta. W szczególności najbardziej prawdopodobny wynik zawsze odpowiada wartości y/4y/4 najbliższej θ\theta (utożsamiając θ=0\theta = 0 i θ=1\theta = 1 jak poprzednio), a z wykresu wynika, że ta najbliższa wartość dla xx zawsze pojawia się z prawdopodobieństwem tuż powyżej 40%40\%. Gdy θ\theta jest dokładnie w połowie drogi między dwiema takimi wartościami, jak na przykład θ=0.375\theta = 0.375, dwie równie bliskie wartości yy są jednakowo prawdopodobne.

Przygotowanie do uogólnienia na wiele kubitów​

Biorąc pod uwagę poprawę, jaką właśnie uzyskaliśmy dzięki użyciu dwóch kubitów kontrolnych zamiast jednego, w połączeniu z odwrotnością 44-wymiarowej QFT, naturalne jest rozważenie dalszego uogólnienia — poprzez dodanie większej liczby kubitów kontrolnych. Gdy to zrobimy, otrzymamy ogólną procedurę estymacji fazy. Wkrótce zobaczymy, jak to działa, ale aby opisać to precyzyjnie, musimy omówić QFT w większej ogólności, aby zobaczyć, jak jest ona zdefiniowana dla innych wymiarów i jak możemy ją (lub jej odwrotność) zaimplementować za pomocą obwodu kwantowego.

Kwantowa transformata Fouriera​

Kwantowa transformata Fouriera jest operacją unitary, którą można zdefiniować dla dowolnego dodatniego wymiaru całkowitego NN. W tej sekcji zobaczymy, jak ta operacja jest zdefiniowana i jak można ją zaimplementować za pomocą obwodu kwantowego na mm kubitach o koszcie O(m2)O(m^2), gdy N=2mN = 2^m.

Macierze opisujące kwantową transformatę Fouriera są wyprowadzane z analogicznej operacji na wektorach NN-wymiarowych znanej jako dyskretna transformata Fouriera. O tej operacji można myśleć na różne sposoby. Na przykład możemy myśleć o dyskretnej transformacie Fouriera w czysto abstrakcyjnych, matematycznych kategoriach jako o odwzorowaniu liniowym. Albo możemy myśleć o niej w kategoriach obliczeniowych, gdzie mamy dany NN-wymiarowy wektor liczb zespolonych (używając zapisu binarnego do zakodowania części rzeczywistych i urojonych wpisów, jak załóżmy), a celem jest obliczenie NN-wymiarowego wektora otrzymanego przez zastosowanie dyskretnej transformaty Fouriera. Skupimy się na trzecim sposobie, którym jest postrzeganie tej transformacji jako operacji unitary, którą można wykonać na układzie kwantowym.

Istnieje efektywny algorytm obliczania dyskretnej transformaty Fouriera dla zadanego wektora wejściowego, znany jako szybka transformata Fouriera. Ma zastosowania w przetwarzaniu sygnałów i wielu innych dziedzinach i jest uważana przez wielu za jeden z najważniejszych algorytmów kiedykolwiek odkrytych. Jak się okazuje, implementacja kwantowej transformaty Fouriera, gdy NN jest potęgą 2, którą będziemy studiować, opiera się dokładnie na tej samej strukturze podstawowej, która umożliwia szybką transformatę Fouriera.

Definicja kwantowej transformaty Fouriera​

Aby zdefiniować kwantową transformatę Fouriera, najpierw zdefiniujemy liczbę zespoloną ωN\omega_N, dla każdej dodatniej liczby całkowitej NN, w następujący sposób:

ωN=e2πiN=cos⁡(2πN)+isin⁡(2πN).\omega_N = e^{\frac{2\pi i}{N}} = \cos\left(\frac{2\pi}{N}\right) + i \sin\left(\frac{2\pi}{N}\right).

Jest to liczba na zespolonym okręgu jednostkowym, którą otrzymujemy, jeśli zaczynamy od 11 i poruszamy się w kierunku przeciwnym do ruchu wskazówek zegara o kąt 2π/N2\pi/N radianów, czyli o ułamek 1/N1/N obwodu okręgu. Oto kilka przykładów:

ω1=1ω2=−1ω3=−12+32iω4=iω8=1+i2ω16=2+22+2−22iω100≈0.998+0.063i\begin{gathered} \omega_1 = 1\\[1mm] \omega_2 = -1\\[1mm] \omega_3 = -\frac{1}{2} + \frac{\sqrt{3}}{2} i\\[2mm] \omega_4 = i\\[1mm] \omega_8 = \frac{1+i}{\sqrt{2}}\\[3mm] \omega_{16} = \frac{\sqrt{2 + \sqrt{2}}}{2} + \frac{\sqrt{2 - \sqrt{2}}}{2} i\\[2mm] \omega_{100} \approx 0.998 + 0.063 i \end{gathered}

Teraz możemy zdefiniować NN-wymiarową kwantową transformatę Fouriera, która jest opisana macierzą N×NN\times N, której wiersze i kolumny są powiązane ze standardowymi stanami bazowymi ∣0⟩,…,∣N−1⟩\vert 0\rangle,\ldots,\vert N-1\rangle. Będziemy potrzebować tej operacji tylko wtedy, gdy N=2mN = 2^m jest potęgą 22 na potrzeby estymacji fazy, ale operację tę można zdefiniować dla dowolnej dodatniej liczby całkowitej NN.

QFTN=1N∑x=0N−1∑y=0N−1ωNxy∣x⟩⟨y∣\mathrm{QFT}_N = \frac{1}{\sqrt{N}} \sum_{x = 0}^{N-1} \sum_{y = 0}^{N-1} \omega_N^{xy} \vert x \rangle\langle y\vert

Jak już stwierdzono, jest to macierz powiązana z NN-wymiarową dyskretną transformatą Fouriera. Często wiodący czynnik 1/N1/\sqrt{N} nie jest uwzględniany w definicji tej macierzy, ale musimy go uwzględnić, aby otrzymać macierz unitary.

Oto kwantowa transformata Fouriera, zapisana jako macierz, dla kilku małych wartości NN.

QFT1=(1)\mathrm{QFT}_1 = \begin{pmatrix} 1 \end{pmatrix} QFT2=12(111−1)\mathrm{QFT}_2 = \frac{1}{\sqrt{2}} \begin{pmatrix} 1 & 1\\[1mm] 1 & -1 \end{pmatrix} QFT3=13(1111−1+i32−1−i321−1−i32−1+i32)\mathrm{QFT}_3 = \frac{1}{\sqrt{3}} \begin{pmatrix} 1 & 1 & 1\\[2mm] 1 & \frac{-1 + i\sqrt{3}}{2} & \frac{-1 - i\sqrt{3}}{2}\\[2mm] 1 & \frac{-1 - i\sqrt{3}}{2} & \frac{-1 + i\sqrt{3}}{2} \end{pmatrix} QFT4=12(11111i−1−i1−11−11−i−1i)\mathrm{QFT}_4 = \frac{1}{2} \begin{pmatrix} 1 & 1 & 1 & 1\\[1mm] 1 & i & -1 & -i\\[1mm] 1 & -1 & 1 & -1\\[1mm] 1 & -i & -1 & i \end{pmatrix} QFT8=122(1111111111+i2i−1+i2−1−1−i2−i1−i21i−1−i1i−1−i1−1+i2−i1+i2−11−i2i−1−i21−11−11−11−11−1−i2i1−i2−11+i2−i−1+i21−i−1i1−i−1i11−i2−i−1−i2−1−1+i2i1+i2)\mathrm{QFT}_8 = \frac{1}{2\sqrt{2}} \begin{pmatrix} 1 & 1 & 1 & 1 & 1 & 1 & 1 & 1\\[2mm] 1 & \frac{1+i}{\sqrt{2}} & i & \frac{-1+i}{\sqrt{2}} & -1 & \frac{-1-i}{\sqrt{2}} & -i & \frac{1-i}{\sqrt{2}}\\[2mm] 1 & i & -1 & -i & 1 & i & -1 & -i\\[2mm] 1 & \frac{-1+i}{\sqrt{2}} & -i & \frac{1+i}{\sqrt{2}} & -1 & \frac{1-i}{\sqrt{2}} & i & \frac{-1-i}{\sqrt{2}}\\[2mm] 1 & -1 & 1 & -1 & 1 & -1 & 1 & -1\\[2mm] 1 & \frac{-1-i}{\sqrt{2}} & i & \frac{1-i}{\sqrt{2}} & -1 & \frac{1+i}{\sqrt{2}} & -i & \frac{-1+i}{\sqrt{2}}\\[2mm] 1 & -i & -1 & i & 1 & -i & -1 & i\\[2mm] 1 & \frac{1-i}{\sqrt{2}} & -i & \frac{-1-i}{\sqrt{2}} & -1 & \frac{-1+i}{\sqrt{2}} & i & \frac{1+i}{\sqrt{2}}\\[2mm] \end{pmatrix}

Zwróć uwagę w szczególności, że QFT2\mathrm{QFT}_2 to inna nazwa operacji Hadamard.

Unitarność​

Sprawdźmy, że QFTN\mathrm{QFT}_N jest unitary, dla dowolnego wyboru NN. Jednym ze sposobów na to jest pokazanie, że jej kolumny tworzą bazę ortonormalną. Możemy zdefiniować wektor odpowiadający kolumnie numer yy, zaczynając od y=0y = 0 i dochodząc do y=N−1y = N-1, w następujący sposób:

∣ϕy⟩=1N∑x=0N−1ωNxy∣x⟩.\vert\phi_y\rangle = \frac{1}{\sqrt{N}} \sum_{x = 0}^{N-1} \omega_N^{xy} \vert x \rangle.

Obliczenie iloczynu skalarnego między dowolnymi dwoma z tych wektorów daje nam następujące wyrażenie:

⟨ϕz∣ϕy⟩=1N∑x=0N−1ωNx(y−z)\langle \phi_z \vert \phi_y \rangle = \frac{1}{N} \sum_{x = 0}^{N-1} \omega_N^{x (y - z)}

Takie sumy możemy obliczyć, stosując poniższy wzór na sumę pierwszych NN wyrazów szeregu geometrycznego.

1+α+α2+⋯+αN−1={αN−1α−1if α≠1Nif α=11 + \alpha + \alpha^2 + \cdots + \alpha^{N-1} = \begin{cases} \frac{\alpha^N - 1}{\alpha - 1} & \text{if } \alpha\neq 1\\[2mm] N & \text{if } \alpha=1 \end{cases}

W szczególności możemy użyć tego wzoru, gdy α=ωNy−z\alpha = \omega_N^{y-z}. Gdy y=zy = z, mamy α=1\alpha = 1, więc użycie wzoru i podzielenie przez NN daje

⟨ϕy∣ϕy⟩=1.\langle \phi_y \vert \phi_y \rangle = 1.

Gdy y≠zy\neq z, mamy α≠1\alpha \neq 1, więc wzór ujawnia, że:

⟨ϕz∣ϕy⟩=1NωNN(y−z)−1ωNy−z−1=1N1−1ωNy−z−1=0.\langle \phi_z \vert \phi_y \rangle = \frac{1}{N} \frac{\omega_N^{N(y-z)} - 1}{\omega_N^{y-z} - 1} = \frac{1}{N} \frac{1 - 1}{\omega_N^{y-z} - 1} = 0.

Dzieje się tak, ponieważ ωNN=e2πi=1\omega_N^N = e^{2\pi i} = 1, więc ωNN(y−z)=1y−z=1\omega_N^{N(y-z)} = 1^{y-z} = 1, co sprawia, że licznik jest zerem, podczas gdy mianownik jest niezerowy, ponieważ ωNy−z≠1\omega_N^{y-z} \neq 1. Intuicyjnie rzecz biorąc, to, co robimy, to sumowanie wielu punktów rozmieszczonych wokół okręgu jednostkowego, które przy sumowaniu znoszą się i pozostawiają 00.

Ustaliliśmy zatem, że {∣ϕ0⟩,…,∣ϕN−1⟩}\{\vert\phi_0\rangle,\ldots,\vert\phi_{N-1}\rangle\} jest zbiorem ortonormalnym,

⟨ϕz∣ϕy⟩={1y=z0y≠z,\langle \phi_z \vert \phi_y \rangle = \begin{cases} 1 & y=z\\ 0 & y\neq z, \end{cases}

co ujawnia, że QFTN\mathrm{QFT}_N jest unitary.

Bramki kontrolowanej fazy​

Aby zaimplementować kwantową transformatę Fouriera za pomocą obwodu kwantowego, będziemy musieli skorzystać z bramek kontrolowanej fazy. Przypomnijmy, że operacja fazy jest jednokubitową operacją unitary postaci

Pα=(100eiα)P_{\alpha} = \begin{pmatrix} 1 & 0\\[1mm] 0 & e^{i\alpha} \end{pmatrix}

dla dowolnej liczby rzeczywistej α\alpha. Kontrolowana wersja tej bramki ma następującą macierz:

CPα=(100001000010000eiα)CP_{\alpha} = \begin{pmatrix} 1 & 0 & 0 & 0\\[1mm] 0 & 1 & 0 & 0\\[1mm] 0 & 0 & 1 & 0\\[1mm] 0 & 0 & 0 & e^{i\alpha} \end{pmatrix}

W przypadku tej kontrolowanej bramki w rzeczywistości nie ma znaczenia, który kubit jest kontrolny, a który docelowy, ponieważ obie możliwości są równoważne. Do przedstawienia tej bramki na schematach obwodów kwantowych możemy użyć dowolnego z poniższych symboli.

Reprezentacja schematu obwodu kwantowego dla bramek kontrolowanej fazy

W przypadku trzeciej formy etykieta α\alpha jest czasem umieszczana również z boku linii kontrolnej lub pod dolną kontrolą, gdy jest to wygodne.

Aby wykonać kwantową transformatę Fouriera, gdy N=2mN = 2^m i m≥2m\geq 2, będziemy musieli wykonać operację na mm kubitach, której działanie na stanach bazy standardowej można opisać jako

∣y⟩∣a⟩↦ω2may∣y⟩∣a⟩,\vert y \rangle \vert a \rangle \mapsto \omega_{2^m}^{ay} \vert y \rangle \vert a \rangle,

gdzie aa to bit, a y∈{0,…,2m−1−1}y \in \{0,\ldots,2^{m-1} - 1\} to liczba zakodowana w notacji binarnej jako ciąg m−1m-1 bitów. Można to wykonać za pomocą bramek kontrolowanej fazy, uogólniając poniższy przykład, dla którego m=5m=5.

Schemat obwodu kwantowego dla iniekcji fazy

Ogólnie dla dowolnego wyboru m≥2m\geq 2, górny kubit odpowiadający bitowi aa można traktować jako kontrolę, przy czym bramki fazowe PαP_{\alpha} sięgają od α=π/2m−1\alpha = \pi/2^{m-1} na kubicie odpowiadającym najmniej znaczącemu bitowi yy do α=π2\alpha = \frac{\pi}{2} na kubicie odpowiadającym najbardziej znaczącemu bitowi yy. Wszystkie te bramki kontrolowanej fazy są przemienne względem siebie i mogą być wykonywane w dowolnej kolejności.

Implementacja obwodowa QFT​

Teraz zobaczymy, jak zaimplementować kwantową transformatę Fouriera za pomocą obwodu, gdy wymiar N=2mN = 2^m jest potęgą 22. W rzeczywistości istnieje wiele sposobów implementacji kwantowej transformaty Fouriera, ale ten jest prawdopodobnie najprostszą znaną metodą. Gdy już wiemy, jak zaimplementować kwantową transformatę Fouriera za pomocą obwodu kwantowego, bezpośrednio wynika z tego sposób implementacji jej odwrotności: możemy zastąpić każdą bramkę jej odwrotnością (lub równoważnie sprzężeniem hermitowskim) i zastosować bramki w odwrotnej kolejności. Każdy obwód kwantowy złożony wyłącznie z bramek unitary można odwrócić w ten sposób.

Implementacja ma charakter rekurencyjny, więc tak jest najbardziej naturalnie opisana. Przypadkiem bazowym jest m=1m=1, w którym kwantowa transformata Fouriera jest operacją Hadamarda.

Aby wykonać kwantową transformatę Fouriera na mm kubitach, gdy m≥2m \geq 2, możemy wykonać następujące kroki, których działania opiszemy dla stanów bazy standardowej postaci ∣x⟩∣a⟩\vert x \rangle \vert a\rangle, gdzie x∈{0,…,2m−1−1}x\in\{0,\ldots,2^{m-1} - 1\} jest liczbą całkowitą zakodowaną jako m−1m-1 bitów w notacji binarnej, a aa jest pojedynczym bitem.

  1. Najpierw zastosuj 2m−12^{m-1}-wymiarową kwantową transformatę Fouriera do dolnych/najbardziej lewych m−1m-1 kubitów, aby uzyskać ten stan:

    (QFT2m−1∣x⟩)∣a⟩=12m−1∑y=02m−1−1ω2m−1xy∣y⟩∣a⟩.\Bigl(\mathrm{QFT}_{2^{m-1}} \vert x \rangle\Bigr) \vert a\rangle = \frac{1}{\sqrt{2^{m-1}}} \sum_{y = 0}^{2^{m-1} - 1} \omega_{2^{m-1}}^{xy} \vert y \rangle \vert a \rangle.

    Odbywa się to poprzez rekurencyjne zastosowanie opisywanej metody dla jednego kubitu mniej, przy użyciu operacji Hadamarda na pojedynczym kubicie jako przypadku bazowego.

  2. Użyj górnego/najbardziej prawego kubitu jako kontroli do wstrzyknięcia fazy ω2my\omega_{2^m}^y dla każdego stanu bazy standardowej ∣y⟩\vert y\rangle pozostałych m−1m-1 kubitów (jak opisano powyżej), aby uzyskać ten stan:

    12m−1∑y=02m−1−1ω2m−1xyω2may∣y⟩∣a⟩.\frac{1}{\sqrt{2^{m-1}}} \sum_{y = 0}^{2^{m-1} - 1} \omega_{2^{m-1}}^{xy} \omega_{2^m}^{ay} \vert y \rangle \vert a \rangle.
  3. Wykonaj bramkę Hadamarda na górnym/najbardziej prawym kubicie, aby uzyskać ten stan:

    12m∑y=02m−1−1∑b=01(−1)abω2m−1xyω2may∣y⟩∣b⟩.\frac{1}{\sqrt{2^{m}}} \sum_{y = 0}^{2^{m-1} - 1} \sum_{b=0}^1 (-1)^{ab} \omega_{2^{m-1}}^{xy} \omega_{2^m}^{ay} \vert y \rangle \vert b \rangle.
  4. Dokonaj permutacji kolejności kubitów tak, aby najmniej znaczący bit stał się najbardziej znaczącym bitem, z wszystkimi pozostałymi przesuniętymi w górę/w prawo:

    12m∑y=02m−1−1∑b=01(−1)abω2m−1xyω2may∣b⟩∣y⟩.\frac{1}{\sqrt{2^{m}}} \sum_{y = 0}^{2^{m-1} - 1} \sum_{b=0}^1 (-1)^{ab} \omega_{2^{m-1}}^{xy} \omega_{2^m}^{ay} \vert b \rangle \vert y \rangle.

Na przykład oto obwód, który otrzymujemy dla N=32=25N = 32 = 2^5. Na tym schemacie kubitom nadano nazwy odpowiadające standardowym wektorom bazowym ∣x⟩∣a⟩\vert x\rangle \vert a\rangle (dla wejścia) i ∣b⟩∣y⟩\vert b\rangle \vert y\rangle (dla wyjścia) dla jasności.

Schemat obwodu kwantowego dla 32-wymiarowej kwantowej transformaty Fouriera

Analiza​

Kluczowym wzorem, którego potrzebujemy do zweryfikowania, że opisany powyżej obwód implementuje 2m2^m-wymiarową kwantową transformatę Fouriera, jest ten:

(−1)abω2m−1xyω2may=ω2m(2x+a)(2m−1b+y).(-1)^{ab} \omega_{2^{m-1}}^{xy} \omega_{2^m}^{ay} = \omega_{2^m}^{(2x+ a)(2^{m-1}b + y)}.

Wzór ten działa dla dowolnego wyboru liczb całkowitych a,a, b,b, xx i y,y, ale będziemy go potrzebować jedynie dla a,b∈{0,1}a,b\in\{0,1\} oraz x,y∈{0,…,2m−1−1}.x,y\in\{0,\ldots,2^{m-1}-1\}. Można go sprawdzić, rozwijając iloczyn w wykładniku po prawej stronie,

ω2m(2x+a)(2m−1b+y)=ω2m2mxbω2m2xyω2m2m−1abω2may=(−1)abω2m−1xyω2may, \omega_{2^m}^{(2x+ a)(2^{m-1}b + y)} = \omega_{2^m}^{2^m xb} \omega_{2^m}^{2xy} \omega_{2^m}^{2^{m-1}ab} \omega_{2^m}^{ay} = (-1)^{ab} \omega_{2^{m-1}}^{xy} \omega_{2^m}^{ay},

gdzie druga równość wykorzystuje spostrzeżenie, że

ω2m2mxb=(ω2m2m)xb=1xb=1.\omega_{2^m}^{2^m xb} = \bigl(\omega_{2^m}^{2^m}\bigr)^{xb} = 1^{xb} = 1.

2m2^m-wymiarowa kwantowa transformata Fouriera jest zdefiniowana następująco dla każdego u∈{0,…,2m−1}u\in\{0,\ldots,2^m - 1\}.

QFT2m∣u⟩=12m∑v=02m−1ω2muv∣v⟩\mathrm{QFT}_{2^m} \vert u\rangle = \frac{1}{\sqrt{2^m}} \sum_{v = 0}^{2^m - 1} \omega_{2^m}^{uv} \vert v\rangle

Jeśli zapiszemy uu i vv jako

u=2x+av=2m−1b+y\begin{aligned} u & = 2x + a\\ v & = 2^{m-1}b + y \end{aligned}

dla a,b∈{0,1}a,b\in\{0,1\} oraz x,y∈{0,…,2m−1−1}x,y\in\{0,\ldots,2^{m-1} - 1\}, otrzymujemy

QFT2m∣2x+a⟩=12m∑y=02m−1−1∑b=01ω2m(2x+a)(2m−1b+y)∣b2m−1+y⟩=12m∑y=02m−1−1∑b=01(−1)abω2m−1xyω2may∣b2m−1+y⟩.\begin{aligned} \mathrm{QFT}_{2^m} \vert 2x + a\rangle & = \frac{1}{\sqrt{2^m}} \sum_{y = 0}^{2^{m-1} - 1} \sum_{b=0}^1 \omega_{2^m}^{(2x+ a)(2^{m-1}b + y)} \vert b 2^{m-1} + y\rangle\\[2mm] & = \frac{1}{\sqrt{2^m}} \sum_{y = 0}^{2^{m-1} - 1} \sum_{b=0}^1 (-1)^{ab} \omega_{2^{m-1}}^{xy} \omega_{2^m}^{ay} \vert b 2^{m-1} + y\rangle. \end{aligned}

Wreszcie, myśląc o stanach bazy standardowej ∣x⟩∣a⟩\vert x \rangle \vert a\rangle i ∣b⟩∣y⟩\vert b \rangle \vert y \rangle jako o binarnych zakodowaniach liczb całkowitych z zakresu {0,…,2m−1}\{0,\ldots,2^m-1\},

∣x⟩∣a⟩=∣2x+a⟩∣b⟩∣y⟩=∣2m−1b+y⟩,\begin{aligned} \vert x \rangle \vert a\rangle & = \vert 2x + a \rangle\\ \vert b \rangle \vert y \rangle & = \vert 2^{m-1}b + y\rangle, \end{aligned}

widzimy, że powyższy obwód implementuje wymaganą operację. Jeśli ta metoda wykonywania kwantowej transformaty Fouriera wydaje się niezwykła, to dlatego, że taka jest: jest to zasadniczo szybka transformata Fouriera w formie obwodu kwantowego.

Na koniec policzmy, ile bramek jest używanych w opisanym powyżej obwodzie. Bramki kontrolowanej fazy nie należą do standardowego zestawu bramek, który omówiliśmy w poprzedniej lekcji, ale na początek zignorujemy to i policzymy każdą z nich jako pojedynczą bramkę.

Niech sms_m oznacza liczbę bramek, których potrzebujemy dla każdego możliwego wyboru mm. Jeśli m=1m=1, kwantowa transformata Fouriera jest po prostu operacją Hadamarda, zatem

s1=1.s_1 = 1.

Jeśli m≥2m\geq 2, to w powyższym obwodzie potrzebujemy sm−1s_{m-1} bramek dla kwantowej transformaty Fouriera na m−1m-1 kubitach, plus m−1m-1 bramek kontrolowanej fazy, plus jedną bramkę Hadamarda, plus m−1m-1 bramek zamiany, zatem

sm=sm−1+(2m−1).s_m = s_{m-1} + (2m - 1).

Wyrażenie w formie zamkniętej możemy uzyskać poprzez zsumowanie:

sm=∑k=1m(2k−1)=m2.s_m = \sum_{k = 1}^m (2k - 1) = m^2.

W rzeczywistości nie potrzebujemy aż tylu bramek zamiany, ile opisuje metoda. Jeśli trochę przearanżujemy bramki, możemy przesunąć wszystkie bramki zamiany na prawo i zredukować liczbę potrzebnych bramek zamiany do ⌊m/2⌋\lfloor m/2\rfloor. Asymptotycznie nie jest to znacząca poprawa: nadal otrzymujemy obwody o rozmiarze O(m2)O(m^2) do wykonywania QFT2m\mathrm{QFT}_{2^m}.

Jeśli chcemy zaimplementować kwantową transformatę Fouriera przy użyciu wyłącznie bramek z naszego standardowego zestawu bramek, musimy albo zbudować, albo przybliżyć każdą z bramek kontrolowanej fazy bramkami z naszego zestawu. Wymagana liczba zależy od tego, jakiej dokładności wymagamy, ale jako funkcja mm całkowity koszt pozostaje kwadratowy.

W rzeczywistości możliwe jest dość dokładne przybliżenie kwantowej transformaty Fouriera przy użyciu subkwadratowej liczby bramek, wykorzystując fakt, że PαP_{\alpha} jest bardzo bliskie operacji identyczności, gdy α\alpha jest bardzo małe — co oznacza, że możemy po prostu pominąć większość bramek kontrolowanej fazy bez zbyt dużej straty dokładności.

Ogólna procedura i analiza​

Teraz przyjrzymy się procedurze estymacji fazy w ujęciu ogólnym. Pomysł polega na rozszerzeniu dwukubitowej wersji estymacji fazy, którą rozważaliśmy powyżej, w naturalny sposób sugerowany przez poniższy diagram.

Procedura estymacji fazy

Zauważ, że dla każdego nowego kubitu sterującego dodanego na górze podwajamy liczbę wykonań operacji unitary UU. Jest to zaznaczone na diagramie przez potęgi UU dla każdej ze sterowanych operacji unitary.

Najbardziej bezpośredni sposób implementacji operacji sterowanej-UkU^k dla pewnego wyboru kk polega po prostu na powtórzeniu operacji sterowanej-UU kk razy. Jeśli rzeczywiście stosuje się tę metodologię, trzeba zdać sobie sprawę, że dodawanie kubitów sterujących znacząco powiększa rozmiar obwodu: jeśli mamy mm kubitów sterujących, tak jak przedstawia to diagram, potrzeba łącznie 2m−12^m - 1 kopii operacji sterowanej-UU. Oznacza to, że wraz ze zwiększaniem mm ponosimy istotny koszt obliczeniowy — ale jak zobaczymy, prowadzi to również do znacznie dokładniejszego przybliżenia θ\theta.

Ważne jest jednak, aby zauważyć, że dla niektórych wyborów UU może być możliwe zbudowanie obwodu, który implementuje operację UkU^k dla dużych wartości kk w sposób bardziej efektywny niż zwykłe kk-krotne powtarzanie obwodu dla UU. Zobaczymy konkretny przykład tego w kontekście faktoryzacji liczb całkowitych w dalszej części lekcji, gdzie z pomocą przyjdzie efektywny algorytm potęgowania modularnego omówiony w poprzedniej lekcji.

Przeanalizujmy teraz właśnie opisany obwód. Stan bezpośrednio przed odwrotną kwantową transformatą Fouriera wygląda następująco:

12m∑x=02m−1(Ux∣ψ⟩)∣x⟩=∣ψ⟩⊗12m∑x=02m−1e2πixθ∣x⟩.\frac{1}{\sqrt{2^m}} \sum_{x = 0}^{2^m - 1} \bigl( U^x \vert\psi\rangle \bigr) \vert x\rangle = \vert\psi\rangle \otimes \frac{1}{\sqrt{2^m}} \sum_{x = 0}^{2^m - 1} e^{2\pi i x\theta} \vert x\rangle.

Przypadek szczególny​

Podobnie do tego, co zrobiliśmy w przypadku m=2m=2, najpierw rozważymy szczególny przypadek, gdy θ=y/2m\theta = y/2^m dla y∈{0,…,2m−1}y\in\{0,\ldots,2^m-1\}. W tym przypadku stan przed odwrotną kwantową transformatą Fouriera można alternatywnie zapisać tak:

∣ψ⟩⊗12m∑x=02m−1e2πixy2m∣x⟩=∣ψ⟩⊗12m∑x=02m−1ω2mxy∣x⟩=∣ψ⟩⊗QFT2m∣y⟩.\vert\psi\rangle \otimes \frac{1}{\sqrt{2^m}} \sum_{x = 0}^{2^m - 1} e^{2\pi i \frac{xy}{2^m}} \vert x\rangle = \vert\psi\rangle \otimes \frac{1}{\sqrt{2^m}} \sum_{x = 0}^{2^m - 1} \omega_{2^m}^{xy} \vert x\rangle = \vert\psi\rangle \otimes \mathrm{QFT}_{2^m} \vert y\rangle.

Zatem po zastosowaniu odwrotnej kwantowej transformaty Fouriera stan staje się

∣ψ⟩∣y⟩\vert\psi\rangle \vert y\rangle

a pomiary ujawniają yy (zakodowane binarnie).

Ograniczanie prawdopodobieństw​

Dla innych wartości θ\theta, czyli takich, które nie mają postaci y/2my/2^m dla całkowitego yy, wyniki pomiaru nie będą pewne, ale możemy udowodnić ograniczenia prawdopodobieństw dla różnych wyników. W dalszej części rozważmy dowolny wybór θ\theta spełniający 0≤θ<10\leq \theta < 1.

Po wykonaniu odwrotnej kwantowej transformaty Fouriera stan obwodu jest taki:

∣ψ⟩⊗12m∑y=02m−1∑x=02m−1e2πix(θ−y/2m)∣y⟩.\vert \psi \rangle \otimes \frac{1}{2^m} \sum_{y=0}^{2^m - 1} \sum_{x=0}^{2^m-1} e^{2\pi i x (\theta - y/2^m)} \vert y\rangle.

Zatem, gdy wykonywane są pomiary na górnych mm kubitach, widzimy każdy wynik yy z prawdopodobieństwem

py=∣12m∑x=02m−1e2πix(θ−y/2m)∣2.p_y = \left\vert \frac{1}{2^m} \sum_{x=0}^{2^m - 1} e^{2\pi i x (\theta - y/2^m)} \right\vert^2.

Aby lepiej ogarnąć te prawdopodobieństwa, skorzystamy z tego samego wzoru, który widzieliśmy wcześniej, na sumę początkowej części szeregu geometrycznego.

1+α+α2+⋯+αN−1={αN−1α−1if α≠1Nif α=11 + \alpha + \alpha^2 + \cdots + \alpha^{N-1} = \begin{cases} \frac{\alpha^N - 1}{\alpha - 1} & \text{if } \alpha\neq 1\\[2mm] N & \text{if } \alpha=1 \end{cases}

Możemy uprościć sumę pojawiającą się we wzorze na pyp_y biorąc α=e2πi(θ−y/2m)\alpha = e^{2\pi i (\theta - y/2^m)}. Oto co otrzymujemy.

∑x=02m−1e2πix(θ−y/2m)={2mθ=y/2me2πi(2mθ−y)−1e2πi(θ−y/2m)−1θ≠y/2m\sum_{x=0}^{2^m - 1} e^{2\pi i x (\theta - y/2^m)} = \begin{cases} 2^m & \theta = y/2^m\\[2mm] \frac{e^{2\pi i (2^m \theta - y)} - 1}{e^{2\pi i (\theta - y/2^m)} - 1} & \theta\neq y/2^m \end{cases}

Zatem w przypadku, gdy θ=y/2m\theta = y/2^m, znajdujemy py=1p_y = 1 (jak już wiedzieliśmy z rozpatrywania tego szczególnego przypadku), a w przypadku, gdy θ≠y/2m\theta \neq y/2^m, znajdujemy

py=122m∣e2πi(2mθ−y)−1e2πi(θ−y/2m)−1∣2.p_y = \frac{1}{2^{2m}} \left\vert \frac{e^{2\pi i (2^m \theta - y)} - 1}{e^{2\pi i (\theta - y/2^m)} - 1}\right\vert^2.

Możemy dowiedzieć się więcej o tych prawdopodobieństwach, myśląc o tym, jak długości łuków i długości cięciw na okręgu jednostkowym są powiązane. Oto rysunek, który ilustruje zależności potrzebne nam dla każdej liczby rzeczywistej δ∈[−12,12]\delta\in \bigl[ -\frac{1}{2},\frac{1}{2}\bigr].

Illustration of the relationship between arc and chord lengths

Po pierwsze, długość cięciwy (narysowana na niebiesko) nie może być większa niż długość łuku (narysowana na fioletowo):

∣e2πiδ−1∣≤2π∣δ∣.\bigl\vert e^{2\pi i \delta} - 1\bigr\vert \leq 2\pi\vert\delta\vert.

Powiązując te długości w innym kierunku, widzimy, że stosunek długości łuku do długości cięciwy jest największy, gdy δ=±1/2\delta = \pm 1/2, a w tym przypadku stosunek ten jest połową obwodu okręgu podzieloną przez średnicę, co daje π/2\pi/2. Dlatego mamy

2π∣δ∣∣e2πiδ−1∣≤π2,\frac{2\pi\vert\delta\vert}{\bigl\vert e^{2\pi i \delta} - 1\bigr\vert} \leq \frac{\pi}{2},

and so

∣e2πiδ−1∣≥4∣δ∣.\bigl\vert e^{2\pi i \delta} - 1\bigr\vert \geq 4\vert\delta\vert.

Analiza oparta na tych relacjach ujawnia następujące dwa fakty.

  1. Załóżmy, że θ\theta jest liczbą rzeczywistą, a y∈{0,…,2m−1}y\in \{0,\ldots,2^m-1\} spełnia

    ∣θ−y2m∣≤2−(m+1).\Bigl\vert \theta - \frac{y}{2^m}\Bigr\vert \leq 2^{-(m+1)}.

    Oznacza to, że y/2my/2^m jest albo najlepszym mm-bitowym przybliżeniem θ\theta, albo znajduje się dokładnie w połowie odległości między y/2my/2^m a (y−1)/2m(y-1)/2^m lub (y+1)/2m(y+1)/2^m, jest więc jednym z dwóch najlepszych przybliżeń θ\theta.

    Udowodnimy, że pyp_y musi być w tym przypadku dość duże. Z założenia, które rozważamy, wynika, że ∣2mθ−y∣≤1/2\vert 2^m \theta - y \vert \leq 1/2, więc możemy wykorzystać drugą powyższą obserwację dotyczącą długości łuków i cięciw, aby stwierdzić, że

    ∣e2πi(2mθ−y)−1∣≥4∣2mθ−y∣=4⋅2m⋅∣θ−y2m∣.\left\vert e^{2\pi i (2^m \theta - y)} - 1\right\vert \geq 4 \vert 2^m \theta - y \vert = 4 \cdot 2^m \cdot \Bigl\vert \theta - \frac{y}{2^m}\Bigr\vert.

    Możemy również wykorzystać pierwszą obserwację dotyczącą długości łuków i cięciw, aby stwierdzić, że

    ∣e2πi(θ−y/2m)−1∣≤2π∣θ−y2m∣.\left\vert e^{2\pi i (\theta - y/2^m)} - 1\right\vert \leq 2\pi \Bigl\vert \theta - \frac{y}{2^m}\Bigr\vert.

    Wykorzystanie tych dwóch nierówności w odniesieniu do pyp_y ujawnia

    py≥122m16⋅22m4π2=4π2≈0.405.p_y \geq \frac{1}{2^{2m}} \frac{16 \cdot 2^{2m}}{4 \pi^2} = \frac{4}{\pi^2} \approx 0.405.

    Wyjaśnia to naszą obserwację, że najlepszy wynik występuje z prawdopodobieństwem większym niż 40%40\% w wersji estymacji fazy dla m=2m=2 omawianej wcześniej. To nie jest naprawdę 40%, tylko 4/π24/\pi^2, i w istocie ograniczenie to obowiązuje dla każdego wyboru mm.

  2. Załóżmy teraz, że y∈{0,…,2m−1}y\in \{0,\ldots,2^m-1\} spełnia

    2−m≤∣θ−y2m∣≤12.2^{-m} \leq \Bigl\vert \theta - \frac{y}{2^m}\Bigr\vert \leq \frac{1}{2}.

    Oznacza to, że istnieje lepsze przybliżenie z/2mz/2^m liczby θ\theta pomiędzy θ\theta a y/2my/2^m.

    Tym razem udowodnimy, że pyp_y nie może być zbyt duże. Możemy zacząć od prostej obserwacji, że

    ∣e2πi(2mθ−y)−1∣≤2,\left\vert e^{2\pi i (2^m \theta - y)} - 1\right\vert \leq 2,

    co wynika z faktu, że dowolne dwa punkty na okręgu jednostkowym mogą różnić się co do wartości bezwzględnej o co najwyżej 22.

    Możemy również wykorzystać drugą powyższą obserwację dotyczącą długości łuków i cięciw, tym razem działając na mianowniku pyp_y zamiast licznika, aby stwierdzić, że

    ∣e2πi(θ−y/2m)−1∣≥4∣θ−y2m∣≥4⋅2−m.\left\vert e^{2\pi i (\theta - y/2^m)} - 1\right\vert \geq 4\Bigl\vert \theta - \frac{y}{2^m}\Bigr\vert \geq 4 \cdot 2^{-m}.

    Złożenie tych dwóch nierówności razem ujawnia

    py≤122m416⋅2−2m=14.p_y \leq \frac{1}{2^{2m}} \frac{4}{16 \cdot 2^{-2m}} = \frac{1}{4}.

    Zauważ, że chociaż to ograniczenie jest wystarczająco dobre dla naszych celów, jest dość zgrubne — prawdopodobieństwo jest zwykle znacznie niższe niż 1/41/4.

Ważnym wnioskiem płynącym z tej analizy jest to, że bardzo bliskie przybliżenia θ\theta są prawdopodobne — otrzymamy najlepsze mm-bitowe przybliżenie z prawdopodobieństwem większym niż 40%40\% — podczas gdy przybliżenia odbiegające o więcej niż 2−m2^{-m} są mniej prawdopodobne, z prawdopodobieństwem ograniczonym z góry przez 25%25\%.

Mając te gwarancje, możemy zwiększyć naszą pewność, powtarzając procedurę estymacji fazy kilka razy, aby zebrać statystyczne dowody na temat θ\theta. Ważne jest, aby zauważyć, że stan ∣ψ⟩\vert\psi\rangle dolnego zbioru kubitów nie zmienia się w wyniku procedury estymacji fazy, więc można go używać do uruchamiania procedury tyle razy, ile chcemy. W szczególności, za każdym razem, gdy uruchamiamy obwód, otrzymujemy najlepsze mm-bitowe przybliżenie θ\theta z prawdopodobieństwem większym niż 40%40\%, podczas gdy prawdopodobieństwo odchylenia o więcej niż 2−m2^{-m} jest ograniczone przez 25%25\%. Jeśli uruchomimy obwód kilka razy i weźmiemy najczęściej pojawiający się wynik uruchomień, to jest niezwykle prawdopodobne, że wynik, który pojawia się najczęściej, nie będzie tym, który występuje co najwyżej 25%25\% czasu. W rezultacie bardzo prawdopodobne jest, że otrzymamy przybliżenie y/2my/2^m znajdujące się w odległości mniejszej niż 1/2m1/2^m od wartości θ\theta. Istotnie, mało prawdopodobne ryzyko, że odchylimy się o więcej niż 1/2m1/2^m, maleje wykładniczo wraz z liczbą uruchomień procedury.

Oto dwa wykresy przedstawiające prawdopodobieństwa dla trzech kolejnych wartości yy, gdy m=3m = 3 i m=4m=4, jako funkcje θ\theta. (Dla przejrzystości pokazano tylko trzy wyniki. Prawdopodobieństwa dla innych wyników uzyskuje się przez cykliczne przesunięcie tej samej funkcji bazowej.)

Wykres pokazujący prawdopodobieństwa wyników dla trzykubitowej estymacji fazy

Wykres pokazujący prawdopodobieństwa wyników dla czterokubitowej estymacji fazy