Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Квантовые вычисления. Теория и практика. Учебник

.pdf
Скачиваний:
3
Добавлен:
07.09.2026
Размер:
2 Мб
Скачать
Приложение 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