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

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

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

Чтение схем квантовых цепей

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

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

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

  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$:

Схема цепи, представляющая управляемую операцию.

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

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

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

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

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

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

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

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

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

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

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

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

Пример. Схема цепи телепортации

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

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

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

На следующей схеме цепи показан протокол телепортации:

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

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

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

Дальнейшие действия