你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

量子计算中的向量和矩阵

一些熟悉线性代数对于了解量子计算至关重要。 本文介绍了线性代数的基本概念,以及如何在量子计算中使用向量和矩阵。

矢量化

一个列向量,或维度(或大小)$n 的短 $v$ 的向量是 n$ 个复数$(v_1,v_2,\ldots,v_n)的$集合,$排列为$列:

$$v=\begin{bmatrix} v_1\\ v_2\\ \vdots\\ v_n \end{bmatrix}$$

向量 $v$ 的范数定义为 $\sqrt{\sum_i |v_i|^2}$。 如果矢量的规范为 1,则称为单位向量。$$

列向量 v$ 的相邻是一个表示为 $v^\dagger$ 的行向量$,定义为 v$ 的$串联转置。 对于维度 $n 的列向量 $v$,相邻是维度 $1 \times n$ 的行向$量:

$$\begin{bmatrix}v_1 \\ \vdots \\ v_n \end{bmatrix}^v_1^=\begin{bmatrix}\dagger* & \cdots&放大 器;v_n^*\end{bmatrix}$$

其中$,v_i^*$ 表示v_i$的复杂串联$。

使用线性代数,量子比特 $=\psia \ket{0} + b \ket{1}$ 的状态描述为 b \end{bmatrix}$的量子态向量\\$\begin{bmatrix},其中|$|^2 + |b|^2 = 1。$ 有关详细信息,请参阅 量子比特

标量产品

可以通过标量积(也称为点积内部积)将两个向量相乘。 顾名思义,两个向量标量乘积的结果是标量。 标量乘积将一个向量投影到另一个向量上,并用于将一个向量表示为其他更简单向量的总和。 两个列向量 u 和 v 之间的标量乘积表示为 $\left\langle u、v\right\rangle= u^\dagger v $ 并定义为$ $$ $

$$\left\langleu、v\right\rangle= u^\dagger v=\begin{bmatrix}u_1^* & \cdots&放大 器;u_n^* v_1 \vdots\\ v_n\\ u_1\end{bmatrix}=^* \end{bmatrix}\begin{bmatrix}v_1 + \cdots u_n^* v_n。 $$

使用标量乘积,矢量 $v$ 的规范可以编写为 $\sqrt{\langle v、v\rangle}$。

可以将向量与一个数字$$相乘,以形成一个新向量,其条目乘以 $a$。 还可以添加两个向量 $u$ 和 $v$,以形成新的向量,其每项是 $u$ 和 $v$ 的总和。 这些运算如下:

$$\mathrm{如果 u u_1 u_2 \vdots\\ u_n\end{bmatrix}~\mathrm{和}~ v =\begin{bmatrix}\\ v_1 v_2\\ \vdots\\ v_n\end{bmatrix},~\mathrm{则}~ au+bv =\begin{bmatrix} au_1+bv_1 au_2+\\bv_2\\ \vdots\\ au_n+bv_n\\\\ =\begin{bmatrix}}~\end{bmatrix}$$

矩阵

大小 m n 的矩阵是按 $m 行和 $n$ 列排列的 m$\cdot n$ 复数的$集合,如下所示:$ \times $

$M =\begin{bmatrix} M_~~{{12}\cdots~~~~{11} M_ M_{1n}\\{{21}~~ M_ M_\cdots{22}~~{~~ M_{2n}\\\ddots\\ M_{m1}~~ M_{m2~~\cdots}~~ M_{mn}\\\end{bmatrix}$

注意

请注意,维度$ n $ 的向量只是一个$ n \times 1 $ 大小的矩阵。

量子运算由 平方矩阵表示,即行数和列数相等。 例如,单量子比特运算由 $2 个 2$ 个矩阵表示,如 Pauli $X$ \times 运算

$$X =\begin{bmatrix} 0 & 1 1 \\ & 0 \end{bmatrix}$$

提示

在中 Q#,Pauli $X$ 操作由 X 该操作表示。

与向量一样,可以将矩阵与数字 $c$ 相乘,以获取一个新矩阵,其中每个条目与 $c$ 相乘,并且可以添加两个大小相同的矩阵来生成一个新矩阵,其条目是两个矩阵的相应条目的总和。

矩阵乘法

还可以将维度 m n 的矩阵 $M$ 和维度 $n \times p$ 的矩阵 $N$ 乘以获取维度 $m \times p 的新矩阵 $P$$,如下所示:$\times $

$$\begin{\begin{align}&放大 器;\begin{bmatrix}M_{{12}~~{11}~~\cdots~~ M_ M_{1n M_{{21}~~ M_~~~~{22}{\cdots M_{2n}\\{}\\\ddots\\ M_m1{}~~ M_m2\cdots~~{~~} M_mn\end{bmatrix}{12}{~~~~{11}}\cdots\begin{bmatrix}{~~ N_ N_ N_1p{21}{{22}}\\{~~~~~~\cdots N_N_N_2p\ddots\\}\\ N_{n2 N_n2\cdots~~~~} N_{np}\end{bmatrix}=\begin{bmatrix}~~{} P_ P_{{11}~~{12}~~\cdots~~{P_1p}\\ P_{~~{21} P_ P_\cdots{{22}~~{~~2p}\\\ddots\\ P_{m1}~~ P_{m2~~\cdots}~~ P_mp{}\end{bmatrix}\end{align}$$

其中 $P$ 的每项为 $P_{ik}=\sum_j M_{ij}N_{jk}$。 例如,条目$P_是 M$ 第一行的$标量乘积,第一列为 $N${11}$。 请注意,由于向量只是矩阵的一种特殊情况,因此此定义可延伸到矩阵向量乘法。

特殊类型的矩阵

一个特殊的方块矩阵是表示为 $\mathbb{\mathbb{I}$ 的单位矩阵,其中所有对角线元素均等于 $1$,剩余元素等于 $0$:

$\mathbb{\mathbb{I}=\begin{bmatrix} 1 ~~ 0 ~~\cdots~~ 0\\ 0 ~~ 1 ~~\cdots~~ 0\\~~\ddots\\ 0 ~~ 0 ~~\cdots~~ 1 \end{bmatrix}.$

对于平方矩阵 $A$,如果 $AB = BA\mathbb{\mathbb{I}$=,则矩阵 $B$ 是其反函数。 如果矩阵 A$ 具有逆矩阵$,则反矩阵是唯一的,并且以 A^{-1}$的形式$写入。

对于任意矩阵 $M$,$M$ 的伴随或共轭矩阵是 $N$ 矩阵,例如 $N_{ij}= M_{ji}^*$。 M$ 的$相邻表示 M$^\dagger$。

如果 $UU^\dagger= U^\dagger U =\mathbb{I}$ 或者 $U^{{-1}= U^\dagger$,则 $U$ 是幺正矩阵。 幺正矩阵最重要的一个属性是它们保留向量的范数。 发生这种情况的原因如下:

$\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\dagger$=^,则矩阵 $M$ 称为 Hermitian

在量子计算中,基本上只会遇到两个矩阵:厄米特矩阵和酉矩阵。

张量积

另一个重要操作是 张量乘积,也称为 矩阵直接积克朗克产品

请考虑两个向量 $v=\begin{bmatrix}a \\ b \end{bmatrix}$ 和 $u =\begin{bmatrix} c \\ d \end{bmatrix}$。 它们的克罗内克积表示为 $v \otimes u$,并生成一个分块矩阵。

$$\begin{bmatrix}a \\ b \end{bmatrix}\otimes\begin{bmatrix} c d a \begin{bmatrix} c \\ \\ d=\end{bmatrix}\begin{bmatrix} \end{bmatrix}\\[1.5em] b \begin{bmatrix} c \\ d\begin{bmatrix}=\end{bmatrix}\end{bmatrix} a c \\ a d \\ b c \\ b d\end{bmatrix}$$

注意

请注意,张量积不同于矩阵乘法,这是一个完全不同的运算。

张量积用于表示多个量子比特的组合状态。 量子计算的真正力量来自利用多个量子比特来执行计算。 有关详细信息,请参阅 针对多个量子比特的操作。

两个平方矩阵 M 和 $n 个$大小的 $N\times 的张量乘积是大小$为 n^2 n^2$\times 的较大矩阵 $P=M\otimes N$。$$ $ 例如:

$$\begin{bmatrix}a\ b \\ c\ d \end{bmatrix}\otimes\begin{bmatrix} e\ f\\ g\ h=\begin{bmatrix} \end{bmatrix}a\begin{bmatrix} e\ f\\ g\ \end{bmatrix} h b\begin{bmatrix} e\ f\\ g\ h\\\end{bmatrix} [1em] c\begin{bmatrix} e\ f g\ h \end{bmatrix} d e\ f\\\\ g\ h \end{bmatrix}\begin{bmatrix}\end{bmatrix}=ae\ af\ be\ bf \\ ag\ ah\ bg\ bh \\ ce\ cf\ de\ df \\ cg\ ch\ dg\begin{bmatrix}\ dh.\end{bmatrix} $$

特征值和特征向量

考虑一个平方矩阵 $M$ 和向量 $v$。 向量 $v$ 是 $M$ 的一个特征向量(如果对于某个数 $c$,$Mv = cv$)。 整数 $c$ 是对应于特征向量 $v$ 的特征值

一般来说,矩阵 $M$ 可以将某个向量转换为任何其他向量。 特征函数很特殊,因为它保持不变,只是乘以一个数字。 如果 $v$ 是具有特征值 c$ 的特征性函数,则 $av$ 也是具有相同特征值$的任何非零值(对于任何非零$值$)。 例如,对于恒等矩阵,每个向量 $v$ 都是一个特征值为 $1$ 的特征向量。

另举一例,考虑一个对角矩阵$ D$,它在对角线上只有非零项

$$\begin{bmatrix}&d_1 amp; 0 & 0 amp; 0 &\\ amp; d_2 & 0 \\ amp; 0 & 0 & d_3\end{bmatrix}。 $$

向量

$$\begin{bmatrix}1 \\ 0 \\ 0 \end{bmatrix}, \begin{bmatrix}0 \\ 1 \\ 0\end{bmatrix}\text{ 和 }\begin{bmatrix}0 \\ 0 \\ 1\end{bmatrix}$$

是此矩阵的特征向量,特征值分别是 $d_1$、$d_2$ 和 $d_3$。 如果 $d_1$、$d_2$ 和 $d_3$ 是不同的数,则这些向量(及其倍数)就是矩阵 $D$ 的唯一特征向量。

通常,对角矩阵的特征值和特征向量是很容易读出的。 特征值是所有出现在对角线上的数字,它们各自的特征向量是单位向量,其中一个项等于 $1$,其余的项等于 $0$。

请注意,D$ 的特征函数$构成$三$维向量的基础。 基底是一组向量,这使得任何向量都可被编写为它们的线性组合。 更明确地说,如果对于某些数字 $a_1$、$a_2$ 和 $a_3$,任意向量 $v$ 可被编写为 $v=a_1 v_1 + a_2 v_2 + a_3 v_3$,则 $v_1$、$v_2$ 和 $v_3$ 构成了一个基底。