Обозначения Дирака

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

Ограничения нотации для вектора-столбца

Хотя нотация вектора столбцов распространена в линейной алгебре, она часто является громоздкой в квантовых вычислениях, особенно при работе с несколькими кубитами. Например, когда вы определяете $\psi$ как вектор, то не всегда очевидно, является ли $\psi$ вектором-строкой или вектором-столбцом. Таким образом, если $\phi$ и $\psi$ — векторы, то опять-таки непонятно, задан ли $\phi\psi$, поскольку в определенном контексте формы $\phi$ и $\psi$ могут быть не совсем ясны. Помимо неоднозначности в формах векторов, выражение даже простых векторов с использованием линейной алгебраические нотации может иметь громоздкий вид. Например, если вам нужно описать $n$-кубитное состояние, в котором каждый кубит принимает значение $0$, то формально выразите состояние как

$$\begin{bmatrix}1 \\ 0 \end{bmatrix}\otimes\cdots\otimes\begin{bmatrix}1 \\ 0 \end{bmatrix}. $$

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

Типы векторов в нотации Дирака

В нотации Дирака существует два типа векторов: вектор bra и вектор ket, которые при объединении образуют название braket или внутреннее произведение. Если $\psi$ — вектор-столбец, то вы можете записать в нотации Дирака: $\ket{\psi}$, где $\ket{\cdot}$ обозначает, что это унитарный вектор-столбец, например вектор ket. Точно так же вектор-строку $\psi^\dagger$ можно выразить как $\bra{\psi}$. Другими словами, для получения $\psi^\dagger$ необходимо применить комплексное сопряжение в виде записей к элементам транспонирования $\psi$. Нотация бра-кет напрямую подразумевает, что $\braket{\psi|\psi}$ – внутреннее произведение вектора $\psi$ и самого себя, что по определению равно $1$.

В общем случае, если $\psi$ и $\phi$ являются векторами квантового состояния, то их внутреннее произведение равно $\braket{\phi|\psi}$. Это внутреннее произведение подразумевает, что вероятность того, что при измерении состояния $\ket{\psi}$ будет получен результат $\ket{\phi}$, равна $|\braket{\phi|\psi}|^2$.

Ниже приведен прием, который используется для описания квантовых состояний, которые кодируют значения 0 и 1 (однокубитные состояния на вычислительной базе):

$$\begin{bmatrix} 1 \\ 0 \end{bmatrix}=\ket{{0},\qquad\begin{bmatrix} 0 \\ 1 \end{bmatrix}=\ket{{1}. $$

Пример. Представление операции Адамара с помощью нотации Дирака

Следующую нотацию часто используют для описания состояний, возникающих в результате применения вентиля Адамара к $\ket{0}$ и $\ket{1}$. Эти состояния соответствуют единичным векторам в направлениях $+x$ и $-x$ в сфере Блоха:

$$\frac{1}{\sqrt{{2}}\begin{bmatrix} 1 \\ 1 \end{bmatrix}=H\ket{0}=\ket{+},\qquad\frac{1}{\sqrt{{2}}\begin{bmatrix} 1 \\ -1 \end{bmatrix}=H\ket{{1}=\ket{{-} . $$

С помощью нотации Дирака эти состояния также можно развернуть в виде сумм $\ket{0}$ и $\ket{1}$:

$$\ket{+}=\frac{{1}{\sqrt{2}}(\ket{0} + \ket{1}),\qquad\ket{{-}=\frac{{1}{\sqrt{{2}}(\ket{{0} - \ket{1}). $$

Векторы вычислительной базы

Эти состояния часто называют вычислительной базой по следующей причине: каждое квантовое состояние всегда можно выразить в виде сумм векторов вычислительной базы, и такие суммы можно легко выразить с помощью нотации Дирака. Обратное утверждение также верно в том смысле, что состояния $\ket{+}$ и $\ket{-}$ также образуют базис для квантовых состояний. Это подтверждается тем фактом, что

$$\ket{{0}=\frac{1}{\sqrt{2}}(\ket{+} + \ket{-}),\qquad\ket{{1}=\frac{{1}{\sqrt{{2}}(\ket{+} - \ket{-}). $$

В качестве примера нотации Дирака рассмотрим braket $\braket{0 | 1}$, который является внутренним произведением $0$ и $1$. Это можно записать как

$$\braket{0 | 1}=\begin{bmatrix} 1 &ам; 0 \end{bmatrix}\begin{bmatrix}0\\ 1\end{bmatrix}=0. $$

Этот пример говорит о том, что $\ket{{0}$ и $\ket{{1}$ являются ортогональными векторами, т. е. $\braket{0 | 1}=\braket{1 | 0}=0$. Кроме того, по определению $\braket{0 | 0}=\braket{1 | 1}=1$, что означает, что два вектора вычислительной базы также можно назвать ортонормальными.

Эти ортнормальные свойства используются в следующем примере. Если у вас есть состояние $\ket{\psi}={\frac{3}{5}}\ket{{1} + {\frac{{4}{5}}\ket{0}$, то так как $\braket{1 | 0}=0$ вероятность измерения $1$ составляет

$$\big|\braket{1 |\psi}\big|^2=\left|\frac{{3}{5}\braket{1 | 1} +\frac{{4}{5}\braket{1 | 0}\right|^2=\frac{{9}{{25}. $$

Нотация тензорного произведения

Нотация Дирака также включает неявную структуру продукта тензора . Эта структура важна, поскольку в квантовых вычислениях вектор состояния, описанный двумя некоррелированными квантовыми регистрами, является тензорным произведением двух векторов состояния. Сжатое описание структуры тензорного произведения или его отсутствие имеет критически важное значение, если необходимо разъяснить квантовые вычисления. Структура тензорного произведения подразумевает, что вы можете записать $\psi\otimes\phi$ для любых двух векторов квантового состояния $\phi$ и $\psi$ как $\ket{\psi}\otimes\ket{\phi}$. Но, как правило, запись $\otimes$ между векторами не требуется, и вы можете просто записать $\ket{\psi}\ket{\phi}=\ket{\psi\phi}$. Дополнительные сведения о векторах и тензорных произведениях см. в статье Векторы и матрицы в квантовых вычислениях. Например, состояние с двумя кубитами, инициализируемыми в нулевое состояние:

$$\ket{0}\otimes\ket{0}=\ket{{0}\ket{{0}=\ket{{00}=\begin{bmatrix} 1 \\ 0 \end{bmatrix}\otimes\begin{bmatrix} 1 \\ 0 \end{bmatrix}=\begin{bmatrix} 1 \\ 0 \\ 0 \\ 0 \end{bmatrix}. $$

Аналогичным образом, состояние $\ket{p}$ для целого числа $p$ представляет квантовое состояние, которое кодирует целое число $p$ в двоичном представлении. Например, если вам нужно выразить число $5$ с помощью двоичного кода без сигнатуры, вы могли бы выразить его как

$$\ket{1}\ket{0}\ket{1}=\ket{101}=\ket{5}. $$

В этой нотации $\ket{0}$ должен ссылаться не на однокубитное состояние, а на регистр кубита, в котором хранится двоичный код $0$. Различия между этими двумя нотациями ясны из контекста. Это соглашение полезно для упрощения первого примера, который можно написать любым из следующих способов:

$$\begin{bmatrix}1 \\ 0 \end{bmatrix}\otimes\cdots\otimes\begin{bmatrix}1 \\ 0 \end{bmatrix}=\ket{{0}\otimes\cdots\otimes\ket{0}=|0\cdots 0\rangle=\ket{{0}^{\otimes n}$$

где $\ket{0}^{\otimes n}$ — тензорное произведение $n$$\ket{0}$ квантовых состояний.

Пример: описание суперпозиции с помощью нотации Дирака

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

$$ H^{\otimes n}\ket{0}=\frac{1}{2^{n/2}}\sum_{j=0}^{2^n-1}\ket{j}=\ket{+}^{\otimes n}. $$

Здесь может возникнуть вопрос, почему сумма меняется с $0$ на $2^{n}-1$ для $n$ бит. Сначала обратите внимание, что существует $2^{n}$ различных конфигураций, которые могут принять $n$ бит. В этом можно убедиться, обратив внимание на то, что один бит может принимать $2$ значения, но два бита могут принимать $4$ значения и т. д. В общем случае это означает, что существует $2^n$ различных возможных битовых строк, но наибольшее значение, закодированное в любой из них, равно $1\cdots 1=2^n-1$, и, следовательно, является верхним пределом суммы. Кроме того, стоит заметить, что в этом примере вы не использовали $\ket{+}^{\otimes n}=\ket{+}$ по аналогии с $\ket{{0}^{\otimes n}=\ket{{0}$. Это нотальное соглашение зарезервировано для вычислительного базисного состояния, при этом каждый кубит инициализирован до нуля. Хотя такое соглашение в данном случае является разумным, оно не используется в литературе по квантовым вычислениям.

Выражение линейности с помощью нотации Дирака

Еще одной особенностью нотации Дирака является ее линейность. Например, для двух комплексных чисел $\alpha$ и $\beta$ можно записать

$$\ket{\psi}\otimes ( \alpha\ket{\phi} + \beta\ket{\chi})=\alpha\ket{\psi}\ket{\phi} + \beta\ket{\psi}\ket{\chi}.$$

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

Для векторов bra и ket действуют аналогичные правила. Например, вектор $\bra{\psi}\bra{\phi}$ эквивалентен вектору состояния $\psi^\dagger\otimes\phi^\dagger=(\psi\otimes\phi)^\dagger$. Если вектор ket $\ket{\psi}$ — $\alpha\ket{0} + \beta\ket{1}$, тогда версия вектора bra будет $\bra{\psi}=\ket{\psi}^\dagger= (\bra{{0}\alpha^* +\bra{1}\beta^*)$.

Например, представьте, что требуется вычислить вероятность измерения состояния $\ket{\psi}=\frac{3}{5}\ket{{1} + \frac{4}{5}\ket{0}$ с помощью квантовой программы для измерения состояний как $\ket{+}$ или $\ket{{-}$. Затем вероятность того, что устройство выведет состояние $\ket{-}$, составляет

$$|\braket{- |\psi}|^2=\left|\frac{{1}{\sqrt{{2}}(\bra{0} - \bra{{1})(\frac{3}{5}\ket{{1} + \frac{{4}{5}\ket{0}) \right|^2=\left|-\frac{3}{5\sqrt{{2}} + \frac{{4}{5\sqrt{2}}\right|^2=\frac{{1}{{50}.$$

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

ketbra или векторное произведение

Последним элементом, заслуживающим внимания нотации Дирака, является ketbra или векторное произведение. Внешнее произведение в нотациях Дирака можно представить как $\ket{\psi}\bra{\phi}$, и его иногда называют ketbra, так как bra и ket происходят в обратном порядке в отличие от braket. Внешнее произведение определяется матричным умножением как $\ket{\psi}\bra{\phi}=\psi\phi^\dagger$ для векторов квантовых состояний $\psi$ и $\phi$. Самый простой и, вероятно, наиболее распространенный пример этой нотации

$$\ket{0}\bra{{0}=\begin{bmatrix}1\\ 0 \end{bmatrix}\begin{bmatrix}1&усилие; 0 \end{bmatrix}=\begin{bmatrix}1 &ампер; 0\\ 0 &усилий; 0\end{bmatrix}\bra{1}=\qquad\ket{1}\begin{bmatrix}0\\ 1 \end{bmatrix}\begin{bmatrix}0&ам; 1 \end{bmatrix}=\begin{bmatrix}0 &усилий; 0\\ 0 &усилий; 1\end{bmatrix}. $$

Ketbra часто называют проекторами, так как они проецируют квантовое состояние на зафиксированное значение. Так как эти операции не являются унитарными (и даже не сохраняют норму вектора), то квантовый компьютер не может детерминированно применить проектор. Однако проекторы выполняют полезную задачу, описывая воздействие, которое оказывает измерение на квантовое состояние. Например, если вы измеряете состояние $\ket{\psi}$ и получаете значение $0$, тогда результирующее преобразование состояния в результате измерения будет

$$\ket{\psi}\rightстрелка \frac{(\ket{{0}\bra{{0})\ket{\psi}}{|\braket{0 |\psi}|}=\ket{{0},$$

как и ожидалось, если вы измерили состояние и обнаружили, что оно равно $\ket{0}$. Чтобы повторно выполнить итерацию, такие проекторы нельзя детерминированно применять к состоянию на квантовом компьютере. Зато их можно применять случайным образом, при этом результат $\ket{0}$ будет отображаться с некоторой фиксированной вероятностью. Вероятность успеха такого измерения можно записать как ожидаемое значение квантового проектора в состоянии

$$\bra{\psi} (\ket{0}\bra{0})\ket{\psi}=|\braket{\psi| 0}|^2, $$

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

Если вместо этого вы рассмотрите измерение первого кубита многокубитного состояния как равное $1$, то также можете описать этот процесс с помощью проекторов и нотации Дирака в более удобной форме:

$$P(\text{первый кубит = 1})=\bra{\psi}\left(\ket{{1}\otimes{1}\bra{ \mathbf{\mathbf{1}^{\otimes n-1}\right) . \ket{\psi} $$

Здесь единичную матрицу можно записать в нотации Дирака в удобном виде

$$\mathbf{1}=\ket{0}\bra{0}+\ket{1}\begin{bmatrix}\bra{{1}=1& 0\\ 0&А; 1 \end{bmatrix}. $$

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

$$\ket{1}\bra{1}\otimes\id=\ket{{1}\bra{1}\otimes (\ket{{0}\bra{{0}+\ket{1}\bra{{1})=\ket{10}\bra{{10} + \ket{{11}\bra{{11}. $$

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

$$ P(\text{первый кубит = 1})=\psi^\dagger (e_{10}e_{10}^\dagger + e_{{11}e_{{11}^\dagger)\psi=|e_{{10}^\dagger\psi|^2 + |e_{11}^\dagger\psi|^2, $$

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

Операторы плотности

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

В общем случае заданная матрица $\rho$ является допустимым оператором плотности, если выполняются указанные ниже условия:

  • $\rho$ — это матрица комплексных чисел.
  • $\rho = \rho^{\dagger}$ (то есть $\rho$ — это эрмитова матрица).
  • Каждое собственное значение $p$ матрицы $\rho$ равно $0 <= p <= 1$.
  • Сумма всех собственных значений матрицы $\rho$ равна 1.

В совокупности эти условия гарантируют, что матрицу $\rho$ можно рассматривать как ансамбль. Оператор плотности для вектора квантового состояния $\ket{\psi}$ имеет вид $\rho =\sum_i p_i \ket{\psi_i}\bra{\psi_i}$, то есть разложение собственного значения $\rho$. В этом случае $\rho$ описывает ансамбль $\rho ={\ket{\psi_i}\text{ с вероятностью }p_i}$.

Чистые квантовые состояния — это такие состояния, которые характеризуются одним кет-вектором или волновой функцией и не могут быть записаны в виде статистического сочетания (или выпуклой комбинации) других квантовых состояний. Смешанное квантовое состояние — это статистический ансамбль чистых состояний.

На сфере Блоха чистые состояния представлены точкой на поверхности сферы, тогда как смешанные состояния представлены внутренней точкой. Смешанное состояние одного кубита представлено центром сферы с помощью симметрии. Чистоту состояния можно визуализировать как степень, в которой оно близко к поверхности сферы.

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

Оператор плотности $\rho$ представляет чистое состояние в том и только в том случае, если выполняются следующие условия:

  • $\rho$ можно записать как внешнее произведение вектора состояния $\rho=\ket{\psi}\bra{\psi}$.
  • $\rho =\rho^2$
  • $tr(\rho^2)=1$

Узнать, насколько чист определенный оператор плотности $\rho$, можно по рангу (то есть сумме диагональных элементов) матрицы $\rho^2$. Оператор плотности представляет чистое состояние в том и только в том случае, если $tr(\rho ^{2})=1$.

Q# последовательности ворот, эквивалентные квантовым состояниям

Последний важный вопрос, который следует осветить в связи с квантовыми нотациями и языком программирования Q# возвращает к началу этого документа, когда говорилось о том, что квантовое состояние является фундаментальным объектом информации в квантовых вычислениях. Вас может удивить тот факт, что в Q# отсутствует понятие квантового состояния. Все состояния описываются только операциями, используемыми для их подготовки. Это обстоятельство прекрасно проиллюстрировано в предыдущем примере. Вместо выражения единообразной суперпозиции каждой квантовой битовой строки в регистре вы можете представить результат как $H^{\otimes n}\ket{0}$. Это экспоненциально более короткое описание состояния не только имеет то преимущество, что можно аргументировать его в рамках классической модели, но оно также четко определяет операции, которые необходимо распространить через программный стек для реализации алгоритма. По этой причине Q# предназначен для создания последовательностей ворот, а не квантовых состояний, однако на теоретическом уровне эти две перспективы эквивалентны.

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