Реалізація оракула алгоритму Гровера на IBM Q з використанням трьох кубітів


10

Я намагаюся звикнути до IBM Q, реалізуючи три кубіти алгоритму Гровера, але у мене виникли труднощі з реалізацією oracle.

Чи можете ви показати, як це зробити, або запропонувати якісь хороші ресурси, щоб звикнути до програмування ланцюгів IBM Q?

Що я хочу зробити - це позначити одне довільне стан, перевернувши його знак, як повинен робити оракул.

Наприклад, у мене є

1/8(|000+|001+|010+|011+|100+|101+|110+|111) .

і я хочу позначити , перевернувши його знак на . Я якось розумію, що ворота CCZ вирішили б цю проблему, але у нас немає ворота CCZ в IBM Q. Комбінація деяких воріт буде діяти так само, як CCZ, але я не впевнений, як це зробити. І я також борюся за інші випадки не лише за .|111-|111|111

Випадок з двома кубітами досить простий для мене, але догляд за трьома кубітами все ще мене бентежить.


1
Їх документація включає деякі приклади алгоритму Гровера, хоча я не пам’ятаю, наскільки великим був простір пошуку.
Норріус

Дякуємо за коментар Так, ця сторінка ( quantumexperience.ng.bluemix.net/proxy/tutorial/full-user-guide/… ) пояснює реалізацію алгоритму Гровера, який задає два кубіти.
Бік

Відповіді:


4

Я відповідаю на моє запитання. Після деякого пошуку в Google я знайшов це зображення, на якому зображено ворота CCZ від CNOT, T кинджала та Т воріт. Я спробував це на IBM Q, і це спрацювало. Я хочу вивчити, чому це працює, але це вже інша історія.

Для когось, хто цікавиться, ось моя квантова схема пошуку алгоритму Гровера | 111> з однією ітерацією.

Пошук алгоритму Гровера | 111> з однією ітерацією


1
Ви хочете шукати стандартні схеми для контрольованих НЕ воріт (також званих Toffoli). Малюнок 4.9 у моїй версії Nielsen & Chuang. Щоб перетворити в контрольований фазовий хвірт, просто наклейте Адамард на цільовий кубіт як до, так і після нього (або, якщо є Адамари вже на будь-якому кінці, просто видаліть їх).
DaftWullie

0

Я реалізував ту саму проблему для декількох кубітів, використовуючи тут qiskit .

...|111

Взагалі ідея полягає в тому, щоб імітувати ворота CCZ, використовуючи Hadamard на цільовий біт, наступний за воротами CCX, а потім інший Hadamard на цільовий біт.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.