Быстрые квантовые алгоритмы
Построение измеряющего оператора.
Теперь будем строить оператор, измеряющий собственные числа . Как уже было сказано, можно ограничиться изучением действия этого оператора на вход
. Построение разделяется на три этапа.
- Ищем информацию о
, где
. - Локализуем значение
с небольшой точностью. Самое время подчеркнуть, что во всех приводимых рассуждениях есть два параметра: вероятность ошибки
и точность
. Мы получаем некоторое число
как результат измерения, при этом должно выполняться условие
. Пока нас устроит небольшая точность, скажем,
- Далее нужно увеличить точность. Необходимо уметь отличать друг от друга числа вида
, где
. Заметим, что если
, то
. Поэтому, зная значение
с точностью
, мы можем определить его абсолютно точно (в виде несократимой дроби). Чтобы сделать это эффективно (за полиномиальное время), можно использовать алгоритм цепных дробей.
Как получать информацию о собственном числе.
В
"Измеряющие операторы"
был введен оператор , измеряющий собственные числа. В нашем случае
, поэтому можно записать этот оператор в виде



Нам потребуется еще оператор . Его также нетрудно реализовать. Реализация, изображенная на рисунке, использует оператор
из стандартного базиса. Обведенный фрагмент реализует оператор
. Действительно,
умножает на
только
, но как раз в этом случае применяется оператор
(по определению оператора
). Для оператора
условные вероятности равны

Сложность реализации операторов и
зависит от сложности реализации оператора
, которая ненамного выше сложности реализации оператора
(см. задачу 12.2).
Оценка условных вероятностей.
Мы будем локализовывать значение , оценивая условные вероятности, приведенные выше. Для получения такой оценки будем применять операторы
и
к различным "приборам" (дополнительным q-битам). Рассуждения одинаковы для обоих операторов, поэтому ограничимся случаем
.
У нас есть квантовый регистр , в котором находится
. (На самом деле там вначале был




Как было доказано в "Измеряющие операторы" , условные вероятности в таком случае перемножаются. Для оператора
![\prod\limits_{r=1}^s \Xi(U_a)[r,A]](/sites/default/files/tex_cache/58682576919d4b606ee3f6e0c44dddf5.png)



Далее с битами, в которых записаны результаты "экспериментов", будут уже производиться классические действия. Поскольку условные вероятности перемножаются, можно считать, что мы оцениваем вероятность выпадения 1 в серии испытаний Бернулли.
Если монета брошена раз, то доля выпавших единиц
примерно равна
. С какой точностью верна такая оценка? Из теории вероятностей известно, что
![\Prob\left[\left|\frac{\sum\nolimits_{r=1}^{s}y_r}{s}-\PP(1\big|k)\right| >\delta\right]<2e^{-c\delta^{2}s},](/sites/default/files/tex_cache/12136d3feb30efbf5dbb82aeee0c0592.png)




Итак, мы научились находить с некоторой точностью синус и косинус от
. Теперь подберем
таким, чтобы значение
можно было установить по значениям синуса и косинуса с точностью
. На этом второй этап завершен.