Od pewnego czasu próbuję obejść słynny (?) Papierowy algorytm kwantowy dla liniowych układów równań (Harrow, Hassidim i Lloyd, 2009) (bardziej znany jako papier algorytmiczny HHL09 ).
Na pierwszej stronie mówią :
Naszkicujemy tutaj podstawową ideę naszego algorytmu, a następnie omówimy go bardziej szczegółowo w następnej sekcji. Biorąc pod uwagę macierz Hermitian macierzy i wektor jednostkowy , załóżmy, że chcielibyśmy znaleźć spełniającą . (Omawiamy później kwestie wydajności, a także sposób, w jaki przyjęliśmy założenia dotyczące i ). Po pierwsze, algorytm reprezentuje jako stan kwantowy . Następnie używamy technik symulacji Hamiltona [3, 4], aby zastosować doA → b → x A → x = → b A → b → b | b ⟩ = Σ N i = 1, b : i | i A e i A t | b ja ⟩ t | b ⟩ λ J Σ j = N j = 1 β j | u jdla superpozycji różnych czasów . Ta zdolność do potęgowania przekłada się, za pomocą dobrze znanej techniki estymacji fazowej [5–7], na zdolność do rozkładania w bazie własnej i znajdowania odpowiednich wartości własnych Nieoficjalnie, stan system po tym etapie jest blisko , gdzie jest bazą wektorów własnych i .u j | b ⟩ = Σ j = N j = 1 β j | u j ⟩
Na razie w porządku. Jak opisano w Nielsen i Chuang w rozdziale „ Kwantowa transformata Fouriera i jej zastosowania ”, algorytm estymacji fazowej służy do oszacowania w która jest wartością własną odpowiadającą wektorowi własnemu jednostkowego operatora .e i 2 π φ | U ⟩ U
Oto odpowiednia część z Nielsen & Chuang:
Algorytm szacowania fazy wykorzystuje dwa rejestry. Pierwszy rejestr zawiera kubitów początkowo w stanie . To, jak wybieramy zależy od dwóch rzeczy: liczby cyfr dokładności, które chcemy mieć w naszym oszacowaniu dla , i z jakim prawdopodobieństwem chcemy, aby procedura szacowania fazy zakończyła się powodzeniem. Zależność od tych wielkości wynika naturalnie z następującej analizy.| 0 ⟩ t φ t
Drugi rejestr zaczyna się w stanie i zawiera tyle kubitów, ile potrzeba do przechowywania . Oszacowanie fazowe odbywa się w dwóch etapach. Najpierw zastosujemy obwód pokazany na rysunku 5.2. Obwód zaczyna się od zastosowania transformacji Hadamarda do pierwszego rejestru, a następnie zastosowania operacji o kontrolowanym na drugim rejestrze, przy czym wzrasta do kolejnych potęg dwóch. Ostateczny stan pierwszego rejestru jest łatwo widoczny:| U ⟩ U U
Drugim etapem estymacji fazowej jest zastosowanie odwrotnej kwantowej transformaty Fouriera do pierwszego rejestru. Uzyskuje się to poprzez odwrócenie obwodu kwantowej transformaty Fouriera w poprzednim rozdziale (Ćwiczenie 5.5) i można to zrobić w krokach . Trzecim i ostatnim etapem szacowania faz jest odczyt stanu pierwszego rejestru poprzez wykonanie pomiaru w oparciu o obliczenia. Pokażemy, że daje to całkiem niezłą ocenę . Ogólny schemat algorytmu pokazano na rysunku 5.3.φ
Aby wyostrzyć naszą intuicję, dlaczego działa szacowanie faz, załóżmy, że może być wyrażone dokładnie w bitach, ponieważ . Następnie stan (5.20) wynikający z pierwszego etapu szacowania fazy może zostać przepisanyφ = 0. φ 1 . . . φ t
Drugim etapem estymacji fazowej jest zastosowanie odwrotnej kwantowej transformaty Fouriera. Ale porównując poprzednie równanie z formą iloczynu dla transformaty Fouriera, równanie (5.4), widzimy, że stanem wyjściowym z drugiego etapu jest stan produktu . Dlatego pomiar w podstawie obliczeniowej daje nam dokładnie!
Podsumowując, algorytm szacowania faz pozwala oszacować fazę wartości własnej operatora jednostkowego , biorąc pod uwagę odpowiedni wektor własny . Istotną cechą leżącą u podstaw tej procedury jest zdolność odwrotnej transformacji Fouriera do przeprowadzenia transformacji
Kontynuujmy stąd. Znalazłem ładny schemat dla algorytmu HHL09 tutaj [ ] :
Krok 1 (Szacowanie fazy):
W pierwszym etapie algorytmu HHL09 zastosowano tę samą koncepcję (standardowego algorytmu szacowania fazy kwantowej, jak opisano w Nielsen i Chuang). Musimy jednak pamiętać, że samo nie jest operatorem jednolitym. Jeśli jednak założymy, że jest pustelnikiem, wykładnicza jest jednolita (nie martw się, istnieje obejście na wypadek, gdyby nie był pustelnikiem!).
Tutaj możemy napisać . W grę wchodzi jeszcze jeden subtelny punkt. My nie wiemy wektorów własnych z uprzednich (ale wiem , że dla każdej jednostkowej macierzy rozmiaru istnieją wektorów własnych ortonormalne). Co więcej, musimy sobie przypomnieć, że jeśli wartości własne są wówczas wartości własne będą . Jeśli porównamy to z formą wartości własnych podanych w Nielsen i Chuang dla tj. Jeśli , znajdziemy . W takim przypadku zaczynamy od stanu (który można zapisać jako superpozycję wektorów własnych tj. ) szczególności wektor własny od , o ile drugi rejestr qubitach jest zaniepokojony. Gdybyśmy zaczęli w stanie , skończylibyśmy na tj. (biorąc pod uwagę, żeto wartość własna związana z wektorem własnym z ). Zamiast tego, jeśli zaczniemy od superpozycji wektorów własnych , powinniśmy skończyć z .
Pytanie:
Część 1 : W pracy HHL09 pisali o stanie systemu po tym etapie Etap Oszacowania to . Jednak z tego, co napisałem powyżej, wydaje mi się, że stanem systemu powinien być raczej .
Czego tu brakuje? Gdzie zniknął czynnik w ich algorytmie?
Edycja: Poproszono tutaj, aby część 2 była bardziej ukierunkowana na poszczególne pytania.
Mam również kilka nieporozumień dotyczących kroku 2 i kroku 3 algorytmu HHL09, ale postanowiłem opublikować je jako osobne wątki pytań, ponieważ ten staje się zbyt długi. Dodam linki do wątków pytań w tym poście, gdy zostaną utworzone.
[ ]: eksperymenty z szyfrowaniem homomorficznym na chmurze IBM Quantum Computing Platform Huang i in. (2016)