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

Введение в квантовые компьютеры

.pdf
Скачиваний:
0
Добавлен:
12.08.2026
Размер:
1 Мб
Скачать

ОБРАТИМЫЕ ЛОГИЧЕСКИЕ ВЕНТИЛИ

61

Рис. 9.3. Схема последовательности операций (9.4)

к битам b, c и d снова применяется вентиль CCN. Наконец, вентиль CN применяется к битам b и c. В результате этих операций значение бита c будет равно сумме битов a и b, а значение бита d будет являться новым переносом.

Рис. 9.4. Схема вентиля Фредкина

Убедимся в том, что последовательность вентилей (9.4) задает сумматор для начальных значений a = b = c = 1. Последующие значения битов даны в табл. 9.5, где во второй строке даны начальные значения битов. После действия вентиля CCN(abd) значение контролируемого бита изменяется, т. к. a = b = 1. Вентиль CN изменяет значение b, поскольку a = 1. Вентиль CCN(bcd) не изменяет значение

62

ГЛАВА 9

битов так же, как и вентиль CN(bc), т. к. один из контролирующих битов b = 0. В результате мы получим правильное значение суммы и переноса: c = 1, d = 1. Последовательность операций (9.4) можно изобразить с помощью схемы, показанной на рис. 9.3. Четыре стрелки на схеме обозначают действие вентилей CCN и CN.

Таблица 9.6. Таблица истинности для вентиля Фредкина

ai

bi

ci

 

af

bf

cf

 

 

 

 

 

 

 

 

 

0

0

0

 

0

0

0

 

 

 

 

 

af = ai

 

0

0

1

 

0

0

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

,

ai = 0,

0

1

1

 

0

1

1

 

bf

=

ci

1

0

0

 

1

0

0

 

 

 

bi

 

 

 

0

1

0

 

0

1

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

cf

 

 

ci

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

,

 

ai = 1

1

0

1

 

1

1

0

 

 

 

 

 

 

 

 

 

 

 

 

bi

 

 

1

1

0

 

1

0

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

1

1

 

1

1

1

 

 

 

 

 

 

 

 

Таблица 9.7. Таблица истинности для вентиля Фредкина в случае, когда i = 1

ai

bi

 

af

bf

cf

0

0

 

0

0

0

0

1

 

0

1

0

1

0

 

1

0

0

1

1

 

1

0

1

В заключение, в табл. 9.6 и на рис. 9.4 показаны таблица истинности и схема обратимого трехбитового вентиля Фредкина, который также называют контролируемым обменом (CONTROL-EXCHANGE). Контролирующий бит ai не меняет своего значения, а контролиру-

ОБРАТИМЫЕ ЛОГИЧЕСКИЕ ВЕНТИЛИ

63

емые биты bi и ci изменяются лишь в том случае, когда ai = 1. Вентиль Фредкина также является универсальным и может быть использован для получения любой логической операции [47]. Например, при ci = 0 получим таблицу истинности 9.7, откуда видно, что значение

cf = aibi,

(9.5)

поэтому в итоге имеем вентиль AND.

ГЛАВА 10

Квантовые логические вентили

В отличие от цифровых, квантовые логические вентили обычно действуют на суперпозицию цифровых состояний и могут быть представлены в виде операторов или матриц. Рассмотрим матрицу A с матричными элементами Aik . Матрица A, сопряженная с матрицей A, имеет следующие матричные элементы:

(A)ik = Aki,

(10.1)

где звездочкой обозначено комплексное сопряжение. Например, для матриц

A = i

 

0 ,

 

B =

i

0

 

 

 

 

(10.2)

 

0

 

i

 

 

 

 

0

 

i

 

 

 

 

 

сопряженными будут являться матрицы

 

0i ,

 

 

A=

−i

 

0i ,

B

= i

 

(10.3)

 

0

 

 

 

 

 

 

 

 

0

 

 

 

 

 

 

т. к.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(A) = A

=

i, (A) = A

=

i,

12

21

 

 

 

 

 

21

 

12

 

 

 

(B) = B

 

=

i, (B

) = B

 

= i.

12

21

 

 

 

 

21

 

 

12

 

 

 

Матрицы A и B обладают особыми свойствами. Например, для матрицы B мы имеем B= B. Матрицы, которые совпадают со своими сопряженными матрицами, называются эрмитовыми. С их помощью записывают физические величины, которые можно измерить экспериментально, т. е. энергию, проекцию спина (внутренний угловой момент), проекцию магнитного момента и т. д. В частности, матрица (1/2)B описывает y-компоненту спинов электрона или протона.

КВАНТОВЫЕ ЛОГИЧЕСКИЕ ВЕНТИЛИ

65

Для обеих матриц A и B выполняются важные соотношения:

AA = AA= E, BB = BB= E,

(10.4)

где E — единичная матрица,

E =

1

0

(10.5)

0

1 .

Равенство (10.4) можно проверить, исходя из того, что произведение двух произвольных матриц A и B равно

(AB)ik = AinBnk,

(10.6)

где предполагается суммирование по повторяющемуся индексу n. Тогда

(AA)11 = A11A11 + A12A12 = 0 · 0 + (−i) · i = 1,

(AA)22 = A21A12 + A22A22 = (−i) · i + 0 · 0 = 1,

(10.7)

(AA)12 = A11A12 + A12A22 = 0,

(AA)21 = A21A11 + A22A21 = 0.

Матрицы, удовлетворяющие уравнению (10.4), называются унитарными. Временная´ эволюция квантово-механических систем представляется в виде унитарной матрицы, поэтому квантовые логические вентили можно также представить в виде таких матриц (или операторов).

Например, рассмотрим квантовый вентиль NOT (N), который преобразует основное состояние |0 в возбужденное |1 и наоборот, т. е. действует подобно цифровому вентилю НЕ. Для состояния суперпозиции квантовый вентиль N дает следующее преобразование:

N · (c0|0 + c1|1 ) = c0|1 + c1|0 ,

(10.8)

где c0 и c1 — комплексные амплитуды состояний. Для начального состояния Ψ = (c0|0 + c1|1 ) |c0|2 является вероятностью нахождения

66

ГЛАВА 10

системы в состоянии |0 , a |c1|2 — вероятностью нахождения системы в состоянии |1 . После действия оператора N картина становится обратной, т. е. |c0|2 — вероятность нахождения системы в состоянии |1 , a |c1|2 — вероятность нахождения системы в состоянии |0 . При этом, конечно, |c0|2 + |c1|2 = 1.

Если представить состояния |0 и |1 в виде вектор-столбцов,

|0 =

0

≡ α,

|1 =

1

≡ β,

(10.9)

 

1

 

 

0

 

 

то вентиль N можно представить в виде следующей матрицы:

N =

0

1

(10.10)

1

0 .

Заметим, что эта матрица является одновременно унитарной и эрмитовой. (Матрица (1/2)N описывает x-компоненту спинов электрона или протона.) Можно убедиться, что

N α = β, N β = α.

(10.11)

Действительно, для любой квадратной матрицы R и вектор-столбца ρ произведение является вектор-столбцом со следующими матричными элементами:

()i = Rinρn.

(10.12)

Например,

 

(N α)1 = N11α1 + N12α2 = 0 + 0 = 0,

(N α)2 = N21α1 + N22α2 = 1 ·

(10.13)

1 + 0 = 1.

Квантовый вентиль можно представить не только в виде квадратных матриц (типа (10.10)), но также в виде суммы так называемых операторов Хаббарда, Xik (i, k = 1, 2). Оператор Xik — это квадратная матрица, имеющая единичный матричный элемент на пересечении i-й строки и k-го столбца, при этом все остальные матричные элементы равны нулю. Например,

X11 =

0

0 ,

X12 =

0

0 .

(10.14)

 

1

0

 

0

1

 

КВАНТОВЫЕ ЛОГИЧЕСКИЕ ВЕНТИЛИ

67

Такие матрицы удобно умножать, поскольку они удовлетворяют простому правилу:

Xik Xmn = Xinδ ,

(10.15)

 

 

 

km

 

где

 

0,

k = m.

 

δkm =

 

 

 

1,

k = m,

 

Например,

 

 

 

 

X12X21 = X11,

X12X11 = 0,

(10.16)

и т. д. Используя операторы Хаббарда, вентиль N можно представить как

N = X12 + X21.

(10.17)

Можно также представить квантовый вентиль с помощью обозначений Дирака. Тогда матрица Xik будет иметь вид:

Xik = |i − 1 k − 1|.

(10.18)

Видно, что оператор X11 соответствует значению |0 0|, оператор X12 — значению |0 1| и т. д. Действие оператора (10.18) можно найти, используя следующее простое правило:

i|k = δik .

(10.19)

Согласно этому правилу операция умножения квадратной матрицы |i k| и вектор-столбца |n определяется выражением

|i k|n = |i δkn,

(10.20)

а умножение квадратных матриц выполняется по нижеследующей схеме:

|i k|m n| = |i n|δkm.

(10.21)

В обозначениях Дирака оператор N выглядит следующим образом:

N = |0 1| + |1 0|.

(10.22)

68

ГЛАВА 10

Первый член в выражении (10.22) отвечает за преобразование |1 → → |0 , а второй член — за обратное преобразование |0 → |1 :

N |1 = |0 1|1 + |1 0|1 = |0 ,

(10.23)

N |0 = |0 1|0 + |1 0|0 = |1 .

Легко проверить, что оператор N является унитарным. Действительно, в обозначениях Дирака

N N = (|0 1|+ |1 0|)(|1 0| + |0 1| = |0 0|+ |1 1| = E. (10.24)

В выражении (10.24) мы использовали то свойство, что оператор |i j| сопряжен с оператором |j i|.

ГЛАВА 11

Двух- и трехбитовые квантовые логические вентили

Квантовый логический вентиль CONTROL-NOT (CN) можно описать с помощью следующего оператора:

CN = |00 00| + |01 01| + |10 11| + |11 10|.

(11.1)

Вентиль CN — это двухкубитовый оператор, в котором первый кубит является контролирующим, а второй — контролируемым. Если контролирующий кубит находится в основном состоянии |0 , то контролируемый кубит не меняет своего значения после действия вентиля CN. Данная ситуация описывается первыми двумя членами в выражении (11.1). В противном случае контролируемый кубит изменяет значение. Этому событию соответствуют третий и четвертый члены выражения (11.1). Оператор CN так же, как и оператор N, является унитарным и эрмитовым,

(CN)= CN,

(11.2)

CN · (CN)= |00 00| + |01 01| + |10 10| + |11 11| = E.

В десятичной системе вентиль CN можно записать в следующем виде:

CN = |0 0| + |1 1| + |2 3| + |3 2|,

(11.3)

где

|01 → |1 ,

 

|00 → |0 ,

 

|10 → |2 ,

|11 → |3 .

 

70

ГЛАВА 11

Матричная форма оператора CN в десятичном представлении следующая:

 

 

1

0

0

0

 

 

CN =

0

1

0

0 .

(11.4)

 

0

0

1

0

 

 

 

0

0

0

1

 

 

 

 

 

 

 

 

Матричный элемент (CN)ik соответствует члену |i k|, где i k отсчитываются о нуля в выражении (11.4). Запишем |0 , |1 , |2 , |3 в виде вектор-столбцов,

 

1

 

0

 

0

 

0

 

α =

0 ,

β =

1 ,

γ =

0 ,

δ =

0 .

(11.5)

 

0

 

0

 

0

 

1

 

 

0

 

0

 

1

 

0

 

 

 

 

 

 

 

 

 

 

Действие матрицы (11.4) на любой из вектор-столбцов в выражении (11.5) соответствует действию оператора (11.3) на то же самое состояние. Например,

CN|2 = (|0 0| + |1 1| + |2 3| + |3 2|)|2 = |3 2|2 = |3 . (11.6)

В матричной форме i-й элемент матрицы (CNγ) определяется выражением

(CNγ)i = (CN)ik γk = (CN)i2γ2 =

 

0,

i = 0, 1, 2.

(11.7)

 

 

1,

i = 3,

 

Таким образом, из (11.7) следует, что

 

 

 

 

CNγ = δ,

 

 

 

(11.8)

что соответствует выражению (11.6) в матричной форме. Трехкубитовый вентиль Фредкина (вентиль F) можно описать

при помощи следующего оператора:

F = |000 000| + |001 001| + |010 010| + |011 011|+

+ |100 100| + |101 110| + |110 101| + |111 111|. (11.9)

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]