В «Квантовых вычислениях и квантовой информации» Майка и Айка алгоритм Гровера объясняется очень подробно. Тем не менее, в книге и во всех объяснениях, которые я нашел в Интернете для алгоритма Гровера, кажется, нет упоминания о том, как устроен Оракул Гровера, если только мы уже не знаем, какое именно состояние мы ищем, в ущерб цели алгоритм. В частности, мой вопрос заключается в следующем: учитывая некоторое f (x) такое, что для некоторого значения x f (x) = 1, но для всех остальных f (x) = 0, как можно построить оракула, который получит нас от наше начальное, произвольное состояние | x> | y> to | x> | y + f (x)>? Будем весьма благодарны как можно более подробные подробности (возможно, пример?). Если такая конструкция для любой произвольной функции возможна с Адамаром, Паули или другими стандартными квантовыми вентилями,