Обозначения на схемах квантовых цепей

Иногда квантовые алгоритмы проще понять на схеме каналов, чем в эквивалентном письменном представлении матрицы. В этой статье объясняется, как читать схемы квантовых цепей и их условности.

Дополнительные сведения см. в статье "Визуализация схем квантовых каналов".

Чтение схем квантовых каналов

В квантовой цепи время течет слева направо. Квантовые ворота упорядочиваются в хронологическом порядке, при этом первыми к кубитам применяются крайние ворота слева.

Рассмотрим следующую схему квантовых каналов в качестве примера:

Схема квантовой цепи с двумя регистрами, одним хадамардовским оператором, одним контролируемым оператором и одним измерением.

  1. Регистр кубитов: регистры кубитов отображаются как горизонтальные линии, при этом каждая строка представляет кубит. Верхняя строка — кубитовая регистрация с меткой 0, вторая строка — это кубитовая регистрация с меткой 1 и т. д.
  2. Квантовые ворота: квантовые операции представлены квантовыми воротами. Термин квантовый вентиль является аналогом классических логических вентилей. Ворота, действующие на один или несколько регистров кубита, обозначаются в виде коробки. В этом примере символ представляет операцию Hadamard.
  3. Контролируемые ворота: контролируемые ворота действуют на два или более кубитов. В этом примере символ представляет ворота CNOT. Черный круг представляет кубит элемента управления, а крест внутри круга представляет target кубит.
  4. Операция измерения: символ измерения представляет операцию измерения. Операция измерения принимает регистр кубитов в качестве входных данных и выдает классическую информацию.

Применение квантовых шлюзов

Так как время проходит слева направо, левые ворота применяются первыми, например, действие следующей квантовой схемы — это унитарная матрица $CBA$.

Схема квантовых ворот, применяемых слева направо в квантовом канале.

Примечание.

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

Входы и выходы квантовых цепей

На схеме квантовых каналов провода, вводимые квантовыми воротами, представляют кубиты, входные в квантовые ворота, и провода, выходя из квантовых ворот, представляют кубиты, которые выводятся из квантовых ворот.

Число входных данных квантового шлюза равно количеству выходных данных квантовых ворот. Это связано с тем, что квантовые операции являются унитарными и, следовательно, обратимыми. Если квантовые ворота имеют больше выходных данных, чем входные данные, это не будет обратимо и, следовательно, не унитарным, что является противоречием.

По этой причине любой прямоугольник, нарисованный на схеме цепи, должен иметь одинаковое число проводов на входе и на выходе.

Операции с несколькими кубитами

Схемы многокубитных цепей составляются аналогично схемам однокубитных цепей. Например, двухкубитная унитарная операция $B$ может быть определена $как (H S\otimes X),$ поэтому эквивалентный квантовый канал имеет следующий тип:

Схема двухкубитовой унитарной операции.

Можно также рассмотреть $B$ как действие с одним двухкубитным регистром, а не с двумя однокубитными регистрами, в зависимости от контекста использования цепи.

Возможно, наиболее полезным свойством таких абстрактных схем является то, что они позволяют описывать сложные квантовые алгоритмы на высоком уровне без необходимости их компиляции в базовые элементы. Это означает, что можно разработать идеи о потоках данных в больших квантовых алгоритмах без необходимости изучения всех сведений о том, как работает каждая из подпрограмм в алгоритме.

Контролируемые ворота

Квантовые контролируемые вентили — это двухкубитовые вентили, которые применяют однокубитовый вентиль к target кубиту, когда контрольный кубит находится в определённом состоянии.

Например, рассмотрим квантовые управляемые ворота, обозначаемые $\Lambda(G)$, где значение одного кубита управляет применением операции $G$. Управляемые ворота $\Lambda(G)$ можно понять, рассмотрев следующий пример входных данных состояния объекта:

$$\Lambda(G) (\alpha\ket{{0} + \beta\ket{1}) \ket{\psi}=\alpha\ket{{0}\ket{\psi} + \beta\ket{{1} G\ket{\psi}$$

Другими словами, управляемые ворота применяют $G$ к регистру, содержащему $\psi$, если и только если управляющий кубит принимает значение $1$. Как правило, такие управляемые операции описаны на схемах каналов следующим символом:

Схема единственно управляемых ворот.

Черным кружком обозначен квантовый бит, из которого идет управление воротами, а вертикальный провод обозначает унитарность, которая применяется, когда управляющий кубит принимает значение $1$.

В особых случаях, когда $G=X$ и $G=Z$, для описания управляемой версии ворот используется следующая нотация (обратите внимание, что контролируемые ворота X — это ворота CNOT):

Схема схемы для особых случаев контролируемых ворот.

Q# позволяет применять методы автоматического создания управляемой версии операции, которая освобождает программиста от необходимости писать код этих операций вручную. Такой пример приведен далее:

operation PrepareSuperposition(qubit : Qubit) : Unit
is Ctl { // Auto-generate the controlled specialization of the operation
    H(qubit);
}

Классически контролируемые ворота

Квантовые ворота также можно применять после измерения, используя результат измерения в качестве классического управляющего бита.

Следующий символ представляет классически управляемый вентиль, где $G$ применяется при условии, что классический управляющий бит имеет значение $1$.

Принципиальная схема, обозначающая контролируемую операцию.

Оператор измерения

Операции измерения принимают регистр кубитов, измеряют его и выводят результат в качестве классической информации.

Операция измерения обозначается символом счетчика и всегда принимает в качестве входных данных регистр кубита (обозначается сплошной линией) и выводит классическую информацию (обозначается двойной линией). В частности, символ операции измерения выглядит следующим образом:

Символ, представляющий операцию измерения.

Q# В Measureоператоре реализуется операция измерения.

Пример: унитарное преобразование

Рассмотрим унитарное преобразование $\text{CNOT}_{01}(H\otimes 1)$. Эта последовательность ворот имеет основополагающее значение для квантовых вычислений, так как она создает максимально запутанное двухкубитное состояние:

$$\text{CNOT}_{01}(H\otimes 1)\ket{00}=\frac{1}{\sqrt{2}} (\ket{{00} + \ket{11})$$

Операции такой или более высокой сложности повсеместны в квантовых алгоритмах и исправлении квантовых ошибок.

Схема цепи для подготовки этого максимально запутанного квантового состояния:

Схема для максимально запутанного двухкубитного состояния.

Символ за воротами Адамара представляет ворота CNOT, где чёрный круг указывает на управляющий кубит, а крест в круге обозначает кубит target. Для работы этой квантовой цепи используются два кубита (или два регистра, состоящие из одного кубита).

Пример: схема канала телепортации

Квантовое телепортирование является одним из лучших квантовых алгоритмов для иллюстрации компонентов канала.

Квантовое телепортирование — это протокол, позволяющий передавать квантовое состояние из одного кубита в другой с помощью общего спутанного состояния между отправителем и получателем и классическим обменом данными между ними.

В целях обучения отправитель называется Алиса, получатель называется Бобом, а кубит, который должен быть телепортирован, называется кубитом сообщения. Алиса и Боб держат один кубит каждый, и Алиса имеет дополнительный кубит, который является кубитом сообщения.

Следующая схема электрической цепи иллюстрирует протокол телепортации.

Схема квантового канала протокола телепортации.

Давайте разберем шаги протокола телепортации:

  1. Кубит регистр q0 является кубитом сообщения, кубит регистр q1 является кубитом Алисы, а кубит регистр q2 является кубитом Боба. Кубит сообщения находится в неизвестном состоянии, а кубиты Алисы и Боба находятся в $\ket{0}$ состоянии.
  2. Врата Адамара применяются к кубиту Алисы. Так как кубит находится в $\ket{0}$ состоянии, итоговое состояние — $\frac{1}{\sqrt{{2}}(\ket{{0} + \ket{1})$.
  3. Ворота CNOT применяются к кубитам Алисы и Боба. Кубит Алисы является контрольным кубитом, и кубит Боба является target кубитом. Итоговое состояние — $\frac{{1}{\sqrt{2}}(\ket{00} + \ket{{11})$. Алиса и Боб теперь разделяют состояние квантовой запутанности.
  4. Ворота CNOT применяются к кубиту сообщения и кубиту Алисы. Так как кубит Алисы также запутан с кубитом Боба, результирующее состояние является трехкубитным запутанным состоянием.
  5. К кубитам сообщения применяется шлюз Hadamard.
  6. Алиса измеряет свои два кубита и сообщает результаты измерения Бобу, что не отражается в схеме. Результаты измерения являются двумя классическими битами, которые могут принимать значения 00, 01, 10 или 11.
  7. Два классически контролируемых ворота Паули X и Z применяются к кьюбиту Боба в зависимости от значения бита $результата 1$. Итоговое состояние — исходное состояние кубита сообщения.