Тепер проаналізуємо алгоритм Гровера, щоб зрозуміти, як він працює.
Почнемо з того, що можна назвати символічним аналізом, де ми обчислюємо, як операція Гровера G діє на певні стани, а потім пов'яжемо цей символічний аналіз з геометричною картинкою, що допомагає візуалізувати роботу алгоритму.
Множина A1 містить усі розв'язки нашої задачі пошуку, тоді як A0 містить рядки, що не є розв'язками (які для зручності назвемо нерозв'язками).
Ці дві множини задовольняють A0∩A1=∅ і A0∪A1=Σn, тобто є двочастинним розбиттямΣn.
Далі визначимо два одиничні вектори, що представляють рівномірні суперпозиції над множинами розв'язків і нерозв'язків.
Формально кожен з цих векторів визначений лише тоді, коли відповідна множина непорожня, але далі ми зосередимось на випадку, коли жодна з A0 і A1 не є порожньою.
Випадки A0=∅ і A1=∅ легко розглядаються окремо, і ми зробимо це пізніше.
Зауважимо, що позначення, яке тут використовується, є загальноприйнятим: для будь-якої скінченної та непорожньої множини S можна записати ∣S⟩ для позначення вектора квантового стану, рівномірного над елементами S.
Також визначимо ∣u⟩ як рівномірний квантовий стан над усіма n-бітними рядками:
∣u⟩=N1x∈Σn∑∣x⟩.
Зауважимо, що
∣u⟩=N∣A0∣∣A0⟩+N∣A1∣∣A1⟩.
Також маємо ∣u⟩=H⊗n∣0n⟩, тому ∣u⟩ представляє стан регістра Q після ініціалізації на кроці 1 алгоритму Гровера.
Це означає, що безпосередньо перед ітераціями G на кроці 2 стан Q міститься у двовимірному векторному просторі, натягнутому на ∣A0⟩ і ∣A1⟩, і коефіцієнти цих векторів є дійсними числами.
Як ми побачимо, стан Q завжди матиме ці властивості — тобто буде дійсною лінійною комбінацією ∣A0⟩ і ∣A1⟩ — після будь-якої кількості ітерацій операції G на кроці 2.
Уявімо на мить, що ми замінили функцію f на композицію f з функцією NOT — іншими словами, функцію, отриману інвертуванням вихідного біта f.
Назвемо цю нову функцію g, і можна виразити її символ ами кількома еквівалентними способами.
g(x)=¬f(x)=1⊕f(x)=1−f(x)={10f(x)=0f(x)=1
Зауважимо, що
(−1)g(x)=(−1)1⊕f(x)=−(−1)f(x)
для кожного рядка x∈Σn, і тому
Zg=−Zf.
Це означає, що якщо ми замінимо функцію f функцією g, алгоритм Гровера працюватиме однаково — оскільки стани, отримані алгоритмом у двох випадках, обов'язково еквівалентні з точністю до глобальної фази.
Це не проблема!
Інтуїтивно кажучи, алгоритму байдуже, які рядки є розв'язками, а які — ні; йому лише потрібно вміти розрізняти розв'язки і нерозв'язки для правильної роботи.
Як вже зазначалося, стан Q безпосередньо перед кроком 2 міститься у двовимірному просторі, натягнутому на ∣A0⟩ і ∣A1⟩, і ми щойно встановили, що G відображає будь-який вектор з цього простору на інший вектор з того самого простору.
Це означає, що для цілей аналізу ми можемо зосередити увагу виключно на цьому підпросторі.
Щоб краще зрозуміти, що відбувається в цьому двовимірному просторі, виразимо дію G на цьому просторі у вигляді матриці:
рядки та стовпці якої відповідають ∣A0⟩ і ∣A1⟩ відповідно.
Досі в цій сер ії ми завжди пов'язували рядки та стовпці матриць з класичними станами системи, але матриці також можна використовувати для опису дій лінійних відображень на різних базисах, як тут.
Хоча це зовсім не очевидно на перший погляд, матриця M є результатом піднесення до квадрата простіше виглядаючої матриці.
Тепер пов'яжемо щойно проведений аналіз з геометричною картинкою.
Ідея полягає в тому, що операція G є добутком двох відображень:
Zf і H⊗nZORH⊗n.
А чистий ефект двох відображень — це поворот.
Почнемо з Zf.
Як ми вже спостерігали раніше:
Zf∣A0⟩Zf∣A1⟩=∣A0⟩=−∣A1⟩.
У двовимірному векторному просторі, натягнутому на ∣A0⟩ і ∣A1⟩,
це є відображенням відносно прямої, паралельної ∣A0⟩, яку ми назвемо L1.
Ось рисунок, що ілюструє дію цього відображення на гіпотетичний одиничний вектор ∣ψ⟩,
який ми припускаємо є дійсною лінійною комбінацією ∣A0⟩ і ∣A1⟩.
По-друге, маємо операцію H⊗nZORH⊗n, яку ми вже бачили у вигляді
H⊗nZORH⊗n=2∣u⟩⟨u∣−I.
Це також відображення, цього разу відносно прямої L2, паралельної вектору ∣u⟩.
Ось рисунок, що зображує дію цього відображення на одиничний вектор ∣ψ⟩.
Коли ми компонуємо ці два відображення, отримуємо поворот — на подвійний кут між осями відображень, — як ілюструє цей рисунок.
Це пояснює, у геометричних термінах, чому ефект операції Гровера полягає в повороті лінійних комбінацій ∣A0⟩ і ∣A1⟩ на кут 2θ.