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

10

Я пытаюсь привыкнуть к IBM Q путем реализации алгоритма Гровера с тремя кубитами, но с трудом реализую оракула.

Не могли бы вы показать, как это сделать, или предложить хорошие ресурсы, чтобы привыкнуть к схемотехнике IBM Q?

Я хочу пометить одно произвольное состояние, щелкнув его знак, как и предполагал оракул.

Например, у меня есть

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

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

Случай с двумя кубитами достаточно прост для реализации, но уход за тремя кубитами все еще смущает меня.

Бик
источник
1
Их документация включает в себя несколько примеров алгоритма Гровера, хотя я не помню, насколько большим было пространство поиска.
Норриус
Спасибо за комментарий. Да, эта страница ( quantumexperience.ng.bluemix.net/proxy/tutorial/full-user-guide/… ) объясняет реализацию двух кубитов алгоритма Гровера.
Бик

Ответы:

4

Я отвечаю на мой вопрос. После некоторого поиска в Google я нашел это изображение, показывающее ворота CCZ от CNOT, T dagger и T gate. Я попробовал это на IBM Q, и это сработало. Я хочу изучить, почему это работает, но это другая история.

Для тех, кто заинтересован, вот моя квантовая схема нахождения алгоритма Гровера | 111> с одной итерацией.

Нахождение алгоритма Гровера | 111> с одной итерацией

Бик
источник
1
Вы хотите найти стандартные схемы для шлюза с контролируемым управлением НЕ (также называемый Toffoli). Это рис. 4.9 в моей версии Nielsen & Chuang. Чтобы преобразовать в ворота с контролируемой управляемой фазой, просто прикрепите Адамара к целевому кубиту как до, так и после (или, если Адамарды уже есть на любом конце, просто удалите их).
DaftWullie
0

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

...|111

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

tigerjack89
источник