Решения задач
И, наконец, равенство (7.8) следует из того, что собственные числа оператора имеют вид
, где
и
— собственные числа
и
, соответственно.
7.3. Достаточно проверить для двух сомножителей. Имеем
![\begin{align*} \tilde U_2\tilde U_1\left(\ket\xi\otimes\ket{0^{N-n}}\right)= \tilde U_2\left(U_1\ket\xi\otimes\ket{0^{N-n}}+\ket{\eta_1}\right)= \\= U_2U_1\ket\xi\otimes\ket{0^{N-n}}+\ket{\eta_2}+\tilde U_2\ket{\eta_1}, \end{align*}](/sites/default/files/tex_cache/5e1f7534f006d95169fd052e898b27bf.png)
![\big\|\ket{\eta_j}\big\|\le\delta_j](/sites/default/files/tex_cache/7ce5cc0ad790bdd35acf1ca0ebf264a9.png)
![j=1,2](/sites/default/files/tex_cache/46e6ebc11d7ad7c77ca20cc9bfbf33ab.png)
![\bigl\|\tilde U_2\tilde U_1\bigl(\ket\xi\otimes\ket{0^{N-n}}\bigr)- U_2U_1\ket\xi\otimes\ket{0^{N-n}}\bigr\| \le \delta_1+\delta_2.](/sites/default/files/tex_cache/953741d269b686d064c7760594813f10.png)
7.4 Обозначим . Будем искать оператор в виде
, где унитарный оператор
сохраняет
. Для такого
, очевидно, выполняется равенство
![W\left(\ket\xi\otimes\ket{0^{N-n}}\right)= (U\ket\xi)\otimes\ket{0^{N-n}},](/sites/default/files/tex_cache/cd3331446d6508cdbfa0bee6fb236d7e.png)
![\|W-\tilde U\|\le O(\delta)](/sites/default/files/tex_cache/3648f43ff493aa7434de18b22c8413ab.png)
![\ket\eta\in\calM^\perp](/sites/default/files/tex_cache/1aaff25bc7753fd37de9fc86dd6219e5.png)
![\rlap{\phantom{\raise1.5pt\hbox{\big\|}}} \big\|(\tilde W-\tilde U)\ket\eta\big\|=O(\delta)](/sites/default/files/tex_cache/d7c34690b8798d64f5a908438272f6c0.png)
![\tilde W= X\tilde U](/sites/default/files/tex_cache/4081f7cb5c83506bc94bcd04cbad4685.png)
![X](/sites/default/files/tex_cache/02129bb861061d1a052c592e2dc6b383.png)
![\|X-I\|=O(\delta),\qquad X\calL^\perp=\calM^\perp,](/sites/default/files/tex_cache/33877e96885d58a6a24ad55321e319b0.png)
![\calL=\tilde U\calM](/sites/default/files/tex_cache/dc9d27e7fd90df451010e0dd021f67a1.png)
Теперь нам потребуется следующая лемма.
Лемма. Пусть и
— подпространства конечномерного пространства
, такие что
,
. Тогда найдется унитарный оператор
, такой что
и
. (Значит, и
.)
Доказательство. Возьмем оператор . Сразу видно, что он переводит
в
и
в
. Для нормы
имеем оценку
![\begin{multiline*} \|Y-I\|=\|\Pi_\calM\Pi_\calL-\Pi_\calM-\Pi_\calL+\Pi_\calM\Pi_\calL\|\leq \\ \leq \|(\Pi_\calM-\Pi_\calL)\Pi_\calL\|+ \|\Pi_\calM(\Pi_\calM-\Pi_\calL)\|\leq 2\delta<1. \end{multiline*}](/sites/default/files/tex_cache/32e8b120ce9d88d39d07ffacef0a7508.png)
![Y](/sites/default/files/tex_cache/57cec4137b614c87cb4e24a3d003a3e0.png)
![X\double=Y(Y^\dagger Y)^{-1/2}](/sites/default/files/tex_cache/651e2b94f11f3ac5f7a248da7a494578.png)
![Y^\dagger Y](/sites/default/files/tex_cache/75744285c17542794ac2da605e4e37c2.png)
![\calL](/sites/default/files/tex_cache/d4e56cd48d8a1c3c0e5e3d92235640a6.png)
![X](/sites/default/files/tex_cache/02129bb861061d1a052c592e2dc6b383.png)
![\calL](/sites/default/files/tex_cache/d4e56cd48d8a1c3c0e5e3d92235640a6.png)
![\calM](/sites/default/files/tex_cache/6de7f59e8221730d1f224bcb46c85967.png)
![X](/sites/default/files/tex_cache/02129bb861061d1a052c592e2dc6b383.png)
![(Y^\dagger Y)^{-1/2}](/sites/default/files/tex_cache/38ae8db7939cefa74cb9eb004c82f592.png)
![(Y^\dagger Y)^{-1/2} =I+\frac{1}{2}Z+\frac{3}{8}Z^2+\dots,\qquad \text{где } Z=I-Y^\dagger Y.](/sites/default/files/tex_cache/685b9e9114333d8aa6fb6034416ab21a.png)
![\|(Y^\dagger Y)^{-1/2}-I\|\leq (1-\|Z\|)^{-1/2}-1=O(\delta)](/sites/default/files/tex_cache/d9cac7c7e03936bf66fdbc7181700732.png)
![\|X-I\|=O(\delta)](/sites/default/files/tex_cache/56d9df9b26f17e76782852195aa45fbc.png)
Чтобы применить лемму, необходимо оценить величину . Имеем
(
приближает
в расширенном смысле с точностью
). Обозначая
, получаем
![\|\Pi_\calL-\Pi_\calM\|= \|\tilde U\Pi_\calM\tilde U^\dagger-V\Pi_\calM V^\dagger\|\le 2\delta.](/sites/default/files/tex_cache/cbb84c6de457c213a0e5821490106649.png)
![\delta<1/4](/sites/default/files/tex_cache/fb4997097fd0fe2a72ca62e164225bd6.png)
7.5 Схему для оператора можно построить, используя элемент Фредкина
— управляемый обмен битами. Элемент Фредкина задается соотношениями
![F\colon |a,b,c\rangle\,\mapsto \left\{ \begin{array}{ll} |0,b,c\rangle \quad & \mbox{если}\ a=0, \\ |1,c,b\rangle \quad & \mbox{если}\ a=1. \end{array} \right.](/sites/default/files/tex_cache/3fabd81b5a98842e47a9b15742e405c2.png)
![F[1,2,3]=\Lambda(\qxor)[1,2,3]\ \Lambda(\qxor)[1,3,2]\ \Lambda(\qxor)[1,2,3]](/sites/default/files/tex_cache/8db3dd59aa3977398781fcd7a793d4cf.png)
![\Lambda(\qxor)=\Lambda^2(\sigma_x)](/sites/default/files/tex_cache/d497c684ca20b3b67d3b4fae023b2ec9.png)
На рис. 15.7 показано, как из схемы для оператора , сохраняющего
, построить схему для
. В прямоугольниках происходит управляемый обмен q-битами (параллельно действует нужное количество элементов Фредкина). Если управляющий q-бит равен
, то на вход схемы, вычисляющей
, будет подан
, в противном случае —
.
7.6 Каждый из рассматриваемых поворотов порождает всюду плотное подмножество в подгруппе поворотов относительно фиксированной прямой. Поэтому осталось доказать, что повороты относительно двух различных прямых порождают . Для этого достаточно доказать, что подгруппа, порожденная всеми поворотами относительно двух различных прямых, действует транзитивно на сфере (или на проективной плоскости — множестве одномерных подпространств). Справедливость этого факта очевидна из рис. 15.8 (если можно перемещаться по двум семействам параллелей, то из любой точки на сфере можно попасть в любую другую). Строгое доказательство получается аналогично решению задачи 7.7.
Замечание. Это решение неконструктивно: нельзя дать никакой верхней оценки на количество поворотов , композиция которых приближает заданный элемент
с заданной точностью
. Причина неконструктивности состоит в следующем. Поворот на угол
, где
— иррациональное, порождает всюду плотное подмножество в группе поворотов относительно фиксированной прямой (эта группа, очевидно, изоморфна
). Однако число
может очень хорошо приближаться рациональными числами (это имеет место, когда коэффициенты цепной дроби, представляющей
, очень быстро растут). Тогда любое
приближается элементами вида
(
) с любой точностью
, но число
может быть сколь угодно велико: больше, чем любая наперед заданная функция
.
Конструктивное доказательство и эффективный (при фиксированных и
) алгоритм построения аппроксимаций довольно сложны [4].
7.7 Обозначим , тогда
— стабилизатор
. Так что утверждение задачи приобретает вид: объединение стабилизаторов двух несовпадающих одномерных подпространств порождает
.
Достаточно показать, что группа , порожденная
, действует транзитивно на множестве единичных векторов. Действительно, пусть для каждого
найдется оператор
, такой что
. Тогда
![U(\calM)=\bigcup\limits_{\ket\psi\in\calM} U_{\psi} H.](/sites/default/files/tex_cache/9fe831e6151726a370962ffc7024998a.png)
Доказываем транзитивность действия группы . Заметим, что
![\begin{equation*} H\ket\psi&=Q(\vartheta)\bydef\{\ket\eta : |\langle \eta\,|\, \xi \rangle| = \cos\vartheta \}, \\ H'\ket\psi&=Q'(\vartheta')\bydef\{\ket\eta : |\langle \eta\,|\, \xi' \rangle| = \cos\vartheta'\}, \end{equation*}](/sites/default/files/tex_cache/6403f1b65adfe63183f308a52ece76ef.png)
где обозначают углы между
и
,
соответственно:
,
,
. В последующих формулах используется также угол
между векторами
и
:
,\,
.
Можно проверить, что при
![\begin{equation*} HQ'(\vartheta')&=\bigcup_{|\alpha-\vartheta'|\leq \vartheta\leq\min(\alpha+\vartheta',\pi/2)} Q(\vartheta),\\ H'Q(\vartheta)&=\bigcup_{|\alpha-\vartheta|\leq \vartheta'\leq\min(\alpha+\vartheta,\pi/2)} Q'(\vartheta'). \end{equation*}](/sites/default/files/tex_cache/9bfed55480c175fada9c3d0ce9e58bb7.png)
![\begin{equation*} H'\ket\xi &= Q'(\alpha),\\ HH'\ket\xi &= \bigcup_{0\leq\vartheta\leq\min(2\alpha,\pi/2)} Q(\vartheta),\\ H'HH'\ket\xi &= \bigcup_{0\leq\vartheta'\leq\min(3\alpha,\pi/2)} Q'(\vartheta'), \end{equation*}](/sites/default/files/tex_cache/afd25137b227666f86e091889e096e92.png)
![\ket\xi](/sites/default/files/tex_cache/952e5e4a1bd40f619937839b9b14a5bf.png)
![H'](/sites/default/files/tex_cache/8c3ad15b1369570a17f7e7ea6e561497.png)
![H](/sites/default/files/tex_cache/c1d9f50f86825a1a2302ec2449c17196.png)
![\ket\psi](/sites/default/files/tex_cache/183782dd3f17f359d0c9b213663cd764.png)
7.8 Поскольку , то стандартный базис содержит полный базис для классических обратимых вычислений (см. задачу 6.1). Это, благодаря задаче 7.5, позволяет реализовать операторы
для всех элементов базиса, кроме
.
Теперь рассмотрим оператор , который, в силу сказанного, реализуется в стандартном базисе (оператор
сохраняет
). Подействуем им на
двумя возможными способами:
,
. Операторы
,
также реализуются в стандартном базисе.
Заметим, что операторы ,
(следовательно, и
,
) сохраняют векторы
и
. Кроме того, вычислениями проверяется, что
,
не коммутируют и имеют, помимо 1, собственные числа
. В
оператору с такими собственными числами соответствует поворот на угол
. Поскольку
не являются корнями из
(и даже целыми алгебраическими числами, так как их след равен
), угол
несоизмерим с
. А поскольку эти операторы не коммутируют, им соответствуют повороты вокруг различных прямых. Поэтому
,
порождают всюду плотное подмножество в
, где
(см. задачу 7.6).
Для завершения доказательства дважды применим результат задачи 7.7. Операторы ,
порождают всюду плотное множество в
, оператор
сохраняет
и не сохраняет
. Так что
,
,
,
порождают всюду плотное множество в
. Оператор
не сохраняет
; применяя результат задачи 7.7 еще раз, получаем всюду плотное множество в
.
7.9 Из предыдущей задачи следует, что можно реализовать оператор с точностью до фазового множителя,
. Оператор
реализуется точно. Возьмем дополнительный q-бит в состоянии
и применим
. Неизвестный фазовый множитель сокращается.
7.10 В базисе ,
оператор
диагонализуется, так что в этом базисе
имеет вид
![R=-i\exp(\pi i\alpha\sx)= -i \begin{pmatrix} e^{\pi i\alpha}&0\\ 0&e^{-\pi i\alpha} \end{pmatrix}\,.](/sites/default/files/tex_cache/d5067a9fea0b1cd78549c18efaaec526.png)
![\alpha](/sites/default/files/tex_cache/7b7f9dbfea05c83784f8b85149852f08.png)
![R](/sites/default/files/tex_cache/e1e1d3d40573127e9ee0480caf1283d6.png)
![i^s\exp(i\phi\sx)](/sites/default/files/tex_cache/92041d485c84430b010efe66a12ce4eb.png)
![i^s\begin{pmatrix} z&0\\ 0&z^{-1} \end{pmatrix}](/sites/default/files/tex_cache/919a9557697335c485acf888a2933d92.png)
![s=0,1,2,3](/sites/default/files/tex_cache/9db2b38f1550d0ca845cc3bd461f0425.png)
![|z|=1](/sites/default/files/tex_cache/3fc592e1ce11e6442a631847779aeded.png)
![x](/sites/default/files/tex_cache/9dd4e461268c8034f5c8564e155c67a6.png)
![s=3](/sites/default/files/tex_cache/5c8b5f2049149b745f5c2a7e73519d4d.png)
![z=i](/sites/default/files/tex_cache/f8ffb425c30b76e3906dac96f1203db8.png)
![\bigl(\Lambda^2(R)\bigr)^k\approx\Lambda^2(\sigma^x)](/sites/default/files/tex_cache/0863a8d3bd3b2de0fda02c80e52ed504.png)
![k](/sites/default/files/tex_cache/8ce4b16b22b58894aa86c421e8759df3.png)
![s=1](/sites/default/files/tex_cache/73bbe012edfb61eca43444d61fefe937.png)
![z=1](/sites/default/files/tex_cache/9360d2c79de73e141e391d96ae0770ba.png)
![\Lambda^2(i)=\Lambda(K)](/sites/default/files/tex_cache/add4a808fbe8913dc835a94de43524a7.png)
![\Lambda(K)](/sites/default/files/tex_cache/7ef2bffaa4b666576989de0dc715bb65.png)
![K](/sites/default/files/tex_cache/a5f3c6a11b03839d46af9fb43c97c188.png)
![\ket{1}=\sigma^x\ket{0}](/sites/default/files/tex_cache/270eca41d6add4a2cabb9e96a4ec0147.png)
![K](/sites/default/files/tex_cache/a5f3c6a11b03839d46af9fb43c97c188.png)
![90^\circ](/sites/default/files/tex_cache/cbb05423d43193dc7a8067a59d4bd316.png)
![z](/sites/default/files/tex_cache/fbade9e36a3f36d3d676c1b808451dd7.png)
![x](/sites/default/files/tex_cache/9dd4e461268c8034f5c8564e155c67a6.png)
![z](/sites/default/files/tex_cache/fbade9e36a3f36d3d676c1b808451dd7.png)
![\SO(3)](/sites/default/files/tex_cache/08fc08d03bb18d1f05ed408a344a2ed0.png)
Итак, мы получили реализацию всех операторов из с точностью до фазового множителя. Осталось использовать задачу 7.9 для того, чтобы реализовать
.
7.11 Любое вращение трехмерного пространства представляется как композиция трех поворотов: на угол вокруг оси
, затем на угол
вокруг оси
, затем на угол
вокруг оси
. Поэтому любой оператор, действующий на одном q-бите, представляется в виде
![]() |
( *) |
Каждый из операторов в правой части выражается через
и управляемые фазовые сдвиги:
![\begin{align*} e^{i\phi}&=\Lambda(e^{i\phi})\sx\Lambda(e^{i\phi})\sx, & e^{i\phi\sz}&=\Lambda(e^{-i\phi})\sx\Lambda(e^{i\phi})\sx,\\ \sx&=H\Lambda(e^{i\pi})H, & e^{i\phi\sx}&=He^{i\phi\sz}H. \end{align*}](/sites/default/files/tex_cache/a70836125f425f85b59c45fa4b025599.png)
Таким образом, для решения задачи достаточно построить схему, представляющую управляемый фазовый сдвиг с точностью
.
Выберем такое , что
. Предположим, что у нас в распоряжении есть
-битовый регистр в состоянии
![\ket{\psi_n(q,k)}=\frac{1}{\sqrt{q}}\sum_{j=0}^{q-1} \exp\bigl(2\pi i\frac{kj}{q}\bigr)\ket{j}.](/sites/default/files/tex_cache/987217f5849c516b97fa7cff5ee8f1be.png)
![\ket{\psi_n(q,k)}](/sites/default/files/tex_cache/6b3257d465117900166bf59c43be4b5b.png)
![V\colon\ket{j}\mapsto\ket{(j-1)\bmod q}](/sites/default/files/tex_cache/6b504d68ddf10b9a128be46a96d42f56.png)
![V^l\ket{\psi_n(q,k)} = e^{2\pi i (kl/q)}\ket{\psi_n(q,k)}.](/sites/default/files/tex_cache/aaf61f485392f44ae5bb70c9bcedcb2f.png)
![\ket{\psi_n(q,k)}](/sites/default/files/tex_cache/6b3257d465117900166bf59c43be4b5b.png)
![V^l](/sites/default/files/tex_cache/aa694620d913b80941a3f760441cb9b6.png)
![\Lambda(V^l)\bigl(\ket\xi\otimes\ket{\psi_n(q,k)}\bigr) = \Lambda(e^{2\pi i (kl/q)})\ket\xi\otimes\ket{\psi_n(q,k)}.](/sites/default/files/tex_cache/13cb418248cbb7477672df96857ee339.png)
(Классический) оператор можно задать схемой линейного размера в стандартном базисе. Если
— нечетно, то выбором подходящего
можно представить оператор
с точностью
.
Вместо того, чтобы строить схему, порождающую , будем брать смесь
при разных
, измерять значение
и выбирать
, соответствующее этому измеренному значению. Опишем требуемые действия.
- Создаем векторЗаметим, что
реализуется точно в стандартном базисе.
- Произведем измерение
с вероятностью ошибки
; оно может быть представлено оператором
где, а векторы
и
— единичной длины. Заметим, что точность — квадратный корень из вероятности ошибки:
- Найдем такое
, что
.
- Применим
к рабочему
-битовому регистру, используя бит, в котором нужно сделать фазовый сдвиг, в качестве управляющего.
- Обратим вычисления, сделанные на шагах 1 — 3.
Чтобы вероятность ошибки была меньше , нужны
элементарных измерений для каждого из операторов
,
,
. Поскольку
, общий размер схемы —
.