Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Квантовые вычисления. Теория и практика. Учебник
.pdf
1.13. Сфера Блоха
ла, но сфера Блоха – это модель, с помощью которой можно изобразить любое состояние кубита. Одному состоянию
кубита будет соответствовать одна точка на сфере Блоха.
Правда, обратное не соблюдается: например, для состояний
|1 и – |1 на сфере Блоха предусмотрена только одна точка –
самая нижняя на сфере. Но это не страшно – отличие здесь
только в общей фазе.
|0²
z
|\²
T
M
x
|1²
Рис. 1.4. Сфера Блоха
y
Также полезно знать формулы, по которым можно вычислить координаты x, y и z вектора состояния кубита
на сфере Блоха, зная величину углов и :
sin cosx ;
sin siny
;
cosz .
Для рассмотренного ранее вектора состояния найдем координаты на сфере Блоха:
sin cos 0
x
;
32
41

Глава 1. Основные понятия квантовых вычислений
sin sin
y
3
;
322
cos
z.
1
32
Воздействие каждой из матриц Паули на состояние кубита с помощью сферы Блоха можно легко представить как
вращение вектора состояния вокруг соответствующей оси x,
y или z на 180 градусов.
1.14. Теорема о запрете клонирования
Несмотря на то, что состояние кубита можно разными
способами менять с помощью операторов, в квантовых вычислениях отсутствует такая, казалось бы, простая операция, как клонирование состояния кубита. Конечно, зная,
из какого исходного состояния и с помощью каких операторов приготовлено состояние кубита, можно применить те же
операторы к другому кубиту в данном исходном состоянии и
получить такое же итоговое состояние. Есть также возможность перенести состояние одного кубита на другой кубит,
например с помощью квантовой телепортации. Помимо этого, существует также простой способ произвести обмен состояниями для двух кубитов – оператор SWAP, о котором
мы поговорим позже.
Но способа, с помощью которого можно скопировать произвольное неизвестное состояние одного кубита и перенести
его на другой (без разрушения этого состояния на первом
кубите), к сожалению, не существует. То, что отсутствует
такой способ, и является сутью теоремы о запрете клонирования.
Эту теорему можно доказать от обратного, предположив,
что существует оператор U, производящий клонирование состояния. Для начала напишем, как этот оператор клониру-
42

1.14. Теорема о запрете клонирования
ет базисные состояния вычислительного базиса. Кубит, состояние которого клонируется, мы будем записывать слева,
а кубит, на который производится запись состояния, – справа. Будем считать, что изначально правый кубит находится
в состоянии 0, и затем это состояние сменяется копируемым
состоянием a:
0Ua aa .
Аналогичную операцию запишем для состояния b, отличного от состояния a:
0Ub bb .
Теперь возьмем в качестве копируемого состояния суперпозицию состояний a и b с некоторыми амплитудами k
ckakb.
12
и k2:
1
Есть два способа, как можно расписать применение оператора клонирования такого состояния. Сначала запишем
первый способ:
0
Uc cc ka kb ka kb
22
kaakkabkkbakbb
112122
1212
.
Теперь запишем второй способ:
0|000Uc U k a k b U k a k b
12 1 2
00Uk a Uk b k aa k bb.
1212
Оба способа записи являются правомерными, и в случае
существования оператора клонирования они должны приводить к одному и тому же результату, но мы видим, что ответы получаются разными. Мы приходим к противоречию,
из чего можно сделать вывод, что оператора клонирования
не существует. Позже, при разборе сложных квантовых алгоритмов, мы увидим, что отсутствие такого оператора не является помехой для квантовых вычислений.
43

Глава 1. Основные понятия квантовых вычислений
1.15. Изображение квантовой схемы
Последовательность операторов, применяемых к системе
кубитов, можно записывать не только в виде вычислений, но
и в виде квантовой схемы – удобного способа записи операций над кубитами. На схеме изображено получение состояния суперпозиции для верхнего кубита и применение оператора X к нижнему кубиту:
H
|0²
X
|0²
На такой схеме кубит изображается в виде прямой линий, а операторы – в виде значков, расположенных слева направо согласно последовательности, в которой эти операторы
действуют. По умолчанию кубиты находятся в состоянии 0,
что и указано на схеме, приведенной в виде примера (когда
начальное состояние не указывается, также подразумевается, что это состояние 0). В самом правом участке схемы, как
правило, располагаются значки, обозначающие измерение
(на данной схеме измерение отсутствует).
В процессе разбора квантовых алгоритмов мы будем использовать как квантовые схемы, так и расчеты с матрицами. Переведем схему в примере в расчеты. Но сначала нужно
сказать, что есть два способа такого перевода. Один – общепринятый (наиболее часто встречающийся в книгах и статьях), другой – по версии библиотеки Qiskit. В версии Qiskit
верхний кубит принято записывать в кет-векторе как находящийся справа, а нижний – слева. Версия Qiskit наиболее
логична, так как нумерация кубитов идет на схеме сверху
вниз, и при записи состояния системы кубитов в кет-векторе
(в бра-векторе тоже) логично ставить кубит с наименьшим
индексом справа, как при записи разрядов чисел, когда
младшие разряды находятся правее.
44

1.15. Изображение квантовой схемы
В этом учебнике мы будем использовать как общепринятое обозначение, так и обозначение по версии Qiskit. Мы
будем указывать, какое обозначение используется в том или
ином примере, кроме случаев, когда это понятно без указания. Имеет смысл уметь понимать как одно обозначение,
так и другое. Например, состояние, полученное в результате
применения операторов к кубитам на вышеприведенной схеме, в общепринятой версии выглядит так:
0
А в версии Qiskit так:
0 0 01 11
HX
0 0 10 11
XH
11
22
11
22
1
0
1
0
0
1
1
.
.
Другая тонкость, которую нужно понимать: на квантовой схеме операторы, действующие раньше по времени, располагаются ближе к вектору состояния кубита, то есть левее.
В математических же расчетах кет-вектор находится справа
от оператора (или нескольких операторов), так что операторы, применяемые раньше, находятся правее, то есть опятьтаки ближе к начальному состоянию кубита. Приведем пример схемы:
X H
|0²
А вот как это выглядит в расчетах:
0HX .
45

Глава 1. Основные понятия квантовых вычислений
Согласно правилам линейной алгебры можно сначала перемножить два данных оператора и полученный результирующий оператор умножить на вектор состояния:
11 1 1
1111
11 0 1
2222
11100
2
01.
11 01 1
1
0
HX
Либо можно сначала умножить на вектор состояния ближайший к нему оператор, получив новое состояние, а затем
умножить следующий оператор на это новое состояние:
11 0 1
1111
111 1
2222
11100
2
01.
11 01 1
1
0
HX
В каких-то случаях будет удобно последовательно умножать вектор состояния кубита на операторы, а в других – получать результирующий оператор, который затем будет умножаться на вектор состояния.
1.16. Квантовые вентили S и
T
Не всегда удается ограничиться операторами, поворачивающими вектор состояния кубита на 180 градусов, иногда
требуются меньшие значения. Одни из представителей таких операторов – квантовые вентили S и T, совершающие
вращение вектора состояния вокруг оси z. Вентиль S можно
представить как квадратный корень из оператора Z:
10
46
S
0
.
i
2
e

1.16. Квантовые вентили S и
T
Видно, что элемент, содержащийся в правом нижнем
углу матрицы, отвечает за вращение на угол 90 градусов.
Но можно записать квантовый вентиль S и в более простом
варианте, изменив форму комплексного числа с показательной на алгебраическую:
10
.
0Si
Легко заметить, что в отличие от матриц Паули вентиль
S не является эрмитовым, так как содержит на главной диагонали комплексное число с ненулевой мнимой частью. Оператор S является унитарным, то есть при умножении его
на вектор единичной длины результирующий вектор также
будет единичным.
Так как вентиль S унитарный, но не эрмитовый, повторное его применение не вернет кубит в изначальное состояние, а будет равносильно применению оператора Z. Вентиль
S обозначается на квантовой схеме таким образом:
S
Вентиль T производит вращение вокруг оси z на вдвое
меньший угол (по сравнению с вентилем S) – на 45 градусов:
10
T
0
.
i
4
e
Обозначение вентиля T на квантовой схеме:
T
Этот оператор так же, как и оператор S, является унитарным, но не эрмитовым. Двукратное применение вентиля T
равносильно применению вентиля S.
47

Глава 1. Основные понятия квантовых вычислений
Контрольные вопросы
1. Что такое кубит? В чем его отличие от классического
бита?
2. Опишите опыт Штерна – Герлаха. В чем его результа-
ты расходятся с представлениями классической физики?
3. Какие физические объекты могут быть использованы
в качестве кубитов?
4. Расскажите про плюсы и минусы известных вам реа-
лизаций квантовых компьютеров.
5. Что такое суперпозиция?
6. Как связаны амплитуды состояний и вероятности по-
лучить определенный результат измерения?
7. Какими способами можно записать состояние кубита?
8. В чем различие бра- и кет-векторов?
9. Каким образом можно сделать одну из амплитуд состояния кубита действительным числом, если первоначально
обе амплитуды представлены комплексными числами?
10. Перечислите операции, которые можно применять
к векторам в гильбертовом пространстве.
11. Каким образом в гильбертовом пространстве над полем комплексных чисел определяется скалярное произведение, применяемое в расчетах с векторами состояний?
12. Сколько измерений должно иметь гильбертово пространство над полем комплексных чисел для того, чтобы
можно было описать состояние одного кубита?
13. Для чего в квантовых вычислениях применяют тензорное произведение?
14. Расскажите про сходство и различие оператора X и логического оператора НЕ.
15. Какие логические операции в классических вычислениях являются обратимыми, а какие – необратимыми?
16. Всегда ли оператор Адамара приводит кубит в состояние суперпозиции?
48

КОНТРОЛЬНЫЕ ВОПРОСЫ
17. Приведите пример операторов, являющихся и эрмитовыми, и унитарными.
18. Для каких целей можно применять правило Борна?
19. Какие ограничения существуют в квантовых вычислениях согласно теореме о запрете клонирования? Какие
способы получения копии состояния кубита вы знаете, почему они не подпадают под действие теоремы о запрете клонирования?
20. Чем может быть полезна сфера Блоха для описания
состояния кубита?
21. Каким образом могут быть использованы результаты
измерений кубитов для решения различных задач в квантовых вычислениях?
22. Почему операторы, применяемые к состоянию кубита, должны быть унитарными?
23. Чему равносильно повторное применение операторов
S и T?

ГЛАВА 2. МНОГОКУБИТНЫЕ ОПЕРАЦИИ
2.1. Оператор
Квантовые схемы не могут включать некоторые операции, которые легко можно реализовать в классических вычислениях, например циклы или ветвления. Это не очень
критично, так как специфические задачи, выполняемые
с помощью квантовых вычислений, как правило, не требуют таких действий. Но даже если требуется добавить, к примеру, циклы, то вполне можно использовать классические
вычисления совместно с квантовыми. В этом случае квантовая схема будет запускаться несколько раз классическим
компьютером. Мы увидим различные примеры, в которых
требуется взаимодействие классического и квантового компьютера, позже, когда будем изучать алгоритмы, например
алгоритм Гровера или алгоритм Шора.
Что касается операций ветвления, когда программа выбирает тот или иной вариант действий на основе выбора
из нескольких условий, то в квантовых вычислениях нет
простых универсальных возможностей для создания таких
участков программ. Тем не менее в квантовых вычислениях
есть возможность менять состояние одного кубита в зависимости от состояния другого. Есть также и более сложные
варианты, когда состояние нескольких кубитов меняется
в зависимости от состояния одного кубита или когда состояние многих кубитов может влиять на состояние одиночного кубита.
Такие операторы можно называть условными операторами. Мы начнем их изучение с самого простого случая – оператора CNOT (сокращение от Controlled NOT). Его можно
представить в виде матрицы 4 на 4, и воздействует он на два
кубита, один из которых мы будем называть управляющим,
а другой – целевым (управляемым). В том случае, когда
CNOT
50
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
