operation MeasureY(qubit : Qubit) : Result {
mutable result = Zero;
within {
Adjoint S(q);
H(q);
} apply {
set result = M(q);
return result;
然后,通过转换回计算基础来找到正确的状态,这相当于 $将 SH$ 应用于量子状态向量;在代码片段中,通过使用 块自动处理回到计算基础的 within … apply
转换。
在 Q#中,结果---也就是说,从与状态交互中提取的经典信息---使用 Result
值 $j \in \{\texttt{Zero}, \texttt{One}\}$ 给定,该值指示结果是否在 $ 测量的 Pauli 运算符的 (-1) ^j$ 特征空间中。
多量子比特测量
多量子比特 Pauli 运算符的测量具有类似定义,如下所见:
$$ 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{1}\begin{bmatrix}\mathbf{=1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & -1 & 0 \\ 0 & 0 & 0 amp; 0 & -1 。\end{bmatrix}
\end{align}
与以前一样,此类矩阵的任何酉变换也会描述两个 $标记为 \pm 1$ 特征值的半空格。
例如,来自 $Z=HXH$ 的恒等式的 $X\otimes X = H\otimes H(Z\otimes Z)H\otimes H$。
与单量子比特的情况类似,对于 4 4\times$$ 酉矩阵 U,所有双量子比特 Pauli 测量都可以编写为 $U^\dagger (Z\otimes 1) $$U。$
下表中列举了变换。
在此表中,$\operatorname{SWAP}$ 用于指示矩阵\begin{align}$$\operatorname{ SWAP}& =\left (\begin{矩阵} 1 & 0 & 0 & 0 \\ amp; 0 & 0 & 1 & 0 \\ 0 & 1 & 0 amp; 0 &0 amp; 0 \\ 0 & 0 & 0 & 1 \end{矩阵}\right) \end{align}$$ 模拟固有运算SWAP
。
在这里,由于以下原因,会出现 CNOT
操作。
通过前面的推理, $\mathbf{1}$ 不包括矩阵的每个 Pauli 度量最多相当于一个酉一到 $Z\otimes Z$ 。
$Z\otimes Z$ 的特征值仅取决于由每个计算基向量构成的量子比特的奇偶校验,而受控非操作用于计算此奇偶校验并将它存储在第一个比特中。
然后,在测量第一个比特后,可恢复所生成的对半空间的恒等式,这相当于测量 Pauli 运算符。
此外,虽然假设测量 Z Z 与按顺序测量 $Z\otimes 相同,然后再\otimes$\mathbb{1}测量 $Z{1}$\otimes$\mathbb{ 可能很诱人,但此假设是错误的。$
原因是测量 $Z\otimes Z$ 会将量子态投影到这些运算符的 $+1$ 或 $-1$ 特征状态。
依次测量 $Z\otimes\mathbb{1}$ 和 $\mathbb{1}\otimes Z$ 会将量子状态向量先投影到 $Z\otimes\mathbb{{1}$ 的一半空间,然后再投影到 $\mathbb{{1}\otimes Z$ 的一半空间。
因此有四个计算基向量,执行两个测量会将状态投影到一个只占 1/4 的空间,因此将它缩减到单个计算基础向量。
量子位之间的关联
要查看如何测量 Pauli 矩阵(例如 $X\otimes X$ 或 $Z\otimes Z$)的张量积,还有一种方法是通过这些测量查看存储在两个量子比特之间的相关性中的信息。
通过测量 $X\otimes 1$ ,可以查看本地存储在第一个量子比特中的信息。
虽然在量子计算中,这两种类型的测量同样都很有价值,但前者展示了量子计算的强大功能。
它揭示出在量子计算中,你想要了解的信息通常并非存储在单个量子比特中,而是以非本地的形式同时存储在所有量子比特中,因此仅通过联合测量(例如 $Z\otimes Z$)来查看就能使该信息变为清单。
还可测量 $X\otimes Y \otimes Z \otimes\mathbf{1}$ 等任意 Pauli 运算符。
Pauli 运算符的任何这类张量积都只有两个特征值 $\pm 1$,而且两个特征空间由整个向量空间各占一半的空间构成。
因此,它们与前面所述的要求一致。
在 Q# 中,如果测量在符号 $(-1)^j$ 的特征空间中生成结果,那么这类测量会返回 $j$。
将 Pauli 度量作为内置功能Q#非常有用,因为测量此类运算符需要长链受控-NOT 门和基础转换来描述将运算表示为 Z$ 和 $1$ 的$张量乘积所需的对角化 $U$ 门。
通过能够指定你希望执行上述某一预定义的测量,你无需担心如何变换你的基来使计算基测量提供必要的信息。
Q# 会为你自动处理所有必要的基变换。
不可克隆定理
量子信息很强大。
它使你能够以指数级快于已知经典算法执行因子数等令人惊奇的事情,或者有效地模拟传统需要指数成本才能准确模拟的相关电子系统。
不过,对量子计算的功能也有一些限制。
一个这类限制是由不可克隆定理导致的。
不可克隆定理恰如其名。
它禁止量子计算机克隆一般的量子态。
该定理的证明非常简单。
虽然对于本文来说,非克隆定理的完整证明过于技术性,但在没有其他辅助量子比特的情况下,证明在范围内。
对于此类量子计算机,必须使用单一矩阵描述克隆操作。
不允许进行量子测量,因为它会破坏要克隆的量子态。
为了模拟克隆操作,所使用的酉矩阵需具有这样的属性:任何状态 $\ket{\psi}$ 的 $$ U \ket{\psi}\ket{{0}=\ket{\psi}\ket{\psi}$$。
矩阵乘法的线性性质随后意味着,对于任何第二个量子态 $\ket{\phi}$,
$$\begin{\begin{align}U \left[ \frac{{2}}\left{1}{\sqrt{ (\ket{\phi}+\ket{\psi}\right) \right]{0}&\ket{ amp; =\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}\right\ket{\psi}) \\& ( \ne{2}}\left{1}{\sqrt{\left\frac{ (\ket{\phi}+\ket{\psi}\right) \right) \otimes\left ({2}}\left\frac{1}{\sqrt{ (\ket{\phi}+\ket{\psi}\right) \right) 。
\end{align}
这提供了不可克隆定理背后的基本的直觉:任何复制未知量子态都必然在其复制的至少部分状态中引发错误。
虽然可通过添加和测量辅助量子比特来违背克隆程序以线性方式作用于输入状态的关键假设,但这种交互也会通过测量统计信息泄露系统相关信息并在这种情况下阻止精确克隆。
不可克隆定理对定性了解量子计算来说很重要,因为如果你可克隆量子态且费用不高,那么你就能获得一种近乎魔法的力量来从量子态中学到信息。
的确,你可能会违背海森堡宣扬的不确定性原理。
或者,你可使用最优克隆程序来从复杂的量子分布中获取一个示例,并学习你可能从一个示例中学到的关于该分布的一切知识。
这就像你翻硬币和观察头,然后告诉朋友的结果,让他们回应 &报价:啊, 该硬币的分布必须是伯努利与 $p=0.512643\ldots$!"这种说法是毫无意义的,因为一位信息 (头部结果) 根本无法提供在没有大量事先信息的情况下编码分布所需的许多信息。
同样地,如果没有先验信息,人们就无法完美地克隆一个量子态,就像无法在不知道 $p$ 的情况下准备这种硬币的集成一样。
在量子计算中,信息不是免费的。
测量到的每个量子比特提供一个比特的信息,而不可克隆定理显示必须在所获得的系统信息与在系统上引发的干扰之间进行基本权衡,没有捷径可以避开这一点。
T 门和 T 工厂
量子预言机
Grover 算法
Coming soon: Throughout 2024 we will be phasing out GitHub Issues as the feedback mechanism for content and replacing it with a new feedback system. For more information see: https://aka.ms/ContentUserFeedback.
提交和查看相关反馈