Введение в квантовые компьютеры
.pdf
КВАНТОВЫЙ КОМПЬЮТЕР |
31 |
Рис. 4.1. Векторная диаграмма для состояния суперпозиции (4.3). Каждый вектор на пересечении |x и |f (x) изображает соответствующую амплитуду
для члена |x, f (x) в выражении (4.3). Длина вектора пропорциональна
√
модулю комплексной амплитуды (в данном случае он равен 1/ 8). Угол между направлением вектора и горизонтальной линией называется фазой комплексной амплитуды φ (в данном случае он равен нулю)
лее, согласно алгоритму Шора, регистр X преобразуется по следующему правилу:
1 |
7 |
|
|
|
|
|
2πikx/8 |
|k , |
(4.4) |
||
|x √ |
|
k=0 e |
|
||
8 |
|
||||
где x и k записываются в десятичной системе. Так, например, состояние |5 преобразуется в следующее состояние суперпозиции:
1 |
(|0 + e |
10πi/8 |
20πi/8 |
70πi/8 |
|
|
|5 √ |
|
|
|1 + e |
|2 + · · · + e |
|7 ). |
|
|
8 |
|
|
|
|
|
Преобразование (4.4) называется дискретным фурье-преобразовани- ем состояния регистра X. Применим такое преобразование к волновой функции Ψ (см. выражение (4.3)). В результате получим новую
32 |
ГЛАВА 4 |
Рис. 4.2. Векторная диаграмма для волновой функции (4.5) (длина каждого вектора равна 1/8)
волновую функцию:
7
Ψ = 18 e2πikx/8|k, f (x) =
x,k=0
=18 |0 {|f (0) + |f (1) + |f (2) + · · · + |f (7) }+
+18 |1 {|f (0) + e2πi/8|f (1) + e2πi2/8|f (2) + · · · + e2πi7/8|f (7) }+
+18 |2 {|f (0) + e4πi/8|f (1) + e4πi2/8|f (2) + · · · + e4πi7/8|f (7) }+
. . . . . . . . . . . . . . . . . . . . . . . . .
+ |
1 |
|7 {|f (0) +e |
14πi/8 |
|f (1) +e |
14πi2/8 |
|f (2) +· · · + e |
14πi7/8 |
|f (7) }, (4.5) |
8 |
|
|
|
КВАНТОВЫЙ КОМПЬЮТЕР |
33 |
где |0|f (0) обозначает |0, f (0) , |0|f (1) значит |0, f (1) и т. д. Волновая функция Ψ изображена на рис. 4.2 в виде векторной диаграммы. Она описывает запутанное (несепарабельное) состояние системы атомов (ионов), соответствующее кубитам, добавленным в регистры X и Y после дискретного фурье-преобразования состояния регистра X. Согласно алгоритму Шора, измеряя состояние регистра X, можно найти период функции f (x). Ниже будет показано, как можно реализовать данную волновую функцию в физических квантово-
механических системах.
Пусть, например, функция f (x) имеет период T = 2, т. е. f (0) = = f (2) = f (4) = f (6), а f (1) = f (3) = f (5) = f (7). Тогда формулу (4.5) можно переписать в следующем виде:
Ψ = 12 |0 {|f (0) + |f (1) }+
+ 8 |
|1 |
|f (0) 1 + e |
(1 |
· |
2/8)2πi |
+ e |
(1 |
· |
4/8)2πi |
1 |
|
|
|
|
|
+ |f (1) e(1·1/8)2πi + e(1·3/8)2πi + e(1·5/8)2πi
+ |
1 |
|
|
2 |
f (0) 1 + e(2·2/8)2πi + e(2·4/8)2πi |
||
|
8 |
| | |
|
+ |f (1) e(2·1/8)2πi + e(2·3/8)2πi + e(2·5/8)2πi
+ |
1 |
|
|
3 |
f (0) 1 + e(3·2/8)2πi + e(3·4/8)2πi |
||
|
8 |
| | |
|
+ |f (1) e(3·1/8)2πi + e(3·3/8)2πi + e(3·5/8)2πi
+ |
1 |
|
|
4 |
f (0) 1 + e(4·2/8)2πi + e(4·4/8)2πi |
||
|
8 |
| | |
|
+ |f (1) e(4·1/8)2πi + e(4·3/8)2πi + e(4·5/8)2πi
+ e(1·6/8)2πi +
+ e(1·7/8)2πi +
+ e(2·6/8)2πi +
+ e(2·7/8)2πi +
+ e(3·6/8)2πi +
+ e(3·7/8)2πi +
+ e(4·6/8)2πi +
+ e(4·7/8)2πi +
· · · . (4.6)
Рассмотрим члены выражения (4.6), которые содержат состояние |1 в регистре X. Комплексные амплитуды в первых круглых скобках
34 |
ГЛАВА 4 |
имеют следующие фазы:
0, π/2, π, (3/2)π. |
(4.7) |
В результате эти амплитуды взаимно уничтожают друг друга. Комплексные амплитуды во вторых скобках
π/4, 3π/4, 5π/4, 7π/4 |
(4.8) |
также отличаются на величину π/2, поэтому соответствующие амплитуды опять же сокращаются. Ниже представлены фазы для следующих четырех состояний:
|2, f (0) : |
0, |
π, |
2π, |
3π, |
|
|
|2, f (1) : |
π/2, |
|
3π/2, |
5π/2, |
7π/2, |
(4.9) |
|3, f (0) : |
0, |
3π/2, 3π, 9π/2, |
|
|||
|3, f (1) : |
3π/4, |
9π/4, |
15π/4, |
21π/4. |
|
|
Для всех этих функций соответствующие комплексные амплитуды в выражении (4.6) взаимно уничтожаются. Члены, включающие функцию |4, f (0) (см. (4.6)), имеют следующие фазы:
0, 2π, 4π, 6π, |
(4.10) |
которые обеспечивают конструктивную интерференцию комплексных амплитуд. Все это также справедливо для функции |4, f (1) с фазами
π, 3π, 5π, 7π. |
(4.11) |
В конечном счете из выражения (4.6) для функции Ψ получаем:
Ψ = |
1 |
{| |
0, f (0) |
+ 0, f (1) |
|
+ 4, f (0) |
|
+ eiπ |
4, f (1) |
. |
(4.12) |
|
2 |
|
| |
| |
| |
|
} |
|
Волновая функция схематически изображена на рис. 4.3 в виде векторной диаграммы. Теперь, измеряя состояние регистра, мы получим числа 0 или 4, каждое из которых имеет вероятность 1/2. Согласно
КВАНТОВЫЙ КОМПЬЮТЕР |
35 |
Рис. 4.3. Векторная диаграмма, соответствующая волновой функции Ψ (4.12). Данная диаграмма получена из рис. 4.2 путем прибавления векторов (амплитуд), соответствующих одинаковым состояниям |i, j при f (0) = = f (2) = f (4) = f (6) и f (1) = f (3) = f (5) = f (7). Длина каждого вектора равна 1/2
алгоритму Шора измерение состояния регистра X дает одно из следующих значений k:
k = 0, D/T, 2D/T, 3D/T, . . . , |
(T − 1)D |
, |
(4.13) |
|
T |
||||
|
|
|
где D — число возможных булевых состояний регистра X (если D делится на T ). В нашем случае D = 23 = 8, поэтому, измеряя состояние регистра X, соответствующее волновой функции в (4.12), получаем следующие значения k: k = 0 или k = 4. Принимая во внимание эти результаты, а также выражение (4.13), приходим к выводу, что T = 8/4 = 2.
Остается вопрос: как найти период T функции f (x), если в процессе измерения квантовый алгоритм выдает множество целых значений k, кратных выражению D/T , где D — полное число состояний. Рассмотрим простой случай, когда D делится на T без остатка, и предположим, что T = 8. Нам необходимо выяснить, как получить именно это значение периода, если результат измерения состояния
36 |
ГЛАВА 4 |
регистра X (значений k) известен. Пусть
D = 27 = 128. |
(4.14) |
Из выражения (4.13) следует, что измерение состояния регистра X дает одно из следующих восьми значений k:
k = 0, 16, 2 · 16 = 32, 3 · 16 = 48, . . . , 16 · 7 = 112. (4.15)
Предположим, например, что при измерении значение k получилось равным 80. Тогда для отношения D/k получим следующую величину:
D = 128 . |
(4.16) |
|
k |
80 |
|
Сокращая наибольший общий делитель чисел 128 и 80, найдем |
||
D |
= 8 . |
(4.17) |
k |
5 |
|
Числитель этой |
дроби равен периоду T . Для других значений k |
|||||||
из (4.15) имеем: |
|
|
|
|
|
|
|
|
|
D |
= 8, 4, |
8 |
, 2, |
4 |
, |
8 . |
(4.18) |
|
k |
|
3 |
|
3 |
|
7 |
|
Приведя отношение D/k к несократимой дроби, получим максимальное значение числителя, равное 8, что соответствует периоду T . Вероятность получения этого значения достаточно большая, W = 1/2.
Таким образом, квантовое измерение состояния регистра X дает значения
D |
, m = 0, 1, 2, . . . , T − 1, |
|
k = m T |
(4.19) |
с равной вероятностью. Дробь
D/k = T /m |
(4.20) |
имеет при наименьшем значении ее членов наибольший числитель, равный периоду T , если T и m не имеют общих делителей, кроме
КВАНТОВЫЙ КОМПЬЮТЕР |
37 |
единицы. Было показано, что вероятность этого события достаточно высока для того, чтобы обеспечить эффективное вычисление с желаемым успехом [39].
Подведем кратко итог для всего описанного выше. Используя квантово-механический, подход мы создали волновую функцию Ψ (4.5), которая включает в себя суперпозицию всех значений аргумента x. Квантовый компьютер проверяет все эти числа и автоматически отбирает суперпозицию состояний с требуемыми измеренными значениями регистра X, которые кратны D/T . Отметим, что сам квантовый алгоритм является детерминированным, а результат — вероятностным. Главное преимущество квантового компьютера заключается в том, что он проверяет все возможные значения x одновременно (параллельно), однако такой «квантовый параллелизм» не требует большого количества вычислительных шагов, поскольку неподходящие (неверные) числа взаимно уничтожаются и в итоге остаются только правильные значения x. В рассмотренном нами случае эти верные значения появляются с равной вероятностью.
ГЛАВА 5
Дискретное фурье-преобразование
В квантовом алгоритме, описанном в предыдущей главе, используется дискретное фурье-преобразование. Вопрос заключается в том, как описать это преобразование на основе квантово-механических операторов. Эффективный алгоритм фурье-преобразования, основанный на применении именно таких операторов, был предложен Копперсмитом и Дойчем (см. [39]). Пусть у нас есть L кубитов в регистре X, содержащем числа x от 0 до 2L − 1. Любое число x (в десятичном представлении) может быть выражено в виде следующего состояния:
|x = |xL−1xL−2 . . . x1x0 = |xL−1 |xL−2 . . . |x1 |x0 , (5.1)
где
L−1 |
|
|
i |
xi2i, (xi = 0, 1). |
|
x = |
(5.2) |
|
=0 |
|
|
Символ в выражении (5.1) обозначает тензорное произведение или, иначе, прямое произведение, которое представляет собой одно из обозначений для L-кубитовых базисных состояний. В дальнейшем этот символ будет просто опускаться. Введем понятие однокубитового (одноатомного) оператора Aj , который действует только на кубит, представленный j-м атомом. Такой оператор нужен для того, чтобы правильно «смешать» два исходных состояния j-го кубита, |0j и |1j . Явная форма этого оператора имеет следующий вид:
Aj = 2−1/2(|0j 0j | + |0j 1j | + |1j 0j | − |1j 1j |),
(j = 0, . . . , L − 1). (5.3)
ДИСКРЕТНОЕ ФУРЬЕ-ПРЕОБРАЗОВАНИЕ |
39 |
Действие оператора |ij kj | на состояние |nj определяется правилом:
|ij kj | · |nj = δkn|ij ,
1, k = n, |
(5.4) |
y =
0, k = n.
В матричном представлении оператор |nj mj | имеет ненулевой матричный элемент только в n-й строке и m-м столбце (строки и столбцы отсчитываются от нуля). Например,
|0j 1j | = |
0 |
1 |
(5.5) |
0 |
0 j . |
Индекс j показывает, что матрица (5.5) действует только на состояния j-го кубита (состояние |xj в (5.1)).
Введем также понятие двухкубитового оператора, который действует на состояния кубитов j и k,
Bjk = |0jk 0jk | + |1jk 1jk | + |2jk 2jk | + eiθjk |3jk 3jk |,
θjk = |
π |
. |
(5.6) |
|
|
||
2k−j |
|
||
В выражении (5.6) используется следующая система обозначений:
|0jk = |0j 0k , |
|1jk = |0j 1k , |
(5.7) |
|2jk = |1j 0k , |
|3jk = |1j 1k . |
|
Принимая во внимание выражение (5.4), получаем правило действия оператора на исходные состояния кубита:
1 |
(|0j + |1j ), |
|
Aj |0j = √ |
|
|
2 |
||
|
|
(5.8) |
Aj |1j = 1 (|0j − |1j ).
√
2
40 |
ГЛАВА 5 |
|
Используя выражение (5.4) из (5.6), получаем: |
|
|
Bjk|0jk = |0jk , |
Bjk|1jk = |1jk , Bjk|2jk = |2jk , |
(5.9) |
Bjk|3jk = exp(iπ/2k−j )|3jk . |
|
|
Из выражения (5.9) следует, что оператор Bjk изменяет только состояние
|3jk = |1j , 1k ,
сдвигая его фазу. Квантово-механические операторы Aj и Bjk позволяют производить дискретное фурье-преобразование волновой функции. Для этого на состояние |x (см. (5.1)) необходимо подействовать оператором AL−1, затем на получившееся в результате состояние подействовать оператором (AL−2BL − 2, L − 1). После этого нужно подействовать следующими операторами:
AL−3BL−3,L−2BL−3,L−1, |
(5.10) |
AL−4BL−4,L−3BL−4,L−2BL−4,L−1 |
(5.11) |
и так далее. Применим для волновой функции в выражении (4.3) следующие три группы операторов: A2, затем (A1B12) и затем (A0B01B02). В результате получим:
A0B01B02A1B12A2|x . (5.12)
Возьмем, например,
|x = |2 = |x2x1x0 = |010 . |
(5.13) |
Здесь с правой стороны опущены индексы, обозначающие позиции кубитов, поскольку эти кубиты записаны по порядку. Далее, используя (5.8), после первого шага получим:
A2|x = A2|2 = A2|x2 |x1 |x0 =
= A2|0 |1 |0 = 1 (|0 + |1 )|1 |0 . (5.14)
√
2
