Быстрые квантовые алгоритмы
Обсуждение алгоритма.
Обсудим два естественно возникающих вопроса по поводу изложенного алгоритма.
— Можно ли находить собственные числа других операторов так же, как в алгоритме вычисления периода? Да, например, можно находить собственные числа таких операторов , для которых
, и есть полиномиальная схема реализации оператора
. (Из задачи 7.5 следует, что если для самого оператора
есть полиномиальная схема, то и для оператора
ее также можно построить).
Точность определения собственных чисел произвольного оператора невелика, полиномиально зависит от размера схемы. Если можно эффективно вычислять степени оператора (как и было в рассмотренном алгоритме), то точность можно сделать экспоненциальной.
— Какие собственные числа мы находим?
Мы находим значение случайно выбранного собственного числа. Распределением по множеству всех собственных чисел можно управлять, выбирая начальное состояние (в алгоритме вычисления периода — ). Если взять в качестве начального состояние, задаваемое диагональной матрицей плотности
![\rho=\frac{1}{t}\sum\limits_{a}^{} \ket{a}\bra{a} =\frac{1}{t}\sum\limits_{k}^{} \ket{\xi_k}\bra{\xi_k},](/sites/default/files/tex_cache/00388783c5f7aaf26642a21af40a05b1.png)
![\ket{\xi_k}](/sites/default/files/tex_cache/0a9e9b36f1ae1fc3090191ac88df7cf4.png)
![U](/sites/default/files/tex_cache/4c614360da93c0a041b22e537de151eb.png)
Задача 12.3. Постройте квантовую схему размера , реализующую преобразование Фурье на группе
при любом
с точностью
. (Определение см. в задаче 8.4. Указание: воспользуйтесь результатом задачи 11.2).
Задача о скрытой подгруппе в .
Алгоритмы, открытые Саймоном и Шором, обобщаются на довольно широкий класс задач, связанных с абелевыми группами. Самой общей из них является задача о скрытой подгруппе в [23]. К ней сводится задача о скрытой подгруппе в любой конечно-порожденной абелевой группе
, поскольку
можно представить как фактор-группу
(для некоторого
).
"Скрытая подгруппа" изоморфна
, поскольку она имеет конечный индекс: порядок группы
не превосходит
. С вычислительной точки зрения
представляется базисом
, двоичная запись которого имеет длину
. Любой такой базис считается решением задачи. (Эквивалентность двух базисов можно проверить при помощи полиномиального алгоритма).
Задача о вычислении периода является частным случаем задачи о скрытой подгруппе в . Напомним, что
. Фунция
удовлетворяет условию (12.1), где
. Эта функция полиномиально вычислима, поэтому любой полиномиальный алгоритм нахождения скрытой подгруппы преобразуется в полиномиальный алгоритм решения задачи о вычислении периода.
Известная задача вычисления дискретного логарифма может быть сведена к задаче о скрытой подгруппе в . Дискретным логарифмом числа
по основанию
, где
— некоторый первообразный корень по модулю простого числа
(образующая
), называется наименьшее положительное число
такое, что
. Рассмотрим функцию
. Эта функция также удовлетворяет условию (12.1), где
. Зная базис подгруппы
, легко найти элемент вида
. Тогда
, т.е.
есть дискретный логарифм
по основанию
.
Опишем квантовый алгоритм решения задачи о скрытой подгруппе в . Он аналогичен алгоритму для случая
, только вместо оператора
используется процедура измерения собственных чисел. Вместо базиса самой группы
мы будем искать систему образующих для группы характеров
(переход от
к
осуществляется при помощи полиномиального алгоритма, см., например,[14, Т.1]). Характер
![(g_1,\dots,g_k)\mapsto\exp(2\pi i\sum_j\phi_jg_j)](/sites/default/files/tex_cache/7cb34a24255573cfe0a6933d00ebb954.png)
![\phi_1,\dots,\phi_k](/sites/default/files/tex_cache/06ed7f8a3ee985df08301fea6baf8ef8.png)
![1](/sites/default/files/tex_cache/c4ca4238a0b923820dcc509a6f75849b.png)
![|E^*|\le 2^n](/sites/default/files/tex_cache/59265efaca61c99fc1ebdd3dd98471ed.png)
Если породить случайных равномерно распределенных характера
,
, то они порождают всю группу
с вероятностью
(см. задачу 12.1). Каждую из величин
достаточно знать с точностью
и вероятностью ошибки
, где
![]() |
( 12.3) |
![\slashfrac{1}{8}+\slashfrac{1}{5}<\slashfrac{1}{3}](/sites/default/files/tex_cache/71d30dff8388d9a986574001087e22dd.png)
Выберем достаточно большое число (конкретная оценка получается из анализа алгоритма). Мы будем работать с целыми числами в диапазоне от
до
.
Приготовим в одном квантовом регистре длины состояние
![\ket{\xi}=M^{-k/2}\sum_{g\in\Delta} \ket{g},\ \text{где}\ \Delta=\{0,\dots,M-1\}^k.](/sites/default/files/tex_cache/64b0918f6c79bc8ee0827010b1c354ed.png)
![\ket{0^n}](/sites/default/files/tex_cache/69c468001fc751408cb584d5fc4e56a0.png)
![\rho=\Tr_{[km+1,\dots,km+n]}\Bigl(U\bigl(\ket{\xi}\bra{\xi}\otimes\ket{0^n}\bra{0^n} \bigr)U^\dagger
\Bigr)= M^{-k}\mkern-6mu \sum_{g,h\in\Delta:g-h\in D}\mkern-3mu \ket{g}\bra{h}.](/sites/default/files/tex_cache/d71b63beb2222ff5991762c06a17d884.png)
Теперь мы собираемся измерить собственные значения операторов сдвига по модулю :
![V_j\colon \Bigl(g_1,\dots,g_j,\dots,g_k\Bigr) \,\mapsto\, \Bigl(g_1,\dots,(g_j+1)\bmod M,\dots,g_k\Bigr)](/sites/default/files/tex_cache/6406b68fbed393ebf045c712fbe5379b.png)
![j](/sites/default/files/tex_cache/363b122c528f54df4a0446b6bab05515.png)
![e^{2\pi is_j/M}](/sites/default/files/tex_cache/d878e01eaa4779ef2c3b291f72708d1d.png)
![\ket{\xi_{s_1,\dots,s_k}} \,=\, M^{-k/2} \sum_{(g_1,\dots,g_k)\in\Delta} \exp\Bigl(-2\pi i\sum_{j=1}^{k}\frac{g_js_j}{M}\Bigr) \ket{g_1,\dots,g_k}.](/sites/default/files/tex_cache/0f01d298865d232837957c3e612f23f5.png)
Вероятность того, что реализуется данный набор , равна
![\begin{equation*}
&\PP(\rho,\,\calL_{s_1,\dots,s_k}) =
\bra{\xi_{s_1,\dots,s_k}}\,\rho\,\ket{\xi_{s_1,\dots,s_k}}\, =\\
=&\ M^{-2k} \sum_{g,h\in\ZZ^k}\chi_D(g-h)\,\chi_\Delta(g)\chi_\Delta(h)\,
\exp\Bigl(2\pi i\sum_{j=1}^{k}\frac{(g_j-h_j)s_j}{M}\Bigr),
\end{equation*}](/sites/default/files/tex_cache/a8a8079e51b5f109e94b14075c4e7798.png)
![\chi_A(\cdot)](/sites/default/files/tex_cache/bb314f33278fd4f8e190fe9c8d2484ca.png)
![A](/sites/default/files/tex_cache/7fc56270e7a70fa81a5935b72eacbe29.png)
![\begin{equation*}
&\PP(\rho,\,\calL_{s_1,\dots,s_k}) =
\frac{1}{|E^*|} \sum_{(\phi_1,\dots,\phi_k)\in E^*}
p_{\phi_1,\dots,\phi_k}(s_1,\dots,s_k),\\
\text{где}\quad&
p_{\phi_1,\dots,\phi_k}(s_1,\dots,s_k) = \prod_{j=1}^{k}
\left(\frac{\sin(M\pi(s_j/M-\phi_j))}{M\sin(\pi(s_j/M-\phi_j))}\right)^2.
\end{equation*}](/sites/default/files/tex_cache/8a0c159f9407fdaa375f05a370392200.png)
При заданных значениях функция
является вероятностным распределением, относительно которого
![\Pr\Bigl[|s_j/M-\phi_j|>\beta\Bigr] \,\le\, \frac{1}{M\beta}](/sites/default/files/tex_cache/dcc04fd3e7bec615aa9624c60e391bd0.png)
![\beta](/sites/default/files/tex_cache/b0603860fcffe94e5b8eec59ed813421.png)
![s_j/M](/sites/default/files/tex_cache/a0e7b647eecfa6611380236c510e8841.png)
![\beta](/sites/default/files/tex_cache/b0603860fcffe94e5b8eec59ed813421.png)
![\le\slashfrac{1}{M\beta}](/sites/default/files/tex_cache/264af8196ec5c1136433f233ffb2096f.png)
![\phi_1,\dots,\phi_k](/sites/default/files/tex_cache/06ed7f8a3ee985df08301fea6baf8ef8.png)
![\delta=2\beta](/sites/default/files/tex_cache/d18bc35029949a507e83e841c8766f2c.png)
![\le\eps=\slashfrac{2}{M\beta}](/sites/default/files/tex_cache/af4ee6f1a17c51be34dbcca4008d60c8.png)
![M](/sites/default/files/tex_cache/69691c7bdcc3ce6d5d8a1361f22d04ac.png)
![\beta](/sites/default/files/tex_cache/b0603860fcffe94e5b8eec59ed813421.png)
Сложность алгоритма.
Tребуется обращений к оракулу, каждый вопрос имеет длину
. Размер квантовой схемы оценивается как
.
Замечание. Для измерения собственных чисел операторов можно воспользоваться квантовым преобразованием Фурье на группе
при
(см. задачу 8.4). Это позволяет несколько уменьшить размер схемы (на логарифмический множитель), однако приходится использовать нестандартные элементы.