Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Некоторая степень знакомства с линейной алгеброй необходима для понимания квантовых вычислений. В этой статье представлены основные понятия линейной алгебры и способы работы с векторами и матрицами в квантовых вычислениях.
Векторы
Вектор-столбец, коротко называемый «вектор», размерности (или размера) n - это коллекция n комплексных чисел (v_1,v_2,\ldots,v_n), представленных в виде столбца.
$$v =\begin{bmatrix} v_1\\ v_2\\ \vdots\\ v_n \end{bmatrix}$$
Норма вектора \( v \) определяется как \(\sum_i v_i^2\). Вектор называется единичным вектором, если его норма равна 1.
Сопряженный вектор столбца \(v\) — это вектор строки, обозначаемый как \(v^\dagger\) и определяемый как сопряженнотранспонированный вектор \(v\). Для вектор-столбца $v$ размерности $n$ сопряжённый вектор является вектором-строкой размерности $1 \times n$:
$$\begin{bmatrix}v_1 \ \vdots \ v_n \end{bmatrix}^\dagger=\begin{bmatrix}v_1^* & \cdots& v_n^* \end{bmatrix}$$
где $v_i^*$ обозначает сложные конъюгаты $v_i$.
Используя линейную алгебру, состояние кубита $\psi= a \ket{0} + b \ket{1}$ описывается как вектор квантового состояния $\begin{bmatrix} a \ b \end{bmatrix}$, где $|a|^2 + |b|^2 = 1$. Для получения более подробной информации см. 'Кубит'.
Скалярный продукт
Два вектора могут быть умножены через скалярное произведение, также известное как точечное произведение или внутреннее произведение. Как подразумевает имя, результат скалярного продукта двух векторов является скалярным. Скалярный продукт дает проекцию одного вектора на другой и используется для выражения одного вектора в виде суммы других простых векторов. Скалярный продукт между двумя векторами-столбцами $u$ и $v$ обозначается как $\langle u, v\rangle= = u^* v $ и определяется как
$$\langle u, v \rangle = \begin{bmatrix} u_1^* & \cdots & u_n^* \end{bmatrix} \begin{bmatrix} v_1 \\ \vdots \\ v_n \end{bmatrix} = u_1^* v_1 + \cdots + u_n^* v_n.$$ $$
С скалярным продуктом норму вектора $v$ можно записать как $\sqrt{\langle v, v\rangle}$.
Можно умножить вектор на число $a$, чтобы получить новый вектор, элементы которого умножены на $a$. При сложении двух векторов $u$ и $v$ мы получим новый вектор, все элементы которого являются суммами соответствующих элементов $u$ и $v$. К этим операциям относятся:
$$ au+bv =\begin{bmatrix} au_1+bv_1\\ au_2+bv_2\\ \vdots\\ au_n+bv_n \end{bmatrix}$$
Матрицы
Матрица размером m на n представляет собой набор из m \cdot n комплексных чисел, расположенных в m строках и n столбцах, как показано ниже:
$$M =\begin{bmatrix} M_{11} M_{12}\cdots M_{1n}\\ M_{{21} M_{22}\cdots M_{2n}\\\ddots\\ M_{m1} M_{m2}\cdots M_{mn}\\\end{bmatrix}$$
Примечание.
Обратите внимание, что вектор размерности $n$ просто является матрицей размером $n \times 1$.
Квантовые операции представлены квадратными матрицами, то есть число строк и столбцов равны. Например, операции с одним кубитом представлены $2 \times 2$ матрицами, такими как операция Паули $X$.
$$X =\begin{bmatrix} 0 & 1 \\ 1 & 0 \end{bmatrix}$$
Совет
В Q# операции Паули $X$ представляется X операцией.
Как и векторы, можно умножить матрицу на число $c$, чтобы получить новую матрицу, в которой каждый элемент умножается на $c$, и две матрицы одного размера можно сложить для создания новой матрицы, элементы которой являются суммой соответствующих элементов двух матриц.
Умножение матриц
Можно также умножить матрицу $M$ размерностью $m \times n$ и матрицу $N$ размерностью $n \times p$, чтобы получить новую матрицу $P$ размерностью $m \times p$ следующим образом:
$$ \begin{ \begin{align} &\begin{bmatrix} M_{{11} M_{12}\cdots M_{1n}\\ M_{{21} M_{22}\cdots M_{2n}\\\ddots\\ M_{m1} M_{m2}\cdots M_{mn}\end{bmatrix}\begin{bmatrix} N_{{11} N_{{12}\cdots N_{1p}\\ N_{{21} N_{22}\cdots N_{2p}\\\ddots\\ N_{n1} N_{n2}\cdots N_{np}\end{bmatrix}=\begin{bmatrix} P_{{11} P_{12}\cdots P_{1p}\\ P_{21} P_{{22}\cdots P_{2p}\\\ddots\\ P_{m1} P_{m2}\cdots P_{mp}\end{bmatrix}\end{align}$$
где элементы $P$ обозначены как $P_{ik}=\sum_j M_{ij}N_{jk}$. Например, запись $P_{11}$ является скалярным произведением первой строки $M$ с первым столбцом $N$. Так как вектор является частным случаем матрицы, это определение применимо и к умножению матрицы на вектор.
Специальные типы матриц
Особым случаем квадратной матрицы является единичная матрица, обозначаемая $\mathbb{\mathbb{I}$. В этой матрице все элементы, находящиеся на диагонали, имеют значение $1$, а все остальные элементы имеют значение $0$:
$\mathbb{ \mathbb{I}=\begin{bmatrix} 1 0 \cdots 0\\ 0 0 \cdots 0\\\ddots\\ 0 0 \cdots 1 \end{bmatrix}.$
Для квадратной матрицы $A$, матрица $B$ является её обратной, если $AB = BA = \mathbb{I}\mathbb{I}$. Если матрица $A$ имеет обратную, обратная матрица уникальна и записывается как $A^{-1}$.
Для любой матрицы $M$ существует присоединенная (сопряженная) матрица $N$, для которой справедливо $N_{ij}= M_{ji}^*$. Сопряжённая $M$ обозначается $M^\dagger$.
Матрица $U$ называется унитарной, если $UU^\dagger= U^\dagger U =\mathbb{I}$ или (что эквивалентно) $U^{{-1}= U^\dagger$. Важным свойством унитарных матриц является то, что они сохраняют норму вектора. Это объясняется тем, что
$\langle v,v \rangle=v^{\dagger} v = v^{\dagger} U^{{-1} U v = v^{\dagger} U^{\dagger} U v =\langle U v, U v\rangle.$
Примечание.
Квантовые операции представлены унитарными матрицами, которые являются квадратными матрицами, чей соседство равно их обратному.
Матрица $M$ называется эрмитовой, если $M = M^\dagger$.
В квантовых вычислениях есть только две матрицы, которые могут вам встретиться: эрмитова и унитарная.
Тензорное произведение
Еще одной важной операцией является тензорный продукт, который также называется прямым произведением матриц или произведением Кронекера.
Рассмотрим два вектора $v=\begin{bmatrix}a \\ b \end{bmatrix}$ и $u =\begin{bmatrix} c \\ d \end{bmatrix}$. Тензорное произведение обозначено как $v \otimes u$, и его результатом является блочная матрица.
$$\begin{bmatrix}\\ b \end{bmatrix}\otimes\begin{bmatrix} c \\ d \end{bmatrix}=\begin{bmatrix}\begin{bmatrix} c \\ d \end{bmatrix} b \begin{bmatrix}\\ c \end{bmatrix}\end{bmatrix}=\begin{bmatrix} a c \\ d \\ a d \\ b c \end{bmatrix} b d $$
Примечание.
Обратите внимание, что тензорный продукт отличается от умножения матрицы, которая является совершенно другой операцией.
Тензорный продукт используется для представления объединенного состояния нескольких кубитов. Реальная мощность квантовых вычислений исходит от использования нескольких кубитов для выполнения вычислений. Дополнительные сведения см. в разделе Операции с несколькими кубитами.
Связанный контент
- Кубит
- Несколько кубитов
- Нотация Дирака
- Измерения Паули