Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Квантовые вычисления. Теория и практика. Учебник
.pdf
Приложение 2. Решения задач
После воздействия первого оператора Тоффоли:
1
22
00 0 1 01 0 1 10 0 1 11 0 1 .
Далее на верхние кубиты еще раз воздействуют операторы X:
1
22
11 0 1 10 0 1 01 0 1 00 0 1 .
После этого воздействуем на систему кубитов вторым
оператором Тоффоли:
1
22
Видим, что состояния 00 и 11 помечены минусом, что и
требовалось сделать.
21. Представим вектор состояния c (состояние после приведения кубитов в состояние суперпозиции с равными амплитудами перед первой итерацией) как комбинацию векторов a и b:
11 0 1 10 0 1
01 0 1 00 0 1.
1
c
000 001 010 011 100 101 110 111
22
cos sinba
1
cos 000 001 010 011 100 110 111
7
sin 101 .
181

Приложения
Отсюда выразим синус и косинус угла :
1
cos
22
1
7
1
sin
22
а затем найдем угол :
7
;
8
,
arcsin 0,361 .
1
рад
22
22. Посчитаем произведение кет- и бра-вектора для состояния |01:
0 0000
10100
aa
01 01 0 1 0 0
Найдем оператор U
1000 0000 1 0 00
0100 0100 0 100
U
b
0010 0000 0 0 10
0001 0000 0 0 01
Найдем оператор U
2
U
c
0 0000
0 0000
:
b
UI aa ;
:
c
UccI;
1111 10 00
1111 01 00
1
1111 00 10
4
1111 00 01
2
b
2
2
c
.
.
182

Приложение 2. Решения задач
1111 10 00
1111 01 00
1
1111 00 10
2
1111 00 01
1111
1111
1
2
11 11
111 1
.
Итак, мы нашли операторы U
оператор U
будет таким же при любом искомом состоянии,
c
и Uc, при этом видно, что
b
так как в нем учитывается только вектор |c, являющийся
исходной суперпозицией всех возможных состояний.
23. Посчитаем произведение кет- и бра-векторов для состояния, являющегося равной суперпозицией искомых состояний 00 и 11:
11
aa
11001
0 0000
11
22
0 0000
11001
Найдем оператор U
1000 1001 0 00 1
0100 0000 0 10 0
U
b
0010 0000 0 01 0
0001 1001 100 0
00 11 00 11
22
1001
:
b
UI aa ;
2
b
.
1
2
.
2
183

Приложения
Оператор Uc:
1111
1111
1
U
c
2
11 11
111 1
.
24. а) –1 градус, б) 3 градуса, в) –3 градуса, г) 5 градусов,
д) –5 градусов.
Найдем минимальное количество итераций:
90 1
2
n
22
44,5
.
Если отбросить дробную часть, то получаем 44 итерации.
25. Посчитаем количество итераций:
90 10
2
n
220
4
.
26. Сначала посчитаем количество всех возможных базисных состояний для количества кубитов, равного 100:
100
2N .
Так как количество базисных состояний большое, то воспользуемся приблизительной формулой для подсчета количества итераций:
100
N
n
444
K
2
47
.
2
27. Разложим число N на два простых множителя p и q:
21 3 7N .
Посчитаем функцию Эйлера для числа 21:
184

Приложение 2. Решения задач
()( 1)( 1)2612Np q .
28. Если рассмотреть весь процесс от шифрования до вос-
становления первоначального сообщения:
d
eed
mmN NmN
()() (),
то легко понять, что исходное число m не может больше или
ed
равно числу N, так как значение m
(N), являясь остатком
от деления на N, должно быть меньше N.
29. Для начала найдем функцию Эйлера:
(2 1) (7 1)(3 1) 12.
Будем использовать для выбора числа e следующие условия:
1(21)e ;
НОД( , (21)) 1e ;
НОД( , ) 1eN
.
Отсюда можно найти возможные варианты для выбора
числа e: 5, 11.
Минимальное d, соответствующее числу e = 5:
()12121
kN
d
e
5
.
5
Минимальное d, соответствующее числу e = 11:
()110121
kN
d
.
e
11
11
Найденные числа e (хотя они и соответствуют приведенным выше условиям) не подойдут для шифрования, так как
зашифрованные ими сообщения можно расшифровать тем
же числом, которым они были зашифрованы, то есть d = e.
Для того чтобы можно было подобрать e и d, подходящие для
шифрования, нужно использовать большее N.
185

Приложения
30. Сначала найдем функцию Эйлера:
(9797) (97 1)(101 1) 9600.
Наименьшее е, подходящее для шифрования, равно 7.
31. Зашифруем сообщение m, используя открытый ключ:
11
m .
encoded
23 (9797) 284
32. Вычислим число d, используя (9797) = 9600 и e = 11,
подобрав подходящее число k = 4:
()1 496001
kN
d
e
11
3491
.
Расшифруем сообщение с помощью закрытого ключа –
чисел N = 9797 и вычисленного d = 3491:
3491
m .
decoded
615 (9797) 47
33. Решить задачу можно методом перебора всех поло-
x
жительных значений показателя степени числа a
. Тогда получаем минимальное значение r = 12, при котором остаток
от деления на 35 равен единице:
r
()3(35)1(35)
aN.
12
Для того чтобы найти функцию Эйлера (N), нужно раз-
ложить N на множители:
35 5 7pq.
Теперь вычислим функцию Эйлера:
(35) ( 1)( 1) 4 6 24pq.
О соотношении функции Эйлера и периода r можно ска-
зать, что функция Эйлера является кратной числу r.
34. С помощью перебора можно найти, что период функ-
x
ции f(x) = a
186
(N) равен 20:
r
( ) 5 (143) 1(143)
aN.
20

Приложение 2. Решения задач
Разложим на множители выражение ar – 1:
r
aaa
22
1115151
10 10
.
rr
Для того чтобы можно было использовать равенство
rr
22
11
aa kN
для разложения на множители числа N, нужно, чтобы r
было четным числом (это соблюдается, так как r = 20), а также вторая скобка не должна быть кратной N. Вычислим значение во второй скобке и проверим второе условие:
r
2
a .
10
15 19765626
Получившееся число не является кратным числу 143, поэтому второе условие также соблюдается. Найдем наибольший общий делитель для числа N и первой скобки:
НОД(143,9765624) 11 .
Найдем наибольший общий делитель для числа N и второй скобки:
НОД(143,9765626) 13 .
Найденные числа являются простыми. Таким образом,
мы нашли множители числа N.
35. Распишем подробное решение, подставив вместо x
значение 5:
2
ixy
1
N
1
101
QFT e y
N
5
iy
77
11
22 22
4
ey e y
00
yy
y
N
0
3
y
k
5
i
k
1
2
k
1
187

Приложения
5
i
3
17
N
11
22 22
7
11
22 22
22 22
22 22
22 22
y
0
111 222
11
222 222
eee eee
333 444
11
222 222
eee eee
555 666
11
222 222
eee eee
777 0 1
11
222 2 2
eee e e
22 22
ee ee
1
22
k
ey ey
00
yy
y
k
3
k
1 012
2222
eyyy eee
k
1
012 012
012 012
012 012
012 0 0
01 01
55 5 5
ii i i
11 2 2
22 22
01 01
111
012
222
010101
eee
y
k
1
k
2
1
5
i
123
55
ii
3
1
k
000
5
i
y
k
1
k
2
5
i
000
001 010
55
ii
011 100
55
ii
101 110
5
i
55
ii
111 0 1
555
iii
188
55
ii
1
010101
22
1
22
ee e
01010 1
5
i
i
ee e
24
ii
24
5
.

Приложение 2. Решения задач
36. Векторы состояний кубитов y1, y2 и y3 будут поверну-
ты относительно состояния |+ в плоскости xy сферы Блоха
на углы 180, 270 и 135 градусов соответственно.
37. Схема квантового преобразования Фурье для четы-
рех кубитов:
|x1²
|x
²
2
H
R
R
2
R
3
4
R
H
R
2
3
²
|y
4
²
|y
3
R
|x
²
3
|x
²
4
H
2
H
|y
|y1²
²
2
38. Для схемы квантового преобразования Фурье из семи
кубитов потребуется семь операторов Адамара, шесть операторов CR
оператор CR
, пять CR3, четыре CR4, три CR5, два CR6 и один
2
.
7
39. Потребуется три оператора SWAP.
189

Приложения
Приложение 3. Глоссарий
Алгоритм Гровера – квантовый алгоритм, предназначенный для поиска отвечающих определенным условиям
строк в неотсортированной таблице в базе данных. Данный
алгоритм ускоряет поиск по сравнению с классическим алгоритмом (полным перебором). Для эффективной работы
алгоритма Гровера число искомых строк и число всех строк
в таблице должны быть заранее известны, так как число итераций внутри алгоритма должно быть точно задано.
Алгоритм Дойча – квантовый алгоритм, позволяющий
определить, к какому классу относится функция: является
ли она сбалансированной или константной. Рассматриваемая функция принимает на вход значение 0 или 1, а на выходе также выдает 0 или 1. Если выходное значение функции при любом аргументе всегда равно одному и тому же
числу, тогда она является константной. Если же при разных
аргументах половина выходных значений функции равна
нулю, а половина равна единице, тогда функция сбалансирована. Алгоритм Дойча позволяет определить класс функции за один запуск алгоритма, в отличие от классического
способа, в котором требуется проверить функцию сначала
для аргумента 0, а затем для аргумента 1, то есть требуется
два запуска. Если в алгоритме Дойча после измерения кубита получено состояние 0, то функция является константной,
если же получено состояние 1, то функция сбалансирована.
Алгоритм Дойча – Йожи – квантовый алгоритм, подобный алгоритму Дойча, с тем отличием, что на вход функции
поступает несколько аргументов (каждый из которых равен
0 или 1), а выходное значение всегда одно: 0 или 1. Функция
является константной, если при любом наборе входных аргументов она всегда выдает одно и то же значение. Сбалансированная функция для одной половины возможных наборов аргументов выдает 0, а для другой – выдает 1. Алгоритм
190
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
