你当前正在访问 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}^\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 之间的标量乘积表示为 $\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$ 的总和。 这些运算如下:
$ au+bv =\begin{bmatrix} au_1+bv_1\\ au_2+bv_2\\ \vdots\\ au_n+bv_n \end{bmatrix}$
矩阵
大小 m n 的矩阵是按 $m 行和 $n$ 列排列的 m$\cdot n$ 复数的$集合,如下所示:$\times$
$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 个 2$ 个矩阵表示,如 Pauli $X$\times 运算
$$X =\begin{bmatrix} 0 & 1 1 \\& 0 \end{bmatrix}$$
提示
在中 Q#,Pauli $X$ 操作由 X
该操作表示。
与向量一样,可以将矩阵与数字 $c$ 相乘,以获取一个新矩阵,其中每个条目与 $c$ 相乘,并且可以添加两个大小相同的矩阵来生成一个新矩阵,其条目是两个矩阵的相应条目的总和。
矩阵乘法
还可以将维度 $m \times n$ 的矩阵 $M$ 乘以维度 $n \times p$ 的矩阵 $N$,得到维度 $m \times p$ 的新矩阵 $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_是 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 \end{bmatrix}=\begin{bmatrix} a \begin{bmatrix} c \\ d \end{bmatrix} b \begin{bmatrix} c \\ d \end{bmatrix}\end{bmatrix}=\begin{bmatrix} a c \\ a d \\ b c \\ b d \end{bmatrix}$$
注意
请注意,张量积不同于矩阵乘法,这是一个完全不同的运算。
张量积用于表示多个量子比特的组合状态。 量子计算的真正力量来自利用多个量子比特来执行计算。 有关详细信息,请参阅 针对多个量子比特的操作。