你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
当你使用 Q# 时,你会发现 Pauli 测量 是一种常见的测量类型。 泡利测量将计算基测量进行了推广,使其涵盖其他基测量以及不同量子比特之间的奇偶性测量。 在这种情况下,通常讨论测量 Pauli 运算符,该运算符是 $X、Y、Z$ 或 $Z\otimes Z、X\otimes X、X\otimes Y$等运算符。 有关量子测量的基础知识,请参阅 量子比特 和 多个量子比特。
在量子纠错这个子领域中,用泡利算符来讨论测量是很常见的做法。
Q# 指南遵循类似的约定;本文介绍测量的这种替代视图。
提示
Q#中,多量子位 Pauli 运算符通常由类型为Pauli[]的数组表示。
例如,若要表示 $X \otimes Z \otimes Y$,可以使用数组 [PauliX, PauliZ, PauliY]。
在深入探讨如何考虑 Pauli 测量的详细信息之前,考虑量子计算机中对单个量子位的测量是如何影响量子态的,会很有用。 假设有一个 $n$ 量子比特的量子态;那么对其中一个量子比特进行测量会立刻排除掉该量子态原本可能处于的 $2^n$ 种可能性中的一半。 换句话说,该测量会将量子态投影到两个半空间中的某一个上。 可以通用化考虑度量的方式,以反映这种直觉。
为了简洁地识别这些子空间,需要用一种语言来描述它们。 要描述两个子空间,一种方式是通过恰好有两个唯一特征值的矩阵指定它们,该矩阵按照约定为 $\pm 1$。 有关按此方式描述子空间的简单示例,请考虑 $Z$:
$ \begin{ \begin{align} Z & =\begin{bmatrix} 1 & 0 \\ 0 & -1 \end{bmatrix}。 \end{align} $$
读取 Pauli-$Z$ 矩阵的对角元素时,可以看到 $Z$ 具有两个特征值,$\ket{0}$ 和 $\ket{1}$,其对应的特征值 $\pm 1$。
因此,如果量子比特的度量结果 Zero(对应于状态 $\ket{0}$),则已知量子比特的状态是 $Z$ 运算符的 $+1$ 特征。
同样,如果结果 One,则已知量子比特的状态是 $Z$的 $-1$ 特征。
在泡利测量术语中,此过程被称为“测量泡利算符 $Z$”,相当于执行一次计算基测量。
任何 $2\times 2$ 矩阵,只要是 $Z$ 的酉变换,都满足此条件。 也就是说,也可以使用一个矩阵 $A=U^\dagger Z U$,其中 $U$ 是任何其他酉矩阵,来给出一个在其 $\pm 1$ 特征向量中定义测量的两个结果的矩阵。 泡利测量的表示法通过将 $X、Y、Z$ 测量识别为可以从量子比特获取信息的等效度量来引用此统一等量。 为了方便起见,此处提供了这些度量值。
| 泡利测量 | 酉变换 |
|---|---|
| $Z$ | $\mathbf{1}$ |
| $X$ | $H$ |
| $Y$ | $HS^{\dagger}$ |
也就是说,用这种表述方式来讲,测量 $Y$& 相当于先应用 $HS^\dagger$,然后在计算基下进行测量,其中 S 是一种本征量子运算,有时被称为“相位门”,并且可以使用以下酉矩阵来模拟:
$ \begin{ \begin{align} S =\begin{bmatrix} 1 & 0 \\ 0 & i \end{bmatrix}。 \end{align} $$
它还相当于将 $HS^\dagger$ 应用于量子状态向量,然后测量 $Z$,使以下操作等效于 Measure([PauliY], [q]):
operation MeasureY(qubit : Qubit) : Result {
mutable result = Zero;
within {
Adjoint S(q);
H(q);
} apply {
result = M(q);
}
return result;
}
然后,通过转换回计算基来找到正确的状态,这相当于对量子态矢量应用 $SH$;在代码片段中,使用 within … apply 代码块会自动处理转换回计算基的操作。
在 Q# 中,结果,也就是从与该量子态相互作用中提取出的经典信息,是通过一个 Result 值 $j \in \{\texttt{Zero}、\texttt{One}\}$ 给出的,该值表明结果是否处于所测量的泡利算符的 $(-1)^j$ 本征空间中。
多量子比特测量
多量子比特泡利算符的测量也以类似的方式定义,如下所示:
$ Z\otimes Z =\begin{bmatrix}1 &0 &0&0\\ 0&-1&0&0\\ 0&0&-1&0\\ 0&0&0&1\end{bmatrix}。 $$
因此,两个 Pauli-$Z$ 运算符的张量积形成一个由两个空间组成的矩阵,空间包含 $+1$ 和 $-1$ 特征值。 与单量子比特情况一样,两者都构成 半空间,这意味着可访问向量空间的一半属于 $+1$ 特征空间,其余一半属于 $-1$ 特征空间。 一般来说,从张量积的定义来看,任何 Pauli-$Z$ 运算符的任何张量积和恒等式也遵循这一点。 例如,
$ \begin{align} Z \otimes\mathbf{{1}=\begin{bmatrix} 1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & -1 & 0 \\ 0 & 0 & 0 & -1 \end{bmatrix}。 \end{align} $$
与以前一样,此类矩阵的任何一元转换也描述了两个用 $\pm 1$ 特征值标记的半空格。 例如,从恒等式 $Z=HXH$ 等出 $X\otimes X = H\otimes H(Z\otimes Z)H\otimes H$。 与单量子比特的情况类似,对于 $4\times 4$酉矩阵$U$,所有双量子比特泡利测量值都可以写成 $U^\dagger (Z\otimes 1) U$。 下表中列举了变换。
注意
在此表中,$\operatorname{SWAP}$ 用于指示矩阵$$\begin{align}\operatorname{ SWAP}& =\left(\begin{矩阵} 1 & 0 & 0 & 0 \\ 0 & 0 & 1 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & 0 & 1 \end{矩阵}\right)\end{align}$$用于模拟内在运算 SWAP。
| 泡利测量 | 酉变换 |
|---|---|
| $Z\otimes\mathbf{1}$ | $\mathbf{1}\otimes \mathbf{1}$ |
| $X\otimes\mathbf{1}$ | $H\otimes\mathbf{1}$ |
| $Y\otimes\mathbf{1}$ | $HS^\dagger\otimes\mathbf{1}$ |
| $\mathbf{1}\otimes Z$ | $\operatorname{SWAP}$ |
| $\mathbf{1}\otimes X$ | $(H\otimes\mathbf{1})\operatorname{SWAP}$ |
| $\mathbf{1}\otimes Y$ | $(HS^\dagger\otimes\mathbf{1})\operatorname{SWAP}$ |
| $Z\otimes Z$ | $\operatorname{CNOT}_{10}$ |
| $X\otimes Z$ | $\operatorname{CNOT}_{10}(H\otimes\mathbf{1})$ |
| $Y\otimes Z$ | $\operatorname{CNOT}_{10}(HS^\dagger\otimes\mathbf{1})$ |
| $Z\otimes X$ | $\operatorname{CNOT}_{10}(\mathbf{1}\otimes H)$ |
| $X\otimes X$ | $\operatorname{CNOT}_{10}(H\otimes H)$ |
| $Y\otimes X$ | $\operatorname{CNOT}_{10}(HS^\dagger\otimes H)$ |
| $Z\otimes Y$ | $\operatorname{CNOT}_{10}(\mathbf{1}\otimes HS^\dagger)$ |
| $X\otimes Y$ | $\operatorname{CNOT}_{10}(H\otimes HS^\dagger)$ |
| $Y\otimes Y$ | $\operatorname{CNOT}_{10}(HS^\dagger\otimes HS^\dagger)$ |
在这里,由于以下原因,会出现 CNOT 操作。
根据前面的推理,每个不包括 $\mathbf{1}$ 矩阵的泡利测量都等价于 $Z\otimes Z$ 的酉。
$Z\otimes Z$ 的特征值仅取决于构成每个计算基向量的量子比特的奇偶性,受控非门操作用于计算这种奇偶性并将其存储在第一个比特中。
然后,一旦测量了第一个比特,就可以恢复所得半空间的恒等式,这相当于测量泡利算符。
此外,虽然可能会认为测量 $Z\otimes Z$ 与按顺序测量 $Z\otimes\mathbb{{1}$ 然后测量 $\mathbb{1}\otimes Z$是相同的,但这一假设是错误的。 原因是测量 $Z\otimes Z$ 会将量子态投影到这些运算符的 $+1$ 或 $-1$ 特征状态。 依次测量 $Z\otimes\mathbb{1}$ 和 $\mathbb{1}\otimes Z$ 会将量子状态向量先投影到 $Z\otimes\mathbb{{1}$ 的一半空间,然后再投影到 $\mathbb{{1}\otimes Z$ 的一半空间。 由于有四个计算基向量,执行两种测量会将状态缩减到四分之一的空间,因此将其缩减为单一计算基向量。
量子位之间的关联
另一种观察保利矩阵的张量产品(如 $X\otimes X$ 或 $Z\otimes Z$)的另一种方法是,这些度量让你可以查看存储在两个量子比特之间的相关性中的信息。 通过测量 $X\otimes 1$ ,可以查看存储在第一个量子比特中本地的信息。 虽然在量子计算中,这两种类型的测量同样都很有价值,但前者展示了量子计算的强大功能。 它表明,在量子计算中,你希望了解的信息通常不会存储在任何单个量子比特中,而是以非局部的方式储存在所有量子比特中。因此,只有通过联合测量(例如,$Z\otimes Z$)才能使这些信息显现出来。
也可以测量任意 Pauli 运算符(如 $X\otimes Y \otimes Z \otimes\mathbf{1}$ )。 泡利算符的任何此类张量积都只有两个本征值 $\pm 1$,并且两个本征空间都构成了整个向量空间的半空间。 因此,它们与前面所述的要求相吻合。
在 Q# 中,如果测量在符号 $(-1)^j$ 的特征空间中生成结果,那么这类测量会返回 $j$。 在 Q# 中将泡利测量作为内置特性很有帮助,因为测量这类算符需要一长串的受控 NOT 门以及基变换,以便描述将该运算表示为 $Z$ 和 $1$ 的张量积时所需的对角化 $U$ 门。 如果能够指定你想要进行这些预定义测量中的某一项,你就无需担心如何变换基,以便让计算基测量提供必要的信息。 Q# 会为你自动处理所有必要的基变换。
不可克隆定理
量子信息很强大。 这使你能够完成一些令人惊叹的事情,例如以比目前最优秀的经典算法快指数级的速度对数字进行因式分解,或者高效地模拟那些在经典计算中需要耗费指数级成本才能准确模拟的关联电子系统。 不过,对量子计算的功能也有一些限制。 一个这类限制是由不可克隆定理导致的。
不可克隆定理恰如其名。 它禁止量子计算机克隆一般的量子态。 该定理的证明非常简单。 虽然没有克隆定理的完整证明对于本文来说太技术,但在没有额外的辅助量子比特的情况下证明在范围内。
对于此类量子计算机,必须使用单一矩阵来描述克隆操作。 不允许进行量子测量,因为它会破坏要克隆的量子态。 为了模拟克隆操作,使用的酉矩阵需具有这样的属性:对于任何状态,$$ U \ket{\psi}\ket{{0}=\ket{\psi}\ket{\psi}$$$$。 矩阵乘法的线性性质随后意味着,对于任何第二个量子态 $\ket{\phi}$,
$ \begin{ \begin{align} U \left[ \frac{{1}{\sqrt{{2}}\left(\ket{\phi}+\ket{\psi}\right) \right] \ket{{0}& =\frac{1}{\sqrt{2}} U\ket{\phi}\ket{{0} + \frac{1}{\sqrt{{2}} U\ket{\psi}\ket{0}\\& =\frac{1}{\sqrt{2}}\left( \ket{\phi}\ket{\phi} + \ket{\psi}\ket{\psi}\right) \\& \ne\left( \frac{{1}{\sqrt{{2}}\left(\ket{\phi}+\ket{\psi}\right) \right) \otimes\left( \frac{1}{\sqrt{{2}}\left(\ket{\phi}+\ket{\psi}\right) \right). \end{align} $$
这提供了不可克隆定理背后的基本直觉:任何复制未知量子态的设备在复制的某些状态中必然会产生错误。 虽然可通过添加和测量辅助量子比特来违背克隆程序以线性方式作用于输入状态的关键假设,但这种交互也会通过测量统计信息泄露系统相关信息并在这种情况下阻止精确克隆。
不可克隆定理对定性了解量子计算来说很重要,因为如果你可克隆量子态且费用不高,那么你就能获得一种近乎魔法的力量来从量子态中学到信息。 的确,你可能会违背海森堡宣扬的不确定性原理。 或者,你可使用最优克隆程序来从复杂的量子分布中获取一个示例,并学习你可能从一个示例中学到的关于该分布的一切知识。 这就像你抛硬币,观察正面,然后告诉朋友结果,他们的反应是&“啊,那枚硬币的分布一定是 Bernoulli $p=0.512643\ldots$!&“;这样的说法是没有意义的,因为如果没有大量的先验信息,一个比特的信息(正面结果)根本无法提供编码分布所需的许多比特的信息。 同样,如果没有先前的信息,你不能完全克隆量子状态,就像你不能在不知道 $p$的情况下准备这样一组硬币。
在量子计算中,信息不是免费的。 测量的每个量子比特都提供一个比特的信息,No-Cloning 定理表明,没有后门可以被利用来绕过系统信息和其被扰动之间的基本权衡。