Московский государственный университет имени М.В.Ломоносова
Опубликован: 15.03.2007 | Доступ: свободный | Студентов: 611 / 26 | Оценка: 5.00 / 4.50 | Длительность: 19:30:00
Специальности: Программист
Лекция 7:

Базисы для квантовых схем

< Лекция 6 || Лекция 7: 12 || Лекция 8 >
Аннотация: В лекции описывается проблема выбора базиса в квантовых схемах, подробно рассматриваются условия точной и приближенной реализуемости операторов, вводятся понятия оператора с квантовым управлением и специальной ортогональной группы, действующей на трехмерном евклидовом пространстве.

Как выбрать базис для вычислений в квантовых схемах? Унитарных операторов бесконечно много, поэтому либо полный базис должен содержать бесконечное количество элементов, либо мы должны ослабить условие точной реализуемости оператора схемой, заменив его на условие приближенной реализуемости. Мы рассмотрим обе возможности.

Точная реализация.

Теорема 7.1. Базис, содержащий все унитарные операторы, действующие на парах q-битов, позволяет реализовать любой унитарный оператор в расширенном смысле.

Для доказательства этой теоремы введем важный класс операторов: операторы с квантовым управлением.

Определение 7.1. Определим по оператору U\colon{}\BB^{\otimes n}\to\BB^{\otimes n} оператор \Lambda(U)\colon{} \BB\otimes\BB^{\otimes n}\to\BB\otimes\BB^{\otimes n} с квантовым управляющим q-битом (первый сомножитель) следующими соотношениями:

\begin{aligned} \Lambda(U)\, |0\rangle \otimes|\xi\rangle &= |0\rangle\otimes|\xi\rangle,\\ \Lambda(U)\, |1\rangle \otimes|\xi\rangle &= |1\rangle\otimes\, U|\xi\rangle. \end{aligned} ( 7.1)

Графически будем изображать оператор \Lambda(X) с квантовым управлением как показано на рисунке. Верхняя линия соответствует первому сомножителю, нижняя линия — второму. Направление стрелок соответствует направлению перемножения операторов (справа налево).


Нам потребуются также операторы с несколькими управляющими q-битами:

\begin{equation}\label{Lk-def} \Lambda^k(U)\, |x_1,\dots,x_k\rangle \otimes|\xi\rangle = \left\{ \begin{array}{ll} |x_1,\dots,x_k\rangle \otimes|\xi\rangle, \;& \mbox{если}\ x_1\cdot\ldots\cdot x_k=0, \\ |x_1,\dots,x_k\rangle \otimes\,U|\xi\rangle, \; & \mbox{если}\ x_1\cdot\ldots\cdot x_k=1. \end{array} \right. \end{equation} ( 7.2)

Пример 7.1. Пусть \sx\bydef{\widehat\neg}=\begin{pmatrix}0&1\\1&0\end{pmatrix}. Тогда \Lambda(\sx)=\widehat{\ovst\bigcirc\oplus}, а \Lambda^2(\sx)\double=\widehat{\wedge_\oplus} (элемент Тоффоли).

Теперь построим элемент Тоффоли, используя преобразования двух q-битов. Для начала найдем пару операторов, удовлетворяющих следующему соотношению XYX^{-1}Y^{-1}=\ii\sx. Например, годится такая пара:

X=\frac{1}{\sqrt2}\begin{pmatrix} 1&i\\ i&1\end{pmatrix};\quad Y=\leftp\begin{array}{rr} 1&0\\ 0&-1\end{array}\rightp.

Поясним геометрический смысл этой конструкции. Унитарная группа \U(2) действует на трехмерном евклидовом пространстве. Чтобы описать это действие, заметим, что эрмитовы матрицы 2\times2 с нулевым следом образуют трехмерное евклидово пространство: скалярное произведение задается формулой \frac{1}{2}\Tr (XY), ортонормированный базис образуют матрицы Паули,

\sx=\begin{pmatrix}0&1\\1&0\end{pmatrix},\; \sy=\leftp\begin{array}{rr}0&-i\\ i&0\end{array}\rightp,\; \sz=\leftp\begin{array}{rr}1&0\\0&-1\end{array}\rightp.
Унитарный оператор U\in U(2) действует на этом пространстве так: U\colon{} E\mapsto UEU^{-1}. Можно доказать (см.[8, 11.12]), что описанное действие задает изоморфизм U(2) /\ U(1)\cong \SO(3), где U(1)подгруппа фазовых сдвигов, а \SO(3) — группа поворотов в трехмерном пространстве (т.е. группа ортогональных преобразований с детерминантом, равным 1 ).

При этом действии \sx соответствует поворот вокруг оси x на 180^\circ, X соответствует поворот вокруг x на 90^\circ, а Y соответствует поворот вокруг z на 180^\circ.

На рис. рис. 7.1 изображено графическое представление схемы, вычисляющей элемент Тоффоли с помощью операторов \Lambda(X), \Lambda(Y) и \Lambda^2(-i). Последний — это управляемый двумя битами фазовый сдвиг (умножение на -i ). Проверим эту схему. Пусть на вход подается вектор \ket{a}\otimes\ket{b}\otimes\ket\xi, где a,b\in\cb, \ket\xi\in\BB. Если a=b=1, то к \ket\xi будет применен оператор -iXYX^{-1}Y^{-1}=\sx, т.е. \ket0 и \ket1 в третьем q-бите переставляются. Если же хотя бы один из управляющих битов равен 0, то к \ket\xi будет применен тождественный оператор. Это и есть действие элемента Тоффоли.


Рис. 7.1.

С помощью элемента Тоффоли можно реализовать любую перестановку базисных векторов (с использованием дополнительной памяти).

Покажем, как реализовать оператор \Lambda^k(U) для любого k, действуя только на пары q-битов. Для этого также потребуется дополнительная память. Будем строить оператор W, действующий в пространстве N q-битов \BB^{\otimes N} и удовлетворяющий условию

W\left(\ket\eta\otimes\ket{0^{N-k-1}}\right)= \Lambda(U)\ket\eta\otimes\ket{0^{N-k-1}}.
(Предостережение: это условие не означает, что W=\Lambda(U)\otimes I.)

Существует обратимая схема P размера O(k), вычисляющая произведение входных битов (с мусором); графически она представлена на рис. рис. 7.2 (сверху обозначено число битов в каждом из выделенных фрагментов памяти).


Рис. 7.2.

На рис. 7.3 показано, как с помощью схемы P и оператора с одним управляющим q-битом построить оператор \Lambda^k(U). Мы применяем схему P, а затем — обратную схему P^{-1}, после чего все вспомогательные биты возвращаются в исходное состояние. В промежутке самой верхней линии соответствует бит со значением x_1\cdot\ldots\cdot x_k. Его мы и используем для управления оператором U, действующим на самой нижней линии. Другим способом \Lambda^k(U) можно записать как P^{-1} \Lambda(U)P.


Рис. 7.3.

Действие \Lambda^k(U) можно описать так: на подпространстве, порожденном векторами \ket{1,\dots,1,0} и \ket{1,\dots,1,1}, действует оператор U, а на ортогональном дополнении к этому подпространству — тождественный оператор. Наша следующая задача: реализовать оператор, который устроен так же, но нетривиальное действие осуществляется на подпространстве, натянутом на произвольную пару базисных векторов. Пусть мы хотим реализовать произвольный оператор в подпространстве, натянутом на базисные векторы \ket{x} и \ket{y}, где x=(x_1,\dots, x_n), y=(y_1,\dots, y_n), x_j,\, y_j\in\cb. Пусть f — такая перестановка, что f(x)=(1, \dots,1, 0), f(y)=(1, \dots,1,1). Тогда нужный нам оператор представляется в виде \ha{f}^{-1}\Lambda^{n-1}(U)\ha{f}. (Напомним, что \ha{f} — оператор, соответствующий перестановке f.)

Итак, на парах базисных векторов мы можем действовать произвольно. Пока все использованные схемы имели размер O(n), так что построенные действия реализуются эффективно. Следующая часть неэффективна. Имеет место следующая лемма.

Лемма 7.1. Любая унитарная матрица U в пространстве \CC^M может быть представлена в виде произведения M(M-1)/2 матриц вида

{\def\arraystretch{1.05}\begin{pmatrix} 1&0&\hdotsfor{5} \\ \vdots&\ddots&0&\hdotsfor{4} \\ 0&\hdotsfor{1}&1& 0&\hdotsfor{3}\\ 0&\hdotsfor{2}&\begin{pmatrix}a&b\\ c&d\end{pmatrix}&0&\hdotsfor{2} \\ 0&\hdotsfor{3}&1&0&0 \\ \hdotsfor{5}&\ddots&0 \\ 0&\hdotsfor{5} &1 \end{pmatrix}, }\ \text{где } \begin{pmatrix} a&b\\ c&d \end{pmatrix} \in U(2).

Заметим, что в нашем случае M=2^n, так что получаем представление в виде произведения экспоненциального большого числа базисных операторов.

< Лекция 6 || Лекция 7: 12 || Лекция 8 >