Koncepcyjnie najprostszy sposób wytworzenia stanu W jest nieco analogiczny do klasycznego próbkowania w zbiorniku , ponieważ obejmuje szereg lokalnych operacji, które ostatecznie dają jednolity efekt.
Zasadniczo, patrzysz kolejno na każdy kubit i zastanawiasz się „ile amplitudy pozostawiłem w stanie zerowym i ile chcę przenieść do stanu właśnie ten kubit?”. Okazuje się, że potrzebna jest rodzina rotacji, którą nazywam „bramkami szans”, które mają następującą macierz:
M(p:q)=1p+q−−−−−√[p–√−q√q√p–√]
Za pomocą tych bramek można uzyskać stan W z sekwencją coraz bardziej kontrolowanych operacji:
Ten obwód jest nieco nieefektywny. Ma koszt gdzie jest liczbą kubitów, a jest pożądaną absolutną precyzją (ponieważ w kontekście skorygowanym błędem zmienne szans nie są rodzime i musi być przybliżony).O(N2+Nlg(1/ϵ))Nϵ
Możemy poprawić efektywność, przechodząc ze strategii „przeniesienia z tego, co pozostawiono” na strategię „przeniesienia z tego, co się dzieje”. Dodaje to przegląd naprawczy na końcu, ale wymaga tylko pojedynczych elementów sterujących dla każdej operacji. Zmniejsza to koszt do :O(Nlg(1/ϵ))
Nadal można lepiej, ale zaczyna się komplikować. Zasadniczo można użyć pojedynczego częściowego kroku Grovera, aby uzyskać amplitud równych ale zostaną one zakodowane w rejestrze binarnym (chcemy rejestru z jednym zestawem bitów). Naprawienie tego wymaga obwodu konwersji binarnej na unarską. Potrzebne do tego narzędzia opisano w „Kodowaniu widm elektronicznych w obwodach kwantowych o liniowej złożoności T” . Oto odpowiednie liczby.N1/N−−−−√
Częściowy etap grover:
Jak wykonać operację indeksowaną (cóż ... w pewnym sensie najbliższa postać miała akumulator, co nie jest w tym przypadku całkiem odpowiednie):
Zastosowanie tego bardziej skomplikowanego podejścia zmniejsza koszt z do .O(Nlg(1/ϵ))O(N+lg(1/ϵ))