Implementacja Qiskit operatora Q implementacji Brassarda Amplitude

Oct 04 2020

W Brassard's i in. praca, plik$Q$ operator jest zdefiniowany jako

$$ Q =-\mathcal{A}\mathcal{S_0}\mathcal{A}^{-1}\mathcal{S_\chi}$$

Zastanawiałem się, w jaki sposób znak ujemny po lewej stronie jest implementowany w operatorach w obwodzie kwantowym? Mam już realizację dla$S_\chi$, $S_0$ i $\mathcal{A}$. Mogę myśleć o tym jako o podstawowym odwróceniu znaku przy użyciu jednego operatora kubitu z -1 na przekątnych, ale nie jestem pewien, czy to poprawna implementacja.

Odpowiedzi

1 MartinVesely Oct 04 2020 at 13:30

Znak minus to faza globalna. W przypadku operatora można to pominąć$Q$ Sama jednak musi być zawarta w sterowanej wersji operatora.

Kontrolowana faza globalna jest realizowana przez bramę (zakładam środowisko IBM Q) $U1 \otimes I$, gdzie $U1$ bramka działa na kubit kontrolny i operator tożsamości na kubicie docelowym.

$U1$ bramka jest dana macierzą $$ \begin{pmatrix} 1 & 0 \\ 0 & \mathrm{e}^{i\varphi} \end{pmatrix} $$

W Twoim przypadku $\varphi = \pi$ która prowadzi do bramy $$ \begin{pmatrix} 1 & 0 \\ 0 & -1 \end{pmatrix}, $$ co jest faktycznie $Z$ brama.

Podsumowując: nie musisz martwić się o znak w przypadku operatora $Q$ w przypadku kontrolowanego operatora $Q$po prostu mówiąc $Z$ bramka na kubicie sterującym.

1 imabhi Oct 05 2020 at 08:44

Zgodnie z opisem w artykule Brassarda na stronie 5 "... Operator S x warunkowo zmienia znak amplitud stanów dobrych .... podczas gdy operator S 0 zmienia znak amplitudy wtedy i tylko wtedy, gdy stan jest stan zerowy | 0>. ... "

Amplituda jest mnożona przez e iƟ -> S x (Ɵ = φ) i S 0 (Ɵ = ϕ) .. jak podano w Twierdzeniu 4 dalej rozważanym w Lemacie 5, aby wybrać φ = ϕ = π, co prowadzi do bramki Z

Jest to dobrze wyjaśnione w https://qiskit.org/textbook/ch-algorithms/grover.html Brassard to uogólniona wersja Grovera.